لینوکس و من

۵ مطلب با کلمه‌ی کلیدی «wayland» ثبت شده است

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

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

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 قرار داریم و کم کم ازش عبور خواهیم کرد و در آینده نه چندان دور سیستم یکپارچه و کارامدتری خواهیم داشت.