لینوکس و من

۱۰ مطلب در مهر ۱۳۹۶ ثبت شده است

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


امروز نسخه جدید اوبونتو یعنی 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

باز هم 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 گنوم ظاهر میشه و مانیتور هم خاموش میشه. میتونید این رو به یک شورتکات کیبورد هم بدید.

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

wayland و تجربه نه چندان جالب در سطح کاربر نهایی

حتما در مورد wayland چیزهایی شنیدید. wayland چیزیه که باعث میشه شما در نهایت یک رابط گرافیکی رو ببینید. و چند سالی است که بوجود اومده و داره جای xorg رو که چندین و چند سال وجود داشته میگیره.
در این مطلب نمیخوام (و نمیتونم) از جزئیات فنی صحبت کنم. فقط از دید یک کاربر نهایی به موضوع نگاه میکنم و مشکلاتی رو که این تازه به دوران رسیده (بدون بار معنایی منفی) بوجود آورد برام مینویسم. در مورد wayland میتونید در اینترنت چیزهای زیادی پیدا کنید و بخونید.

اول از همه اینکه Gnome که دسکتاپ مورد انتخاب من هست به طور پیش فرض از wayland پشتیبانی میکنه. و کم کم افزونه هایی که برای این دسکتاپ نوشته میشه بر همین اساس نوشته میشه. پس من تصمیم گرفتم برای اینکه سیستم به روزی داشته باشم گنوم رو با wayland اجرا کنم. (موقع لاگین کردن میتونید انتخاب کنید)
در ابتدا همه چی خوبه و طبیعی به نظر میرسه. (گنوم ۳.۲۴) اما یکم که کار میکنید متوجه کمبود های این سیستم میشید.

۱- برای اینکه یک دسکتاپ و گرافیک یک پارچه داشته باشید باید همه ی برنامه هایی که اجرا میکنید از wayland پشتیبانی کنند. اما بعضی از برنامه ها، حتی برنامه های اصلی مثل فایرفاکس، کروم، و ... از wayland پشتیبانی نمیکنند. بنابراین اومدن یک چیزی به نام xwayland درست کردن که برنامه هایی که با xorg کار میکنن بتونن توی محیط wayland هم کار کنن. این خودش دو دستگی بوجود میاره. مثلا وقتی میخواید پنجره اون برنامه رو resize کنید، یک مربع مشکی دور اون پنجره پدیدار میشه که تو ذوقتون میزنه.

۲- در یک باگ شناخته شده، وقتی در برنامه هایی که از چند Tab پشتیبانی میکنن، با باز شدن تب های جدید برنامه اصطلاحا focus نمیشه. یعنی چی؟ یعنی مثلا اگه شما در gedit یک فایل متنی رو باز کرده باشید و حالا رفته باشید توی فایل منیجر، یا ftp منیجر، یک فایل متنی دیگه رو باز میکنید، برنامه gedit در پس زمینه فایل رو براتون باز میکنه اما دیگه gedit نمیاد روی پنجره ها قرار بگیره. و شما مجبورید بعد از باز کردن فایل جدید خودتون به gedit سوییچ کنید. این آزار دهنده است.

۳- متاسفانه بسیاری از ابزارهای X دیگه روی wayland کار نمیکنن. مثلا xdotool. یعنی دیگه نمیشه مولتی تاچی که با libinput-gestures ایجاد کرده بودیم توی wayland داشته باشیم. چون این میومد با xdotool حرکات تاچپد رو به شورتکات های کیبورد تبدیل میکرد و ما به راحتی میتونستیم هر نوع ترکیبی که بخوایم ایجاد کنیم. (قبلا در وبلاگ معرفی کردم). ولی حالا دیگه نمیشه. یک افزونه برای گنوم ساختن که حرکات سه انگشتی رو به شورتکات های تاچپد اضافه میکنه، اما فقط دو سه تا حرکت از  پیش تعیین شده و بی فایده. و خیلی از دستورات و اسکریپتهایی که در گذشته استفاده میکردید که با اونها پنجره هاتون رو مدیریت کنید هم دیگه کار نمیکنن. چون همه ی اونها با ابزار های تحت X کار میکنن.

۴- بعد از مدتی که در محیط wayland کار میکنید، دچار lag های اعصاب خوردکنی میشه. که مجبورید logout کنید تا راحت شید. مخصوصا در فایرفاکس. این هم یک باگ شناخته شده است که هنوز راه حلی در موردش ندارند.

۵- حتی کنترل نور مانیتور هم اگر از ابزارهایی مثل xbacklight استفاده میکردید دیگه نمیشه، و باید دنبال چیزهای جایگزین بگردید.

