انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: چگونه می توان با فرمان chroot برنامه های گرافیکی را اجرا کرد؟  (دفعات بازدید: 4943 بار)

0 کاربر و 7 مهمان درحال مشاهده موضوع.

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
وقتی آدرس root را عوض می کنم فقط می تونم نرم افزار های خط فرمان را اجرا کنم. وقتی نرم افزاری مثل firefox یا synaptic را می خواهم اجرا کنم خطای GTK می دهد.
آیا روشی برای اجرای نرم افزار های گرافیکی در محیط chroot وجود دارد؟

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
آیا از دادن آدرس برنامه استفاده می کنید یا اینکه نه فقط نام برنامه را وارد می کنید ؟ در ضمن اینکه فکر کنم شما باید اونجا هم آدرس و سیمبلینک لینک ها رو هم وارد و تعریف کنید .

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
آیا از دادن آدرس برنامه استفاده می کنید یا اینکه نه فقط نام برنامه را وارد می کنید ؟ در ضمن اینکه فکر کنم شما باید اونجا هم آدرس و سیمبلینک لینک ها رو هم وارد و تعریف کنید .
منظورتون از اینکه لینک‌ها رو باید تعریف کنیم، چیه؟
مسیر کامل رو هم میدم اما نمیشه. اصلا خطاش یه چیز دیگه‌س: cannot open display . حتی display رو هم بهش میدم بازم نمیشه:
# /usr/bin/firefox --display=:0.0

(firefox-bin:16721): Gtk-WARNING **: cannot open display: :0.0
اصلا هیچ برنامهٔ گرافیکی از این طریق اجرا نمیشه. البته ارورهاش متفاوته ولی فکر کنم همش به همین display مربوط بشه(مثلا ممکنه وسط کلی ارور بگه Error couldn't open the X display)
من با at تونستم بصورت remote برنامه‌های گرافیکی رو فقط با دادن اوپشن --display=:0.0 اجرا کنم. اما در مورد chroot جواب نمیده.
کسی نمیتونه کمک کنه؟

آفلاین ابراهیم

  • High Hero Member
  • *
  • ارسال: 1295
  • جنسیت : پسر
  • راه‌رو گر صد هنر دارد توکل بایدش
    • سلام!
دو راه:
۱) از پرونده‌ی Xauthority. واقع در خونه‌ی کاربر فعلی یک رونوشت توی خونه‌ی کاربر توی chroot بردارید.
۲) توی محیط chroot یک خادم ssh بیارید بالا و از بیرون به محیط chroot با دستور ssh -X وصل بشید!
ما زنده به آنیم که آرام نگیریم     ...     موجیم که آسودگی ما عدم ماست

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
اگه خطای display=:0.0 رو میده مشکلی نیست از دستور زیر استفاه کنید :
xhost  +local : USER_NAME
  ;D

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
دو راه:
۱) از پرونده‌ی Xauthority. واقع در خونه‌ی کاربر فعلی یک رونوشت توی خونه‌ی کاربر توی chroot بردارید.
۲) توی محیط chroot یک خادم ssh بیارید بالا و از بیرون به محیط chroot با دستور ssh -X وصل بشید!
میشه واضح تر توضیح بدهید؟ سطر دوم را متوجه نشدم


اگه خطای display=:0.0 رو میده مشکلی نیست از دستور زیر استفاه کنید :
xhost  +local : USER_NAME
  ;D
پیغام خطا میده:

root@khajavi:/# xhost  +local : milad
xhost:  unable to open display ":0.0"

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
دستوری که گفتم قبل و بعد از : فاصله ای نیست
xhost +local:milad

آفلاین ابراهیم

  • High Hero Member
  • *
  • ارسال: 1295
  • جنسیت : پسر
  • راه‌رو گر صد هنر دارد توکل بایدش
    • سلام!
میشه واضح تر توضیح بدهید؟ سطر دوم را متوجه نشدم
مورد اول ر
ما زنده به آنیم که آرام نگیریم     ...     موجیم که آسودگی ما عدم ماست

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
بدون فاصله هم جواب نداد.
همون پیام خطای قبلی را میده

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
فکر کنم  X با تگ nolisten  اجرا شده. می توانید این دستور را اجرا کنید؛

ps axu | grep X

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
بدون فاصله هم جواب نداد.
همون پیام خطای قبلی را میده
تو chroot تست کردین ؟ قبل از ورود به chroot ببینید باز هم جواب نمی ده ؟

آفلاین khajavi

  • Sr. Member
  • *
  • ارسال: 361
  • جنسیت : پسر
    • کافه ی گنو/لینوکس
قبل از ورد به chroot هم یک خطای دیگه داریمک
milad@khajavi:~$ xhost +local:milad
non-network local connections being added to access control list

milad@khajavi:~$ sudo ps axu | grep X
root      4553 11.4  4.2  36800 10852 tty7     Ss+  07:08   2:57 /usr/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
milad     4882  0.7  3.6  38516  9456 ?        S    07:09   0:11 gnome-panel --sm-config-prefix /gnome-panel-5mnXnH/ --sm-client-id 117f000101000119634242100000050930001 --screen 0

آفلاین platoali

  • Full Member
  • *
  • ارسال: 212
  • جنسیت : پسر
قبل از ورد به chroot هم یک خطای دیگه داریمک
milad@khajavi:~$ xhost +local:milad
non-network local connections being added to access control list

milad@khajavi:~$ sudo ps axu | grep X
root      4553 11.4  4.2  36800 10852 tty7     Ss+  07:08   2:57 /usr/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
milad     4882  0.7  3.6  38516  9456 ?        S    07:09   0:11 gnome-panel --sm-config-prefix /gnome-panel-5mnXnH/ --sm-client-id 117f000101000119634242100000050930001 --screen 0

-nolisten tcp
این تگ باعث می شود که سرور X به صورت شبکه بالا نیاید. اگر از  Gnome استفاده می کنید. این فایل را ویرایش کنید:

/etc/gdm/gdm.conf:
DisallowTCP=true

به

DisallowTCP=false

اگر از  kubuntu  استفاده می کنید باید این فایل را ویرایش کنید:

/etc/kde3/kdm/kdmrc

ServerArgsLocal=-nolisten tcp
 

را به :
#ServerArgsLocal=-nolisten tcp

 فکر کنم مشکلتان حل می شود.  متوجه باشید با این کار امنیت سیستم شما کاهش می یابد. و اصولا بخاطر همین هم در حالت پیش فرض این گزینه غیر فعال می باشد.