انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: EnriqueTTE در 04 اسفند 1401، 08:47 قظ
-
وقتی میخوام برنامههای گرافیکی رو با کاربر روت اجرا کنم ارور X11 میگیرم.
[root@Enriquette ~]# thunar
thunar: Failed to initialize Xfconf: Cannot autolaunch D-Bus without X11 $DISPLAY
(thunar:33642): Gtk-WARNING **: 08:42:14.749: cannot open display:
[root@Enriquette ~]# nautilus
** Message: 08:42:18.238: Connecting to org.freedesktop.Tracker3.Miner.Files
(org.gnome.Nautilus:34744): Gtk-WARNING **: 08:42:18.242: cannot open display:
چک کردم دیدم متغیرهای XDG برای کاربر روت و کاربر اصلی خیلی فرق میکنن
روت فقط XDG_DATA_DIRS رو داره
کاربر اصلی:
$XDG_DATA_DIRS $XDG_SEAT $XDG_SESSION_DESKTOP $XDG_SESSION_TYPE
$XDG_GREETER_DATA_DIR $XDG_SEAT_PATH $XDG_SESSION_ID $XDG_VTNR
$XDG_RUNTIME_DIR $XDG_SESSION_CLASS $XDG_SESSION_PATH
توزیع: EndeavourOS
-
راه حل رو از ChatGPT پرسیدم، امیدوارم که به دردت بخوره:
(https://s2.uupload.ir/files/screenshot_zc9i.png)
-
لطفا از chatgpt چیزی نزارید. چون چیزایی که میگه شاید اشتباه باشه( x11 نام کاربری نیست و بعد $XDG_DATA_DIRS هم دوبار ...XDG رو نوشته و اشتباه مقدار دهی کرده ) . هر دستوری هم که در اینترنت دیدید در ترمینال اجرا نکنید. و البته اینی که نوشته دقیقا همون کاری رو میکنه که کسی که سوال را پرسیده گقته کار نمی کنه. مثل اینکه طرف بگه چرا در باز نمیشه بهش برای حل مشکلش بگید در را باز کن. این چیزی که شما فرستادید روش های اجرای یک برناماه از طرف روت یا یک یوزر دیگست نه جواب این سوال.
-
برنامههای گرافیکی رو با کاربر ریشه اجرا نکنید، خیلیهاشون برای این کار ساخته نشدن و شما هزاران خط کدی که برای این کار ساخته نشدن رو میخواید در این حالت پرخطر اجرا کنید، برنامههای گرافیکی در زمانی که نیازمند این مجوز باشند کادر درخواست گذرواژه رو فراخوانی میکنند.
درمورد مدیر پرونده هم بعضا این اجازه رو میدن.
مثلا برای ناتیلوس و یا gedit و یا gnome-text-editor میتونید از روش زیر استفاده کنید(بدون sudo) :
nautilus admin:/
-
اجرای نرمافزارهای گرافیکی با کاربر ریشه کار درستی نیست و نباید انجام بشه.
-
x11 نام کاربری نیست
البته این یه مورد اشتباهِ chatGPT نبود، به مشکلش در rtl توجه نکردی، درواقع:
در اینجا yourusername نام کاربری شماست. این دستور کاربر اصلی شما را بهعنوان کاربر روت و با دسترسی به X11 اجرا میکند...
-
فرقی نمیکنه و بالاخره ممکنه که کاربری که سوال داشته هم اشتباه بخونه و یهو در یه سوالی یه چیزی بترکه و باعث افزایش احتمال خطا میشه، تازه اونم با کاربر روت.
-
خب من میخواستم یدونه snapshot رو داخل دایرکتوری security باز کنم، با sudo نمیشد از autocomplete استفاده کرد، اینکه sudo ls بگیرم و بعد اسم فایل رو بنویسم هم سخت بود چون اسمها طولانی و شبیه به هم بود.
اینو نمیدونستم
nautilus admin:/