لینوکس و من

نمایش thumbnails برای فایلهای XCF

نویسنده : امین | تاریخ: 1397/03/24

فرمت XCF فرمت پیشفرض ذخیره سازی تصاویری است که در GIMP ساخته میشن. متاسفانه به طور پیشفرض در Nautilus این فایلها تصاویر بندانگشتی یا همون Thumbnail ندارن. اما چاره کار بسیار راحته. کافیه در آرچی ها با نصب یک پکیج از AUR این مورد رو برطرف کنیم (برای اوبونتو به لینک منبع مراجعه کنید)
yaourt -S gnome-xcf-thumbnailer
ممکنه از این طریق نصب نشه و به شما ارور validity بده. اگه این طور شد باید دستی این کار رو انجام بدیم!
اول به سایت AUR برای این پکیج میریم و با کلیک روی Download snapshot فایلش رو دانلود میکنیم. و در یک پوشه ای extract میکنیم. بعد با این دستور بسته نصبی رو میسازیم:
makepkg -g >> PKGBUILD && makepkg
و در پایان عملیات با این دستور کار نصب رو تموم میکنیم:
makepkg --install 
اگر احیانا بسته source دانلود نمیشه، میتونین با مراجعه مستقیم خود سورس رو دانلود کنید و در پوشه ای که فایل PKGBUILD قرار داره بذاریدش.
حالا باید تصاویر بندانگشتی فایلهایی که اصطلاحا fail شدن رو پاک کنیم تا دوباره برای ساختنشون تلاش کنه:
rm -r ~/.cache/thumbnails/fail
از این به بعد فایلهای XCF هم thumbnail خواهند داشت.

لینک‌های مرتبط

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

نویسنده : امین | تاریخ: 1397/03/23

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

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

لینک‌های مرتبط

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

نویسنده : امین | تاریخ: 1397/02/11

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

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

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

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

نویسنده : امین | تاریخ: 1396/10/25

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


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

لینک‌های مرتبط

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

نویسنده : امین | تاریخ: 1396/10/3

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

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

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

نویسنده : امین | تاریخ: 1396/09/27

ما معمولا در لینوکس سیستم رو 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ها

نویسنده : امین | تاریخ: 1396/09/27

متوجه شدم که ماوس وایرلس باعث میشه بعد از 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)

نویسنده : علیرضا احسانی | تاریخ: 1396/08/23





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

نویسنده : امین | تاریخ: 1396/07/27

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

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

نویسنده : امین | تاریخ: 1396/07/25

لپتاپ هایی هستن که در اثر یک سری تنظیماتی که به ناچار باید در خط کرنل لینوکس در گراب انجام بشه، دکمه های تنظیم نور صفحه مانیتور دیگه کار نمیکنند. لپ‌تاپ های 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
اینها رو میتونید به عنوان یک شورتکات کیبورد در نظر بگیرید.

1 2 3 4 5 6 7 ...