Эмулятор терминала по умолчанию в Ubuntu - это Терминал GNOME. Он расположен по адресу /usr/bin/gnome-terminal
и может быть запущен с помощью gnome-terminal
команда.
Чего Ты Действительно Хочешь
Что вам, вероятно, нужно, так это оболочка, работающая от имени root, как если бы она была создана из корневого входа (например, со всеми переменными среды, установленными для root, а не для вашего пользователя).
Предполагая, что это то, чего вы хотите, поскольку steeldriver предложил, просто беги:
sudo -i
У вас будет корневая оболочка, в которой вводимые вами команды будут выполняться от имени root (без необходимости предварять их sudo
).
Но если вы действительно хотите запустить приложение-эмулятор графического терминала от имени root, читайте дальше. Я представляю два способа: с gksu
/gksdo
, и с помощью sudo
команда.
Поскольку у вас есть гксу пакет установлен, вы можете запустить gnome-terminal
как корень с любым из:
gksu gnome-terminal
gksudo gnome-terminal
(С тех пор gksu
по умолчанию в Ubuntu установлен режим sudo, они должны быть эквивалентны.)
Бегущий gnome-terminal
как 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) закройте исходный некорневой графический терминал ...затем корневой графический терминал также завершает работу.
Это происходит потому, что отправляется корневой графический терминал ВЗДОХ когда терминал, которому он принадлежит, завершается.
Чтобы предотвратить это, вы могли бы подумать, что вместо этого вы могли бы запустить графический корневой терминал с:
sudo -H gnome-terminal &
Но это сработает только в том случае, если sudo
не нужно запрашивать пароль. Если это произойдет, вы не увидите запрос пароля.
В одну сторону чтобы обойти это, нужно использовать:
sudo -vsudo -H gnome-terminal
sudo -v
существует именно для этой цели. Как объяснено в man sudo
, он "обновляет кэшированные учетные данные пользователя, при необходимости аутентифицируя пользователя".
Обратите внимание, что это все равно не будет работать, если запускать непосредственно из среды вашего рабочего стола Alt+F2 поле "выполнить команду", потому что вам все еще нужен терминал для ввода вашего пароля для sudo -v
.
Или вы можете сделать это так, как можно было бы назвать традиционным способом, с помощью приостановка задания после его запуска:
- Бежать
sudo -H gnome-terminal
из исходного некорневого графического терминала.
- Введите свой пароль в соответствии с запросом
sudo
. Запустится графический терминал.
-
Все еще в некорневом терминале, нажмите Ctrl+Z чтобы приостановить работу корневого терминала. Пока корневой терминал приостановлен, вы не можете им пользоваться; его интерфейс не будет реагировать на ваши действия.
- Закройте управляющий некорневой терминал с помощью
exit
. Задание графического корневого терминала будет как приостановлено, так и отменено некорневым терминалом автоматически.
Короче говоря:
sudo -H gnome-terminal^Zexit
Но предположим, что вы тоже хотите продолжать использовать исходный, некорневой терминал. Тогда ты мог бы убежать bg N
, где N
это номер задания графического корневого терминала для возобновления работы в фоновом режиме. Ты можешь бежать jobs
находить N
но вам, вероятно, не придется этого делать - этот номер был показан как [N]
когда вы нажали Ctrl+Z. Например:
ek@Ilex:~$ sudo -H gnome-terminal[sudo] password for ek: ^Z[1]+ Остановил sudo -H gnome-terminalek@Ilex:~$