Эмулятор терминала по умолчанию в Ubuntu - это терминал GNOME . Он расположен в /usr/bin/gnome-terminal
и может быть запущен с помощью gnome-terminal
команды.
Что вы действительно хотите
Вероятно, вам понадобится оболочка, работающая от имени пользователя root, как если бы она была получена от имени пользователя root (например, все переменные среды установлены для пользователя root, а не для вашего пользователя).
Предполагая, что это то, что вы хотите, как предложил Steeldriver , просто запустите:
sudo -i
У вас будет корневая оболочка, в которой введенные вами команды будут выполняться от имени пользователя root (без необходимости предшествовать им sudo
).
Но если вы действительно хотите запустить приложение эмулятора графического терминала от имени пользователя root, читайте дальше. Я представляю два способа: с gksu
/ gksdo
и с помощью sudo
команды.
Поскольку у вас установлен пакет gksu , вы можете запускать gnome-terminal
с правами root с помощью одного из
gksu gnome-terminal
gksudo gnome-terminal
(Поскольку gksu
в Ubuntu по умолчанию установлено sudo-mode, они должны быть эквивалентны.)
Запуск gnome-terminal
от имени пользователя root без управляющего терминала без полномочий root:
Практически в каждой среде рабочего стола есть средство для запуска команды без необходимости открывать терминал (что в случае закрытия обычно приводит к прекращению выполнения команды).
Обычно это достигается с помощью Alt+ F2. Появится текстовое поле с меткой Выполнить команду (или аналогичное), и вы сможете ввести свою команду.
Например, в Unity это выглядит так:
И так в MATE (GNOME Flashback / Fallback, Xfce, LXDE похожи):
Обратите внимание, что это работает gksu
и gksudo
потому, что они используют графический диалог аутентификации. Если вы нажмете Alt+ F2и запустите sudo ...
, вы не сможете взаимодействовать с запросом пароля.
С sudo
Если у вас нет пакета gksu и вы не хотите его устанавливать, вы можете использовать:
sudo -H gnome-terminal
Этот -H
флаг важен, потому что он устанавливает HOME
переменную среды /root
вместо домашнего каталога вашего пользователя. Не следует использовать, sudo gnome-terminal
поскольку это может нарушить конфигурацию терминала gnome, принадлежащую пользователю без полномочий root. Для получения дополнительной информации об этом см .:
( sudo -i gnome-terminal
тоже хорошо.)
Избавляемся от управляющего некорневого терминала:
Если вы (1) открываете графический терминал, (2) запускаете что-то вроде sudo -H gnome-terminal
него, чтобы создать новый графический корневой терминал, и (3) выходите из исходного графического терминала без полномочий root ... тогда корневой графический терминал также завершает работу. ,
Это потому, что корневой графический терминал отправляется SIGHUP, когда терминал, которому он принадлежит, завершается.
Чтобы предотвратить это, вы можете подумать, что вместо этого можете запустить графический корневой терминал с помощью:
sudo -H gnome-terminal &
Но это будет работать, только если sudo
не нужно запрашивать пароль. Если это произойдет, вы не увидите запрос пароля.
Одним из способов обойти это является использование:
sudo -v
sudo -H gnome-terminal
sudo -v
существует только для этой цели. Как объясняется в статье man sudo
, он «обновляет [s] кэшированные учетные данные пользователя, аутентифицируя пользователя при необходимости».
Обратите внимание, что это по-прежнему не будет работать, если запускать прямо из поля Alt+ F2«команда запуска» среды рабочего стола , потому что вам все еще нужен терминал для ввода пароля sudo -v
.
Или вы можете сделать это так, что можно назвать традиционным способом, приостановив работу после ее запуска:
- Запустите
sudo -H gnome-terminal
из исходного некорневого графического терминала.
- Введите ваш пароль в соответствии с запросом
sudo
. Графический терминал запустится.
- В терминале без полномочий root нажмите Ctrl+, Zчтобы приостановить корневой терминал. Пока корневой терминал приостановлен, вы не можете его использовать; его интерфейс не будет реагировать на ваши действия.
- Выйдите из управляющего терминала без полномочий root с помощью
exit
. Задание графического корневого терминала будет автоматически приостановлено и отменено некорневым терминалом.
Короче:
sudo -H gnome-terminal
^Z
exit
Но предположим, что вы хотите продолжать использовать оригинальный терминал без полномочий root. Затем вы можете запустить , где находится номер задания графического корневого терминала, чтобы возобновить работу в фоновом режиме. Вы можете бежать, чтобы найти, но вам, вероятно, не придется - это число было показано, как когда вы нажимали + . Например:bg N
N
jobs
N
[N]
CtrlZ
ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek:
^Z
[1]+ Stopped sudo -H gnome-terminal
ek@Ilex:~$
gnome-terminal
. Так что попробуйsudo gnome-terminal
.