۶- باگ شناخته شده ی بعدی اینه که در برنامه Archive گنوم، نمیتونید فایلها رو از داخل آرشیو بکشید و توی Nautilus اکسترکت کنید. یعنی drag & drop نمیشه.

و در نهایت اینکه من بعد از یک ماهی که سعی کردم این وضعیت رو تحمل کنم دیگه نتونستم و برگشتم به xorg . اما این به معنی نیست که wayland چیز بدیه. اتفاقا در فروم ها و ویکی ها از نظر فنی چیز بسیار خوبی عنوان شده. اما در فاز گذر از xorg به wayland قرار داریم و کم کم ازش عبور خواهیم کرد و در آینده نه چندان دور سیستم یکپارچه و کارامدتری خواهیم داشت.

چند هفته پیش خبر پایان پشتیبانی معماری ۳۲ بیتی توسط مانجارو رو تو وبلاگ گذاشتیم.
حالا هم تیم توسعه دهنده اوبونتو خبری مشابه به این رو داده
کنونیکال به تیم منتشر کننده اوبونتو گفته که ایمیج ورژن ۱۷.۱۰ مخصوص معماری ۳۲ بیتی ( i368) رو منتشر نکنند(چه نسخه بتا و چه نسخه نهایی) که مشخص میکنه جایی واسه ادامه ی ساخت ایمیج های i368 وجود نداره.
البته این خبر فقط مربوط به اوبونتو دسکتاپ 17.10 هست که قراره با دسکتاپ گنوم منتشر بشه که به این معنا هست که این خبر در رابطه با دیگر توزیع های اوبونتو(مثل لوبونتو و زوبونتو) صدق نمیکنه.هر چند بعید هم نیست در آینده چنین خبری مربوط به دیگر توزیع های اوبونتو بشنویم!

لینک منبع

معرفی توزیع:فدورا لینوکس

ساخت فایل ترجمه po از روی mo

اگر در ترجمه دستی داشته باشید حتما فایلهای po و mo رو میشناسید. این مطلب رو برای یادآوری خودم و کسانی که این مشکل رو داشتند می نویسم..

گاهی پیش میاد که شما فقط فایل mo رو دارید و فایل po در دسترس نیست که بشه با poedit اون رو ترجمه کرد. بسیار ساده میتونیم با دستور زیر فایل po رو از روی فایل mo بسازیم و استفاده کنیم:
msgunfmt ab_AB.mo > ab_AB.po


خالی کردن هدفمند کش پکیج ها در pacman

در سیستم های مبتنی بر آرچ، مثل مانجارو، pacman مدیر بسته ها است. همون طور که میدونید در هر توزیع لینوکسی وقتی که آپدیت میکنیم بسته ها از اینترنت دانلود میشن و در یک فولدری که معمولا در دایرکتوری var/cache/ قرار داره نگهداری میشن. این کش خیلی خوبه، چون وقتی شما نیاز داشته باشید بسته ای رو که در ورژن جدید دچار اختلال شده downgrade کنید به ورژن قبلی راحت میتونید این کار رو بکنید.
اما به مرور زمان این بسته ها تعدادشون زیاد و زیادتر میشه و چندین گیگابایت فضای شما رو اشغال میکنن. من پیشنهاد میکنم دو نسخه از بسته هایی که الان نصب هستند در کش نگهداری بشن و قدیم تری ها از روی دیسک حذف بشن. یعنی مثلا اگر بسته های مربوط به ورژنهای ۵۵، ۵۴، ۵۳، ۵۲، ۵۱ فایرفاکس در کش وجود داشته باشن ورژن های ۵۵ و ۵۴ بمونن و بقیه پاک بشن.
برای این کار دستور زیر رو اجرا میکنیم:
sudo paccache -rk 2
در پاسخ میبینید که سیستم بهتون میگه چند بسته حذف شد و چند مگابایت فضا آزاد شد.
در قدم بعد میتونیم بسته هایی که الان در حال حاضر نصب نیستن رو هم از کش پاک کنیم. مثلا شما یه چیزی نصب کردید که بعدا پاکش کردید. حالا دیگه لزومی نداره بسته مربوطه توی کش مونده باشه!
sudo paccache -ruk 0

من ۸ گیگابایت کش داشتم که الان ۱.۳ شده.

حالا میتونیم این کار رو به خود پکمن بسپاریم و بهش بگیم که هر وقت آپدیت کردی یا چیزی نصب کردی یا پاک کردی، واسه من این تمیز کاری رو انجام بده. برای این کار فایل زیر رو با این محتویات میسازیم
1- sudo mkdir /etc/pacman.d/hooks
2- sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
----------------------------------------------------------------------------
با این محتویات:

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -rk 2