Является ли разница между sudo cmd
и gksu cmd
такой же, как разница
между запуском оболочки с sudo -i
и sudo -s
?
... или, другими словами,
Является ли sudo cmd
таким же, как sudo -i cmd
и gksu cmd
, как sudo -s cmd
?
РЕДАКТИРОВАТЬ: На основании того, что я прочитал на странице документации Ubuntu , где написано:
You should never use normal sudo to start graphical applications as root.
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files
in your home directory becoming owned by root.
(AFAICT, this is all that's special about the environment of the started
process with gksudo vs. sudo).
«AFAICT» действительно не дают мне полная уверенность, что в этом нет ничего более.
(.. запоздалое ОБНОВЛЕНИЕ : сегодня я проверил его комментарий (2 месяца спустя) о:
«Это предотвращает файлы в вашем доме» каталог становится владельцем root. "
Все файлы, созданные мной с помощью sudo / gksu, принадлежали" root ", а группа была" root ".)
Я прочитал части info sudo
и заметил, что -i
и -s
, похоже, делают то же самое, что и AFAICT проблема окружающей среды ...
но я ударил перегрузку .. поэтому я задал свой вопрос здесь.
PS .. Мой вопрос не о sudo vs gksu
.. Это больше о: Is gksu так же, как sudo -s
.. и если нет, то чем они отличаются?
sudo для приложений командной строки, gksu / gksudo для графических
gksu
является в основном графическим интерфейсом для sudo, который позволяет выполнять графическую команду без необходимости запуска эмулятора X-терминала и непосредственного использования su. Это фактически просто GTK + скин для команд суперпользователя.
Таким образом, если вы хотите запустить программу с графическим интерфейсом от имени пользователя root, вы должны вызывать ее с помощью gksu cmd
, а не sudo cmd
, который используется для вызова консольных программ от имени пользователя root.
sudo -i
сбрасывает среду входа в систему целевого пользователя (в данном случае root ). В основном, это то, что переменная окружения HOME
изменена, что означает, что целевой пользователь ~/.bashrc
загружен.
gksu
, следовательно, похож на sudo -i
в том, что переключает $HOME
на пользователя root .
Это не действительно ответ, но это может иметь некоторый интерес...
Я начинаю понимать то, что продолжает эти команды su,
но я не совсем там все же... Я действительно использую gksu
... Это - больше поездка понимания для меня... и меня wan't, чтобы понять если gksu
допустимо для konsole
или kate
, или я должен использовать вариант KDE kdesu
..
Вот некоторые результаты некоторых тестов, которые я только что попробовал.
From user fred's terminal, launch gnome-terminal
su style resulting custom (ls) new file
command prompt prompt home ownership
--------- -------------------- ------- ----- ----------
sudo .root@DT:~# fred's fred root
gksu root@DT:/home/fred# root's fred root
sudo -i root@DT:~# root's root root
sudo -s .root@DT:~# fred's fred root
Эти результаты не соглашаются со Страницей Документации Ubuntu, где она говорит:
This prevents files in your home directory becoming owned by root
ОБНОВЛЕНИЕ: XAUTHORITY env
переменные для sudo и gksu вызвали Terminals, отличаются (как упомянуто на Странице Документации Ubuntu)..
sudo #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -i #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -s #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
gksu #### XAUTHORITY=/tmp/libgksu-xR2OGn/.Xauthority
Это показывает это gksu
определенно не то же как sudo -s
управляйте, чтобы я упомянул в вопросе... и поэтому anwers мой otiginal вопрос (некоторым все еще неясным способом)..., и ответ Chris, конечно, получил меня думающий трудно на этом!... Мне нужен кофе!!