لینوکس و من

لینوکس و من

لینوکس و من

حاصل تجربیات ما از سر و کله زدن ها با لینوکس

بایگانی

۲۱۳ مطلب با موضوع «ترفند» ثبت شده است

کشیدن Tab در کروم و بوکمارک کردن آن

مدت ها بود که از فایرفاکس در لینوکس استفاده میکردم. چند روزی است که دارم از کروم استفاده میکنم و میبینم چقدر خوبه! ولی یک امکانی که در فایرفاکس داریم اینه که وقتی یک Tab رو میگیرید و میکشید (drag & drop) میتونید اون رو روی bookmarks bar بیارید و بوکمارکش کنید. در حالی که اگر در کروم این کار رو بکنید اون Tab جدا میشه و یک New window ایجاد میشه.

اما راه حل خیلی ساده است! بجای کشیدن Tab باید URL اون صفحه رو بکشیم، و به راحتی اون صفحه رو وارد bookmarks bar کنیم. 

راه اندازی مجدد Gnome Shell از یک نشست دیگر

ممکنه براتون پیش بیاد که گنوم شل حالا به هر دلیلی هنگ کنه و هیچ راهی نداشته باشید که اون رو مجدد restart کنید. حتی کلید Alt + F2

برای اینکار میتونید با رفتن به یک TTY دیگه، مثلا با Ctrl + Alt + F3 و لاگین کردن به حساب کاربریتون و اجرای دستور زیر در توزیع های آرچی گنوم شل رو restart کنید:

pkill -HUP gnome-shell
و بعد به TTY قبلی که بصورت پیش فرض احتمالا F2 باشه برگردید: Ctrl + Alt + F2

نمایش ستاره در محل تایپ پسورد sudo

همون طور که میدونید اجرای دستور sudo منوط به تایپ پسورد هست. اما در حین تایپ چیزی نشون داده نمیشه. میتونیم با یه کلک ساده کاری کنیم که موقع تایپ پسورد برای دستور sudo ستاره گذاشته بشه.


برای این کار باید فایل etc/sudoers/ رو ویرایش کنیم. راه صحیح و اصولیش اینه که با این دستور این کار رو بکنیم:
 sudo visudo
اما کار با این روش خیلی روی اعصابه! من با gedit به راحتی این کار رو میکنم:
sudo gedit /etc/sudoers
دنبال عبارت Defaults env_reset بگردید. و اون رو به Defaults env_reset,pwfeedback تغییر بدید. اگر نبود، اضافه کنید. فایل رو ذخیره کنید و در ترمینال دستور reset رو اجرا کنید تا تغییرات اعمال بشه.

تغییر خودکار هدست بلوتوث بعد از اتصال

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

باید فایل etc/pulse/default.pa/ رو باز کنیم و عبارت زیر رو بهش اضافه کنیم:
# automatically switch to newly-connected devices
load-module module-switch-on-connect
و بعد یک بار restart (البته میشه خود pulse رو ری استارت کرد: pulseaudio -k)

انجام Hybernate بعد از مدت مشخصی Suspend

ما معمولا در لینوکس سیستم رو suspend میکنیم. خب این کار هزینه داره و از باتری یا برق برای فعال بودن استفاده میکنه. میتونیم در آرچی ها با سرویسی که در ادامه ایجاد میکنیم به سیستم میگیم که اگر بعد از ۲ ساعت suspend کسی resume نکرد، سیستم رو hybernate کن. این طوری مصرف باتری‌مون بهینه تر میشه و منطقی تر هم هست. البته به شرطی که swap داشته باشید.

ابتدا باید سرویس مورد نظرمون رو در systemd بسازیم:
--------------------------------------------------------
sudo gedit /etc/systemd/system/suspend-to-hibernate.service
--------------------------------------------------------

[Unit]
Description=Delayed hibernation trigger
Documentation=https://bbs.archlinux.org/viewtopic.php?pid=1420279#p1420279
Documentation=https://wiki.archlinux.org/index.php/Power_management
Conflicts=hibernate.target hybrid-sleep.target
Before=sleep.target
StopWhenUnneeded=true

[Service]
Type=oneshot
RemainAfterExit=yes
Environment="WAKEALARM=/sys/class/rtc/rtc0/wakealarm"
Environment="SLEEPLENGTH=+2hour"
ExecStart=-/usr/bin/sh -c 'echo -n "alarm set for "; date +%%s -d$SLEEPLENGTH | tee $WAKEALARM'
ExecStop=-/usr/bin/sh -c '\
  alarm=$(cat $WAKEALARM); \
  now=$(date +%%s); \
  if [ -z "$alarm" ] || [ "$now" -ge "$alarm" ]; then \
     echo "hibernate triggered"; \
     systemctl hibernate; \
  else \
     echo "normal wakeup"; \
  fi; \
  echo 0 > $WAKEALARM; \
'

