لینوکس و من

تغییر Theme و libadwaita

بعد از یک سال بالاخره اومدیم بنویسیم... smiley

تغییرات زیادی طی یک سال گذشته در دسکتاپ های لینوکسی اتفاق افتاده. به خصوص گنوم که دیگه به سمت GTK4 رفته و سیستم تم برنامه هاش از libadwaita استفاده می کنن. بنابراین اگر شما یک تم رو دانلود کنید و از طریق Tweaks اون رو اعمال کنید فقط روی برنامه هایی که از سیستم gtk استفاده میکنن اعمال میشه و روی برنامه های گنوم مثل Files که از libadwaita استفاده میکنه اعمال نمیشه.

مثل همیشه باید چند ماهی رو منتظر بمونیم تا نسخه های جدید دسکتاپ ها و کتابخانه ها منتشر بشن تا یک راه حل جامع و اصولی برای این قضیه پیدا بشه. اما تا اون موقع ما میتونیم به کمک یک اسکریپت ساده و با مزه این مشکل رو دور بزنیم و تم دلخواهمون رو برای برنامه هایی که از libadwaita استفاده میکنن اعمال کنیم.

عکس زیر Files هست که از تم Monotheme استفاده میکنه

 

اسکریپت رو میتونید از گیتهاب دانلود کنید و طبق دستورالعمل اون رو اجرا کنید. بسیار ساده است. در آخر هم میتونید یک alias براش درست کنید تا هر زمان که خواستید با یک دستور ساده اون رو اجرا کنید.

نکته: با این کار دیگه سوییچ بین حالت dark و light که بطور پیشفرض در gnome 43 گذاشته شده عمل نمیکنه. برای اینکه تم دارک استفاده کنید باید خودتون تم دارک رو انتخاب کنید (مثل قدیم)

تغییر زبان کیبورد در گنوم ۴۰

با آپدیت به گنوم ۴۰ تغییر زبان کیبورد با سوییچ Alt+Shift کار نمیکنه و با سوییچ پیشفرض Super+Space فقط کار میکنه. برای رفع این موضوع میتونیم با gsettings مقادیر زیر رو تغییر بدیم:

gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Shift>Alt_L']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Alt>Shift_L']"

 

راه اندازی سرور DLNA در لینوکس

سرور DLNA به شما اجازه میده که به صورت ریموت به فایلهای اون سرور دسترسی (خواندن) داشته باشید. توی آندروید هم میشه از تنظیمات گوشی و یا با نرم افزارهایی سرور DLNA راه انداخت و مثلا با تلوزیون اسمارت یا دانگلها به فایلهای گوشی دسترسی داشت و مثلا فیلم روی گوشی یا کامپیوتر رو پخش کرد.

اگر در خونه تلوزیون اسمارت دارید و میخواید فیلم یا موسیقی ای رو که روی کامپیوتر لینوکسیتون هست توی تلوزیون پخش کنید، کافیه ابزار minidlna رو نصب کنید و تنظیمات مربوط به اون رو توی فایل کانفیگش اعمال کنید.

sudo gedit /etc/minidlna.conf

در فایل تنظیمات مقادیر زیر رو با توجه به فولدرهای خودتون تغییر بدید و بنویسید:

media_dir=A,/home/user/Music    # Use A, P, and V to restrict media 'type' in directory
media_dir=P,/home/user/Pictures
media_dir=V,/home/user/Videos
friendly_name=Laptop            # Optional
db_dir=/var/cache/minidlna      # Needs to be un-commented
log_dir=/var/log                # Needs to be un-commented
inotify=yes                     # 'no' for less resources, restart required for new media

و بعد سرویس minidlna رو با توجه به نوع سیستمی که دارید راه اندازی کنید

systemctl start minidlna

و میتونید سرویس minidlna رو در موقع بوت run کنید تا همیشه آماده باشه

systemctl enable minidlna

با این کار اگر تلوزیون و کامپیوتر شما به یک شبکه متصل باشن،‌ در لیست input های تلوزیون اسم کامپیوترتون رو میبینید و میتونید فیلمها و موسیقی ها و تصاویر رو پخش کنید. 

چطور بفهمیم با Wayland هستیم یا Xorg

ممکنه به هر دلیلی بخواید چک کنید الان که به دسکتاپ لاگین کردید با Xorg بوده یا Wayland. کافیه دستور زیر رو در ترمینال وارد کنید:

loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'

یا به راحتی یک alias براش درست کنید

alias wox="loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'"

 

shutdown طولانی در آپدیت جدید Manjaro 20.2

بعد از آپدیت مانجارو به نسخه 20.2 و تغییرات اندکی که در دسکتاپ گنوم در نسخه ۳.۳۸ داشت متوجه شدم که موقع shutdown یا restart ۲ دقیقه طول میکشه.

در بررسی لاگ ها به جایی نرسیدم. درواقع انگار همه چیز مربوط میشد به tracker گنوم، ولی با دور زدن اون هم تغییری اتفاق نمی افتاد. تا اینکه با کلی سرچ و فروم خوندن متوجه شدم که به خاطر یک سری ناهماهنگی های تکنیکی (که فرصت نوشتن و سوادش رو هم البته ندارم) قضیه مربوط میشه به نحوه ارتباط گنوم با systemd.

فعلا با اضافه کردن عبارت زیر:

[Service]
Slice=-.slice

درست قبل از عبارت ### Lines below this comment will be discarded در فایل زیر:

systemctl edit --user gnome-session-restart-dbus.service

این مشکل برطرف میشه. 

البته این مشکل میتونه دلایل متنوعی داشته باشه و لزوما مربوط به این قضیه نباشه. ولی اگر شما هم بعد از آپدیت مانجارو به این مشکل برخوردید بد نیست این رو امتحان کنید.

رابط گرافیکی تحت وب برای دانلودر aria2 (ویرایش شد)

از قدیم الایام دسکتاپ های لینوکسی از نداشتن یک دانلود منیجر گرافیکی خوب که کار خودش رو به خوبی انجام بده رنج می بردند! البته نمونه هایی وجود دارند، مثل uget، xdm و این اواخر persepolis که با تلاش توسعه دهنده ی ایرانی آقای امیرصمیمی تونسته توی خیلی از توزیع ها جای خودش رو باز کنه. و انصافا هم موفق بوده.

اما در این مطلب میخوام دو برنامه خیلی جالب معرفی کنم که رابط گرافیکی aria2 هستند، اما تحت وب کار میکنن: webui-aria2 و AriaNG

درواقع اینها اسکریپت هایی هستند که با کمک اونها میتونیم روی دانلودهایی که با aria2 میکنیم کنترل گرافیکی داشته باشیم. یعنی اگر شما در کامندلاین هم مشغول دانلود یک فایل با aria2 هستید، همون رو توی محیط گرافیکی این اسکریپت ها هم خواهید دید.

اول بریم سراغ webui-aria2

میتونید با رفتن به صفحه github این پروژه، اون رو دانلود و کامپایل کنید. اما در آرچ میتونید به راحتی بسته webui-aria2 رو از AUR نصب کنید.

و اما AriaNG (پیشنهاد من)

مثل قبلی، این رو هم میتونید از صفحه github دانلود و کامپایل کنید. و در آرچ به راحتی بسته aria-ng-deploy رو از AUR نصب کنید.

و اما راه اندازی

Safe Remove در مقایسه با unmount

وقتی با دسکتاپ های لینوکس کار میکنید و یک USB Storage متصل میکنید، ممکنه از خودتون بپرسید چه فرقی بین انجام Safe remove و unmount کردن usb شما است؟

با unmount یک درایو، دیگه عملیات خواندن یا نوشتن روی اون انجام نمیشه. ولی درایو هنوز به پورت متصل هست و برق داخلش جریان داره. و در لیست درایوهای شما قابل دیدن هست. 

ولی با Safe remove کردن درایو، دیگه برق هم قطع میشه و درایو شما کاملا Off میشه. این طوری میتونیم با خیال راحت تری درایو رو از پورت جدا کنیم. 

برای اینکار، اگر از systemd استفاده میکنید میتونید با دستورهای زیر ابتدا درایو رو unmount و سپس safe remove کنید. توجه داشته باشید که sda رو مطابق با درایو مورد نظرتون انتخاب کنید

udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda

اما اگر از systemd استفاده نمیکنید، میتونید از دستور زیر استفاده کنید

udisks --unmount /dev/sda1
udisks --detach /dev/sda

منبع

وب اپلیکیشن های کاربردی

