قدیما خیلی راحت میشد با gksu
برنامه ها رو با کاربر root
از طریق یک پنجره که پسورد میخواست به صورت گرافیکی باز کرد. با ورود wayland همه این کاسه و کوزه ها شکست. اما انواع روشها برای رسیدن به این هدف بوجود اومد که در این ویکی میتونید اونها رو ببینید. اکثر این روشها این طوری هستن که شما یک کنسول (ترمینال) باز میکنید و دستور مربوطه رو با روشهایی که گفته میدید و اون برنامه از طریق ترمینال با یوزر root باز میشه.
اما هدف من اینه که آیکنی در بین اپلیکیشنها داشته باشم که وقتی روش کلیک میکنم یک پنجره باز بشه و از من پسورد root رو بخواد و بعد برنامه رو باز کنه. بدون دخالت کنسول و کامند و این حرفها. یک همچین چیزی:
برای اینکار نیاز به pkexec
داریم که در بسته polkit
قرار داره. اگر شما یک دسکتاپ مدرن نصب کرده باشید احتمالا polkit
هم جزو ملزومات نصب شده.
خب برای اینکه ببینیم باید چکار کنیم، ادامه مطلب رو ببینید.
اگه لازم داشته باشید که کد رنگ بخشی از دسکتاپ رو داشته باشید و در Wayland هم کار کنه، لازم نیست اپلیکیشن ها رو زیر و رو کنید تا یکیشون کار کنه. فقط و فقط کافیه zenity رو نصب کنید و بعد با یک دستور ساده یک دیالوگ کاربردی برای برداشتن کد رنگ دسکتاپ باز میشه. جالب اینجاست که در Wayland هم کار میکنه!
و اما دستور جادویی اینه:
zenity --color-selection --title="Color pick"
همچنین میتونید این رو بعنوان یک لانچر هم داشته باشید:
~/.local/share/applications/color-picker[Desktop Entry]
Version=1.1
Type=Application
Name=Color Picker
Comment=Color Picker by zenity
Icon=colorgrab
Exec=zenity --color-selection --title="Color picker"
Categories=Graphics;
مانیتورهای با رزولوشن بالا (4k) و اصطلاحا HiDPI کمی زودتر از پیشرفت های نرم افزاری سر و کلشون پیدا شد. و مدتی طول کشید ابتدا سیستم عامل ها و بعد کم کم نرم افزارها خودشون رو بروز کنن تا بتونن از پس این رزولوشن بر بیان.
با اینکه طی چند سال گذشته خیلی از نرم افزارها خودشون رو به این قضیه رسوندن، ولی هنوزم که هنوزه یک سری مشکلاتی برای نمایش توی این مانیتورها وجود داره.
مانیتور لپتاپ من 15.6 اینچی است با رزولوشن 4k. تا همین چند وقت پیش داشتم از رزولوشن پایین تری استفاده میکردم. تا اینکه دیگه تصمیم گرفتم وقتشه 4k رو هم برای استفاده روزانه تجربه کنم. باید بگم که بی نظیره!
من از دسکتاپ Gnome Shell (در زمان نوشتن، نسخه ۴۴) روی Manjaro و با رابط Wayland استفاده میکنم. رزولوشن 4k برای این اندازه مانیتور زیاده و نرم افزارها بسیار ریز خواهند شد. بنابراین توی تنظیمات گنوم، scaling رو روی ۲۰۰٪ میگذارم تا اندازه منطقی ای داشته باشم.
ولی داستان از اینجا شروع میشه...
البته قبلش بگم که ممکنه در سیستم شما طور دیگه ای باشه. باید خودتون تست کنید، بررسی کنید، و متناسب با سیستم خودتون عمل کنید. کافیه کمی جست و جو و تلاش کنید!
ابزارهای مختلفی برای تغییر نور صفحه مانیتور و همچنین بکلایت کیبوردها بوجود اومدن. این ابزارها به درد شرایطی میخورن که شما از دسکتاپ های ساده ای استفاده میکنید که تنظیماتی برای این کار ندارند. و یا دکمه های کیبوردتون خرابه و... یکی از این ابزارها که امکانات کاملی هم داره brillo
است. از ویژگی های brillo میشه به این موارد اشاره کرد:
برای نصب brillo کافیه اون رو با همین نام از AUR آرچ نصب کنید و یا به صفحه گیتهاب این پروژه مراجعه کنید.
بعد از نصب باید کاربر خودتون رو به گروه video اضافه کنید، وگرنه برای تغییر بکلایت باید از sudo استفاده کنید
$ sudo usermod -a -G video USERNAME
$ brillo -u 150000 -U 10
$ brillo -u 150000 -A 10
برای کاهش و افزایش بکلایت کیبورد هم از سوییچ -k استفاده کنید. منتها دیگه -u 150000 که مربوط به ترنزیشن smooth هست لازم نیست. مثلا:
$ brillo -k -U 15
ممکنه به هر دلیلی بخواید چک کنید الان که به دسکتاپ لاگین کردید با Xorg بوده یا Wayland. کافیه دستور زیر رو در ترمینال وارد کنید:
loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'
یا به راحتی یک alias براش درست کنید
alias wox="loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'"
باز هم wayland! در این سیستم شما نمیتونید برنامه های گرافیکی (مثلا nautilus) رو با دستور sudo یا روش های مشابه اجرا کنید. برای حل این مشکل (که از دید توسعه دهنده ها این یه ویژگی است نه مشکل!) قبل از اجرای دستور مورد نظر، این دستور رو اجرا میکنیم:
xhost si:localuser:root
میتونیم اینو در startup بذاریم تا دیگه نیاز نباشه خودمون دستی اجراش کنیم.
البته گویا با این کار این ویژگی امنیتی wayland رو از کار میندازیم. ولی آخه برادر من... مگه تا حالا چه مشکلی ایجاد کرده بود 😑
حاصل سر و کله زدن های من با لینوکس