Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: preslavxxx в Dec 08, 2006, 21:18



Титла: Не мога да пускам програми като "root"
Публикувано от: preslavxxx в Dec 08, 2006, 21:18
След като вляза като руут не се пускат програмите през конзолата
root@Bruno:~# xmms

** CRITICAL **: Unable to open display
root@Bruno:~#


Титла: Не мога да пускам програми като "root"
Публикувано от: Hapkoc в Dec 08, 2006, 21:44
Проблема е, че нямаш нужда да пускаш xmms като root. Предполагам, че има някаква причина да искаш да направиш това, т.е. нещо не е настроено както трябва при теб или имаш някаква неяснота може би. Кажи конкретната причина да искаш да пуснеш xmms като root да видим как може да се премахне.


Иначе конкретно по проблема - това се случва когато не е настроена променливата на обкръжението DISPLAY. Ето гледай:

sasoiliev@shtaiga:~ $ echo $DISPLAY
:0.0
sasoiliev@shtaiga:~ $ beep-media-player #няма проблем
sasoiliev@shtaiga:~ $ su -
Password:
shtaiga:~# echo $DISPLAY

shtaiga:~# beep-media-player
BMP: Unable to open display, exiting.
shtaiga:~#

Така. Променливата можеш лесно да я настроиш ето така:

shtaiga:~# export DISPLAY=:0.0
shtaiga:~# echo $DISPLAY
:0.0

Но тогава обикновено дава друга грешка, а именно:

shtaiga:~# beep-media-player
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

BMP: Unable to open display, exiting.

Това става т.к. X сървъра не допуска изпълнение на X клиенти (графични програми) от други потребители (други отнесени към този който е стартирал X). Последното не е напълно коректно, но за конкретния случай мисля че върши работа като обяснение.

Та грешката може да се премахне по следния начин - като потребителя, с който е стартиран X сървъра изпълняваш следното:

sasoiliev@shtaiga:~ $ xhost +local:
non-network local connections being added to access control list

По този начин разрешаваш на клиенти от локалната машина да ползват този X.


Това обяснение го давам за да бъде евентуално от нечия ползва, а не защото съм на мнение, че трябва да се пуска xmms като root, но това вече го казах...


Титла: Не мога да пускам програми като "root"
Публикувано от: preslavxxx в Dec 09, 2006, 12:38
Аз xmms го дадох само като пример, попринцип нито една програма не мога да стартирам като руут


Титла: Не мога да пускам програми като "root"
Публикувано от: mom в Dec 09, 2006, 14:52
Здравейте. Я да се изкажа малко неподготвен :)

Наркос е прав за всичко, което е казал. Разликата при мен е че ако придобия root права само със su (без тирето) няма проблеми с изпълнение на Х програми. А също така съм дал на потребителя си sudo права и всъщност root права придобивам със sudo bash и пак нямам проблеми със програмите искащи Х.

Иначе послушай Наркос - пускането на графични програми като root не е най-добрата идея, да не говорим, че някои даже изрично предупреждават за това (xsane например)


Титла: Не мога да пускам програми като "root"
Публикувано от: phantomlord в Dec 09, 2006, 15:07
mom предполагам, че на root  в твоята система му е забранено да влиза в графичната среда? Най-лесно е да промениш това в опциите на gdm.


Титла: Не мога да пускам програми като "root"
Публикувано от: Hapkoc в Dec 09, 2006, 18:44
mom, виж това:

sasoiliev@shtaiga:~ $ su
Password:
shtaiga:/home/sasoiliev# echo $DISPLAY
:0.0
shtaiga:/home/sasoiliev# echo $SESSION_MANAGER
SESSION_MANAGER=local/shtaiga:/tmp/.ICE-unix/6917
shtaiga:/home/sasoiliev# exit
sasoiliev@shtaiga:~ $ su -
Password:
shtaiga:~# echo $DISPLAY

shtaiga:~# echo $SESSION_MANAGER

shtaiga:~#

При 'su -' се изпълнява login shell, при което се изчитат скриптовете на обвивката така, както би се случило при нормален login на въпросния потребител.

Когато се прави само 'su' променливите на обкръжението се наследяват от текущите на потребителя от който се прави su. Променливите DISPLAY и SESSION_MANAGER (ако се не лъжа) определят възможността на потребителя да изпълнява програми в X.


phantomlord, надали GDM има общо в случая. Там трябва да се пипне ако искаш да можеш да влизаш през GDM като root.


Титла: Не мога да пускам програми като "root"
Публикувано от: maicky в Dec 11, 2006, 19:40
Цитат (preslavxxx @ Дек. 08 2006,21:18)
След като вляза като руут не се пускат програмите през конзолата
root@Bruno:~# xmms

** CRITICAL **: Unable to open display
root@Bruno:~#

Здравей ! Защо не погледнеш и да прочетеш обстойно форума и на Тиликс :
http://agora.tilix.org/index.php
Уверявам те - доста неща ще ти станат ясни !
До скоро !


Титла: Не мога да пускам програми като "root"
Публикувано от: tkaishev в Dec 13, 2006, 19:03
пишеш sudo името на програмата с която искаш да работиш като роот


Титла: Не мога да пускам програми като "root"
Публикувано от: mom в Dec 13, 2006, 20:15
Hapkoc прав си - точно така е както си го обяснил.

tkaishev - това може да стане само ако потребителя му е описан подходящо в sudoers