اگر از گنوم استفاده میکنید و مرورگر Epiphany یا همون Web رو نصب دارید، میتونید سایت های کاربردی‌تون رو با چند تا کلیک به صورت یک وب‌اپلیکیشن در بیارید تا آیکن اون ها در بین برنامه ها باشن و به راحتی اون رو اجرا کنید.

برای این کار کافیه با مرورگر Web آدرس سایتی رو که میخواید بیارید، سپس از منوی مرورگر گزینه  Install Site as Web Application رو انتخاب کنید. به همین سادگیsmiley

چگونه از تاریخ تولد لینوکسمون با خبر بشیم

شاید جالب باشه که بدونید این لینوکسی که الان دارید ازش استفاده میکنید دقیقا چه روزی نصبش کردید؟ روش های مختلفی وجود داره برای اینکار. به طور عمومی (یعنی در همه توزیع های لینوکسی) میشه زمان ایجاد فایل‌سیستم رو پیدا کرد. پس میشه نتیجه گرفت لینوکس فعلی به احتمال خیلی زیاد در اون تاریخ نصب شده. 

fs=$(df / | tail -1 | cut -f1 -d' ') && tune2fs -l $fs | grep created

در سیستم های مبتنی بر rpm مثل فدورا و ردهت هم میتونید با اجرای دستور زیر به تاریخ نصب سیستم پی ببرید

sudo rpm -qi basesystem | grep Install

اما اگر از Arch یا بچه هاش استفاده میکنید، میتونید با نگاه انداختن به لاگ پکمن بفهمید اولین کاری که کرده چه تاریخی بوده! پس یعنی لینوکس شما در همون تاریخ نصب شده

head -n1 /var/log/pacman.log

منبع

Termux, Tor, Android

برای استفاده از Tor در آندروید، به اون صورتی که ما در اپ های مختلف بتونیم با تنظیم 127.0.0.1:9050 بهش وصل بشیم، یک راهی پیدا کردم که باهاتون به اشتراک میذارم. ما باید با استفاده از یک شبیه ساز ترمینال لینوکس (مثلا در اینجا Termux) این کار رو انجام بدیم.

  1. برای شروع، Termux رو از گوگل پلی نصب کنید و اجرا کنید.
  2. دستورات زیر رو یکی یکی در Termux اجرا کنید تا یک سری چیزهایی که لازم داریم نصب بشن
    apt install tor
    apt install nano
    apt install obfs4proxy
  3. حالا باید Bridge بگیرید تا از طریق اونها به شبکه وارد بشید. یک ایمیل با محتوای get transport obfs4 به ایمیل  bridges@bridges.torproject.org ارسال کنید و منتظر جواب بشید.
  4. حالا باید bridgeهایی که گرفتیم رو وارد فایل torrc کنیم. میتونید با فایل منیجر گوشیتون به مسیر مورد نظر برید و torrc رو ویرایش کنید. و میتونید با nano که یک ویرایشگر در محیط ترمینال هست این کار رو بکنید:
    nano /data/data/com.termux/files/usr/etc/tor/torrc
  5. محتویات زیر رو در انتهای فایل اضافه کنید. البته توجه کنید که شما باید در جلوی Bridge obfs4 از همونهایی استفاده کنید که براتون ایمیل شده. 
    برای ذخیره فایل در nano با ترکیب Ctrl + X عمل کنید. پس از تایید (y) فایل ذخیره خواهد شد.
    UseBridges 1
    ClientTransportPlugin obfs4 exec /data/data/com.termux/files/usr/bin/obfs4proxy
    
    Bridge obfs4 *** *** *** ***
    Bridge obfs4 *** *** *** ***
  6. در انتها در termux یک بار tor را اجرا کنید و منتظر بشید تا 100% رو ببینید و به شبکه وصل بشید. هر چند وقت یک بار Bridge های جدید بگیرید تا دسترسی داشته باشید. البته این نکته رو هم بگم که ISP های مختلف ممکنه Tor رو بسته باشن. مثلا من نمیتونم با ایرانسل وصل بشم. ولی با همراه اول وصل میشم.
  7. در برنامه های مختلف اگر تنظیمات پروکسی داشته باشن، میتونید با 127.0.0.1:9050 از Tor استفاده کنید. در غیر این صورت اپ هایی هستن که پروکسی کل سیستم رو تغییر میدن. البته باید گوشی root باشه.