[Install]
WantedBy=sleep.target


و بعد سرویس رو فعال می کنیم:
1. sudo systemctl enable disable-usb-wakeup.service
2. sudo systemctl start disable-usb-wakeup.service

غیر فعال کردن wakeup برای USBها

متوجه شدم که ماوس وایرلس باعث میشه بعد از suspend با حرکت دادن یا کلیک کردن، لپتاپ resume بشه. گشتی زدیم و راه حل یافتیم. باید یک سرویس برای systemd درست کنیم و این موضوع رو غیر فعال کنیم!

--------------------------------------------------------
sudo nano /etc/systemd/system/disable-usb-wakeup.service
--------------------------------------------------------
[Unit]
Description=Disable USB wakeup triggers in /proc/acpi/wakeup

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo XHC > /proc/acpi/wakeup; echo WLAN > /proc/acpi/wakeup"
ExecStop=/bin/sh -c "echo XHC > /proc/acpi/wakeup; echo WLAN > /proc/acpi/wakeup"
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

حالا سرویس رو فعال میکنیم:
1. sudo systemctl enable disable-usb-wakeup.service
2. sudo systemctl start disable-usb-wakeup.service


ویلند(wayland)





اجرای برنامه های گرافیکی تحت root در wayland

باز هم wayland! در این سیستم شما نمیتونید برنامه های گرافیکی (مثلا nautilus) رو با دستور sudo یا روش های مشابه اجرا کنید. برای حل این مشکل (که از دید توسعه دهنده ها این یه ویژگی است نه مشکل!) قبل از اجرای دستور مورد نظر، این دستور رو اجرا میکنیم:
xhost si:localuser:root
میتونیم اینو در startup بذاریم تا دیگه نیاز نباشه خودمون دستی اجراش کنیم.
البته گویا با این کار این ویژگی امنیتی wayland رو از کار میندازیم. ولی آخه برادر من... مگه تا حالا چه مشکلی ایجاد کرده بود.

تنظیم نور مانیتور در wayland

لپتاپ هایی هستن که در اثر یک سری تنظیماتی که به ناچار باید در خط کرنل لینوکس در گراب انجام بشه، دکمه های تنظیم نور صفحه مانیتور دیگه کار نمیکنند. لپ‌تاپ های ASUS این جوری اند. بنابراین باید با ابزارهای کمکی برای تنظیم نور مانیتور با استفاده از کیبورد، یه فکری میکردیم. در xorg این کار به خوبی با چیزی مثل xbacklight انجام میشه. اما در wayland اوضاع فرق میکنه و ابزارهای x دیگه کار نمیکنند.
 
اما میتونیم با استفاده از brightnessctl که در مخازن AUR آرچ وجود داره این مشکل رو برطرف کنیم. برای این کار اول باید اون رو نصب کنیم:
yaourt -S brightnessctl
و بعد باید عبارت زیر رو در فایلی در مسیر زیر ذخیره کنیم:
/etc/udev/rules.d/90-brightnessctl.rules
-----------------------------------------------------

ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp input /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"
و بعد از نصب با دستوری مشابه دستور زیر میتونیم نور رو کم کنیم:
brightnessctl s 50-

یا نور رو زیاد کنیم:

brightnessctl s +50

اینها رو میتونید به عنوان یک شورتکات کیبورد در نظر بگیرید.

 

خاموش کردن مانیتور در گنوم با wayland

اگر xorg داشته باشید و بخواید با یک دستور در خط فرمان (یا شورتکات کیبورد) مانتیور رو خاموش کنید میتونید از این مطلب استفاده کنید. ربطی هم به دسکتاپی که استفاده میکنید نداره. اما در wayland این دستور کار نمیکنه، چون با ابزارهای مربوط به xorg نوشته شده.
اما در دسکتاپ گنوم که با wayland اجرا شده باشه اگر بخواید مانیتور رو خاموش کنید، این دستور میتونه به نوعی کمکتون کنه:
 busctl --user call org.gnome.Shell /org/gnome/ScreenSaver org.gnome.ScreenSaver SetActive b true
با اینکار Screen Shield گنوم ظاهر میشه و مانیتور هم خاموش میشه. میتونید این رو به یک شورتکات کیبورد هم بدید.

اگر شما راه دیگه ای بلد هستید خوشحال میشیم در قسمت نظرات با ما و بقیه دوستان به اشتراک بذارید.