باز کردن برنامه های گرافیکی با کاربر root

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

اما هدف من اینه که آیکنی در بین اپلیکیشنها داشته باشم که وقتی روش کلیک میکنم یک پنجره باز بشه و از من پسورد root رو بخواد و بعد برنامه رو باز کنه. بدون دخالت کنسول و کامند و این حرفها. یک همچین چیزی:

photo_2025-07-25_21-08-51.jpg 

برای اینکار نیاز به pkexec داریم که در بسته polkit قرار داره. اگر شما یک دسکتاپ مدرن نصب کرده باشید احتمالا polkit هم جزو ملزومات نصب شده.

خب برای اینکه ببینیم باید چکار کنیم، ادامه مطلب رو ببینید.

ادامه مطلب

یک Color Picker در Wayland

اگه لازم داشته باشید که کد رنگ بخشی از دسکتاپ رو داشته باشید و در 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;

مشکل مانیتورهای HiDPI و یک سری تنظیمات

مانیتورهای با رزولوشن بالا (4k) و اصطلاحا HiDPI کمی زودتر از پیشرفت های نرم افزاری سر و کلشون پیدا شد. و مدتی طول کشید ابتدا سیستم عامل ها و بعد کم کم نرم افزارها خودشون رو بروز کنن تا بتونن از پس این رزولوشن بر بیان.

با اینکه طی چند سال گذشته خیلی از نرم افزارها خودشون رو به این قضیه رسوندن، ولی هنوزم که هنوزه یک سری مشکلاتی برای نمایش توی این مانیتورها وجود داره.

مانیتور لپتاپ من 15.6 اینچی است با رزولوشن 4k. تا همین چند وقت پیش داشتم از رزولوشن پایین تری استفاده میکردم. تا اینکه دیگه تصمیم گرفتم وقتشه 4k رو هم برای استفاده روزانه تجربه کنم. باید بگم که بی نظیره! 

من از دسکتاپ Gnome Shell (در زمان نوشتن، نسخه ۴۴) روی Manjaro و با رابط Wayland استفاده میکنم. رزولوشن 4k برای این اندازه مانیتور زیاده و نرم افزارها بسیار ریز خواهند شد. بنابراین توی تنظیمات گنوم، scaling رو روی ۲۰۰٪ میگذارم تا اندازه منطقی ای داشته باشم.

ولی داستان از اینجا شروع میشه...

البته قبلش بگم که ممکنه در سیستم شما طور دیگه ای باشه. باید خودتون تست کنید، بررسی کنید، و متناسب با سیستم خودتون عمل کنید. کافیه کمی جست و جو و تلاش کنید!

ادامه مطلب

تغییر نور مانیتور و کیبورد

ابزارهای مختلفی برای تغییر نور صفحه مانیتور و همچنین بکلایت کیبوردها بوجود اومدن. این ابزارها به درد شرایطی میخورن که شما از دسکتاپ های ساده ای استفاده میکنید که تنظیماتی برای این کار ندارند. و یا دکمه های کیبوردتون خرابه و... یکی از این ابزارها که امکانات کاملی هم داره brillo است. از ویژگی های brillo میشه به این موارد اشاره کرد:

  • تنظیم بکلایت مانیتور
  • تنظیم بکلایت کیبورد
  • تغییر نور به صورت smooth
  • پشتیبانی از wayland

برای نصب brillo کافیه اون رو با همین نام از AUR آرچ نصب کنید و یا به صفحه گیتهاب این پروژه مراجعه کنید.

پیکربندی

بعد از نصب باید کاربر خودتون رو به گروه video اضافه کنید، وگرنه برای تغییر بکلایت باید از sudo استفاده کنید

$ sudo usermod -a -G video USERNAME

مثالی از افزایش بکلایت مانیتور با ترنزیشن smooth

$ brillo -u 150000 -U 10

مثالی از کاهش بکلایت مانیتور با ترنزیشن smooth

$ brillo -u 150000 -A 10

برای کاهش و افزایش بکلایت کیبورد هم از سوییچ -k استفاده کنید. منتها دیگه -u 150000 که مربوط به ترنزیشن smooth هست لازم نیست. مثلا:

$ brillo -k -U 15

چطور بفهمیم با Wayland هستیم یا Xorg

ممکنه به هر دلیلی بخواید چک کنید الان که به دسکتاپ لاگین کردید با 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}'"

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

باز هم wayland! در این سیستم شما نمیتونید برنامه های گرافیکی (مثلا nautilus) رو با دستور sudo یا روش های مشابه اجرا کنید. برای حل این مشکل (که از دید توسعه دهنده ها این یه ویژگی است نه مشکل!) قبل از اجرای دستور مورد نظر، این دستور رو اجرا میکنیم:

xhost si:localuser:root

میتونیم اینو در startup بذاریم تا دیگه نیاز نباشه خودمون دستی اجراش کنیم.

البته گویا با این کار این ویژگی امنیتی wayland رو از کار میندازیم. ولی آخه برادر من... مگه تا حالا چه مشکلی ایجاد کرده بود 😑




حاصل سر و کله زدن های من با لینوکس