تبلیغات
لینوکس و من
لینوکس و من

انجام 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


نقل قول:ریچارد استالمن

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

chroot چیست؟

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


شاید تا به حال با CHROOT برخورد کرده باشید.مخصوصا هنگام نصب آرچ لینوکس
CHROOT چیست؟
CHROOT مخفف کلمه ی  change root به معنای تغییر ریشه هست.
سی اچ روت یک فراخوان سیستمی در سیستم عامل های شبه یونیکس هست که کارش تغییر دادن مسیر دایرکتوری ریشه(/) هست.با کمک این دستور میتونیم مسیر جاری پارتیشن روت رو تغییر بدیم.برای مثال:

 $chmod /mnt
طی این دستور مسیر دایرکتوری روت به  /mnt تغییر میکنه.
کاربرد این دستور موقعی هست که بخوایم در محیط یک توزیع,به پارتیشن روت یک توزیع دیگه وصل بشیم و از اون به عنوان پارتیشن روت اصلی استفاده کنیم.
وقتی مسیر دایرکتوری روت تغییر کنه,شما دیگه نمیتونید به فایل های خارج از اون دایرکتوری دسترسی داشته باشید.
چون شما حالا یک دایرکتوری روت جدید دارید.یک دایرکتوری روت شامل دایرکتوری های دیگه ای مثل home mnt etc var و ... هست که با اونها سرو کار داریم.برای مثال,اگر بعد از تغییر دادن مسیر دایرکتوری روت ,دستور زیر رو وارد کنید:
 $cd home
مسیر شما به دایکتوری home تغییر میکنه که درون دایرکتوری روت جدید هست.پس شما نمیتونید به دایرکتوری home که در خارج از دایرکتوری روت جدید هست دسترسی داشته باشید که اصطلاحا به اون زندانی شدن پروسه میگن.
برای درک بیشتر,عکس زیر رو با دقت ببینید.

chroot برای اولین بار در حین توسعه ورژن ۷ یونیکس به وجود اومد.

منبع:ویکی پدیا

تفاوت ادیتور ویم و وی آی

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



وی آی یک ویرایشگر متن هست که در همون روز های اول پیدایش یونیکس,توسعه پیدا کرد.در اون زمان وی آی سریعا به ادیتوری محبوب تبدیل شد و راه خودش رو به پاسیکس و SUS باز کرد؛اما به صورت آزاد در دسترس نبود(تا سال ۲۰۰۲)
بنابر این چند ادیتور بر شبه وی آی توسعه پیدا کردند تا به صورت نرم افزار آزاد در دسترس قرار بگیرند.ویم هم یکی از همین ادیتور ها بود.
کلمه (vim) مخفف vi improved به معنای وی آی پیشرفته,بهبود یافته هست.
ویم با الگو برداری وی آی نوشته شده پس همه ویژگی های وی آی در ویم هم موجوده.
و اما تفاوت هاشون.تفاوت این دو ادیتور صرفا در ویژگی هاشونه
ویم نسبت به وی آی ویژگی های بیشتری داره.برای مثال:

۱-ویم برای طیف وسیع تری از سیستم عامل ها پورت شده
۲-ویم دارای ویژگی هایی مثل هایلایت کردن کد,منوی کشویی,کامل کردن خودکار کد ها و... برای زبان های برنامه نویسی مرسوم مثل پایتون و سی و سی++ هست.
۳-ویم توانایی ادغام شدن با cscope رو داره(یک ابزار برنامه نویسی)
۴-ویم قابلیت تقسیم کردن اسکرین رو داره و همزمان در یک صفحه چند تا ادیتور در اختیارتون میزاره
۵-ویم میتونه فایل های درون یک فایل فشرده مثل zip,gzip,tar رو ویرایش کنه.
۶-ویم از پلاگین ها پشتیبانی میکنه.

این ها چند تا از ویژگی های ویم بود.علاوه بر ویم,ادیتور های دیگه ای هم با الگو برداری از  وی آی نوشته شدند مثل nvi و elvis که هر کدوم ویژگی های خاص خودشون رو دارن.

در حال حاضر ویم بر روی اوبونتو به صورت پیشفرض نصبه.


ویلند(wayland)

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





اجرای آهنگ در ترمینال

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


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

برای این کار به VLC نیاز دارید.
نصب در آرچ بیس ها:

 sudo pacman -S vlc

نصب در دبیان بیس ها:
 sudo apt install vlc

و برای اجرای آهنگتون بعد از دستور زیر,آدرس فایل صوتیتون رو وارد کنین.به همین راحتی!
 vlc -I ncurses
مثل :
 vlc -I ncurses 1.mp3






10 ویژگی اوبونتو 17.10

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


امروز نسخه جدید اوبونتو یعنی Ubuntu 17.10 به نام Aardvark منتشر شد و بزرگ ترین تغییر این نسخه نسبت به نسخه های قبلی جایگزین کردن میز کار گنوم به جای یونیتی هست.
ده ویژگی اوبونتو ۱۷.۱۰:

1-استفاده از میزکار گنوم به عنوان میزکار پیشفرض
2-استفاده از ویلند(wayland) به عنوان پروتکل سرور نمایش(desplay server protocol) پیشفرض
3-امکان نصب x.org به صورت اختیاری
4-استفاده از کرنل ورژن ۴.۱۳
5-پشتیبانی بهتر سخت افزار
6-نصاب جدید برای نسخه سرور
7-استفاده از libinput(یک کتابخانه برای کنترل دیوایس های ورودی به wayland)
8-ارتقا یافتن بلوتوث نسبت به نسخه قبل با BlueZ جدید(پروتکل رسمی بلوتوث لینوکس)
9-استفاده از GDM به عنوان Display Manager پیشفرض
10-برگشتن دکمه های ویندوز  به گوشه سمت راست

در ویدیوی زیر میتونین چند تا از ویژگی های این نسخه اوبونتو رو هم ببینید:







اجرای برنامه های گرافیکی تحت 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 ...