запуск KDE прог из под другого пользователя в консоле
akaDJon 12 февраля, 2008 - 18:34
Залогинился под пользователем в КДЕ3
Открываю консоль (konsole)
нормально отрабатывает:
$ kwrite
возникает ошибка:
$ su (пароль) # kwrite bash: kwrite: command not found
в чем проблема?
»
- Для комментирования войдите или зарегистрируйтесь
А если из под
А если из под обычного пользователя попробовать вот так:
$ kdesu kwrite
?
$ kdesu
$ kdesu kwrite
нормально запустилась, но мне нужно именно чтобы проги были видны после "su". Под сюсей работало...
не знаю зачем
не знаю зачем тебе такое извращение :)
Тогда тебе нужно обратиться к переменной DISPLAY, в ней иксы хранят номер экрана, под обычным ползователем смотришь её значение а затем под рутом устанавливаешь, например в kconsole:
$ echo $DISPLAY
:0.0
$ su -l
# DISPLAY=":0.0" kwrite
простого "su -l"
простого "su -l" помоему уже хватает чтобы консоль увидела kwrite, но правильно ли это? "побочных" эффектов не будет?
ЗЫ сделал алиас "su", на "su -l"
в файл /etc/bash/bashrc дописал "alias su='su -l'"
.
Я попробовал - у меня такое же поведение.
Но если набирать "su -l" то это "Provide an environment similar to what the user would expect had the user logged in directly." и всё нормально (см man su)
А вообще я пользуюсь "sudo -i"
А делать "kdesu kwrite" - bashcompletion не работает, а я так к нему привык :-)
akaDJon
А вы сравните значения PATH обычного пользователя и PATH рута, потом посмотрите, где находится kwrite , и вы сами поймете в чем проблема. :)
$ echo
$ echo $PATH
/usr/kde/3.5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/qt/3/bin
-----------------------
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin
-----------------------
kwrite здесь /usr/kde/3.5/bin/ но root его не видет
UPD: Пардон, не в ту консоль ввел))
#echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
а где можно глобально изменить переменную PATH для рута
В .bashrc можно
В .bashrc можно допустим