Когда мы хотим запустить программы как корень мы используем sudo
, gksu
, gksudo
и т.д. Теперь мой вопрос , как же мы можем запустить терминал в качестве суперпользователя в терминале?
Я попытался с помощью gksudo terminal
и , gksu terminal
но ничего не происходит. и бегом sudo terminal
я получаю ошибку sudo: terminal: command not found
.
gnome-terminal
root
αғsнιη
источник
источник
gnome-terminal
. Так что попробуйsudo gnome-terminal
.sudo -i
?sudo
не следует использовать для запуска таких графических программ. Еслиgksu
/gksudo
не (или не может быть) установлен,sudo -H ...
(илиsudo -i ...
) можно использовать для запуска графического приложения...
от имени пользователя root.Ответы:
Эмулятор терминала по умолчанию в Ubuntu - это терминал GNOME . Он расположен в
/usr/bin/gnome-terminal
и может быть запущен с помощьюgnome-terminal
команды.Что вы действительно хотите
Вероятно, вам понадобится оболочка, работающая от имени пользователя root, как если бы она была получена от имени пользователя root (например, все переменные среды установлены для пользователя root, а не для вашего пользователя).
Предполагая, что это то, что вы хотите, как предложил Steeldriver , просто запустите:
У вас будет корневая оболочка, в которой введенные вами команды будут выполняться от имени пользователя root (без необходимости предшествовать им
sudo
).Но если вы действительно хотите запустить приложение эмулятора графического терминала от имени пользователя root, читайте дальше. Я представляю два способа: с
gksu
/gksdo
и с помощьюsudo
команды.С
gksu
/gksudo
Поскольку у вас установлен пакет gksu , вы можете запускать
gnome-terminal
с правами root с помощью одного из(Поскольку
gksu
в Ubuntu по умолчанию установлено sudo-mode, они должны быть эквивалентны.)Запуск
gnome-terminal
от имени пользователя root без управляющего терминала без полномочий root:Практически в каждой среде рабочего стола есть средство для запуска команды без необходимости открывать терминал (что в случае закрытия обычно приводит к прекращению выполнения команды).
Обычно это достигается с помощью Alt+ F2. Появится текстовое поле с меткой Выполнить команду (или аналогичное), и вы сможете ввести свою команду.
Например, в Unity это выглядит так:
И так в MATE (GNOME Flashback / Fallback, Xfce, LXDE похожи):
Обратите внимание, что это работает
gksu
иgksudo
потому, что они используют графический диалог аутентификации. Если вы нажмете Alt+ F2и запуститеsudo ...
, вы не сможете взаимодействовать с запросом пароля.С
sudo
Если у вас нет пакета gksu и вы не хотите его устанавливать, вы можете использовать:
Этот
-H
флаг важен, потому что он устанавливаетHOME
переменную среды/root
вместо домашнего каталога вашего пользователя. Не следует использовать,sudo gnome-terminal
поскольку это может нарушить конфигурацию терминала gnome, принадлежащую пользователю без полномочий root. Для получения дополнительной информации об этом см .:(
sudo -i gnome-terminal
тоже хорошо.)Избавляемся от управляющего некорневого терминала:
Если вы (1) открываете графический терминал, (2) запускаете что-то вроде
sudo -H gnome-terminal
него, чтобы создать новый графический корневой терминал, и (3) выходите из исходного графического терминала без полномочий root ... тогда корневой графический терминал также завершает работу. ,Это потому, что корневой графический терминал отправляется SIGHUP, когда терминал, которому он принадлежит, завершается.
Чтобы предотвратить это, вы можете подумать, что вместо этого можете запустить графический корневой терминал с помощью:
Но это будет работать, только если
sudo
не нужно запрашивать пароль. Если это произойдет, вы не увидите запрос пароля.Одним из способов обойти это является использование:
sudo -v
существует только для этой цели. Как объясняется в статьеman sudo
, он «обновляет [s] кэшированные учетные данные пользователя, аутентифицируя пользователя при необходимости».Обратите внимание, что это по-прежнему не будет работать, если запускать прямо из поля Alt+ F2«команда запуска» среды рабочего стола , потому что вам все еще нужен терминал для ввода пароля
sudo -v
.Или вы можете сделать это так, что можно назвать традиционным способом, приостановив работу после ее запуска:
sudo -H gnome-terminal
из исходного некорневого графического терминала.sudo
. Графический терминал запустится.exit
. Задание графического корневого терминала будет автоматически приостановлено и отменено некорневым терминалом.Короче:
Но предположим, что вы хотите продолжать использовать оригинальный терминал без полномочий root. Затем вы можете запустить , где находится номер задания графического корневого терминала, чтобы возобновить работу в фоновом режиме. Вы можете бежать, чтобы найти, но вам, вероятно, не придется - это число было показано, как когда вы нажимали + . Например:
bg N
N
jobs
N
[N]
CtrlZисточник
xterm
. сколько терминалов существует в Ubuntu?Краткий ответ:
открывает терминал как root:
Не нужно объяснять, что вы можете использовать это, чтобы открыть любой терминал как root; например, Vala (
gksudo vala-terminal
), Xterm (gksudo xterm
), Termit (gksudo termit
), UXTerm (gksudo uxterm
), Konsole (gksudo konsole
) и так далее.источник
sudo x-terminal-emulator
?gksu x-terminal-emulator
,gksudo x-terminal-emulator
,kdesudo x-terminal-emulator
(если рабочий стол среда KDE),sudo -H x-terminal-emulator
илиsudo -i x-terminal-emulator
вместо этого, чтобы избежать этой проблемы . Аналогично,sudo gedit
не следует использовать для запускаgedit
с правами root.Как уже говорилось ранее, вы спрашиваете, как запустить Terminal от имени пользователя root, но, скорее всего, вы действительно хотите запустить графическое приложение Terminal от имени обычного пользователя и запустить внутри него корневую оболочку, в которой вы вошли в систему как пользователь root. Таким образом, графическому терминальному приложению не предоставляются привилегии root. Предыдущие ответы, похоже, не дают четких командных строк для использования, поэтому вот что я использую.
С xterm
xterm -bg black -fg red -e sudo -i
'-E sudo -i' говорит xterm переключиться на root в сеансе, и цвета просто для того, чтобы было совершенно очевидно, что это корневая оболочка.
С терминалом Gnome
gnome-terminal -- sudo -i
Лично я связываю привязки клавиш Gnome, чтобы легко запускать терминалы
Перейдите в настройки клавиатуры, добавьте пользовательский ярлык с помощью ярлыка Super + X и команду 'xterm -bg black -fg white -sb -sl 5000', а также root xterm с ярлыком Super + Z и командой 'xterm -bg black -fg red - sb -sl 5000 -e sudo -i '.
В прошлом я склонялся к тому, чтобы предпочесть xterm терминалу Gnome, потому что шрифт маленький и простой, но теперь я перехожу к терминалу, и теперь я запускаю большие экраны с высоким DPI. Цветовое кодирование ваших терминалов - очень хорошая идея, когда вы начинаете запускать различные профили с опасными последствиями, чтобы избежать несчастных случаев (например, локальный корень, машина удаленного клиента, корень удаленного клиента).
источник
Есть еще один способ сделать это, протестировано и работает на Ubuntu 16.04 LTS:
Сначала установите gnome-панель:
Затем установите gksu:
После завершения установки запустите:
Это создает ярлык на рабочем столе. Вы должны иметь возможность назвать это. Я назвал мой «X-Term», но ты можешь называть свой почти как угодно. Введите
/usr/bin/gksu
* для пути «Command».При запуске нового ярлыка на рабочем столе вам будет предложено запустить приложение. Введите:
xterm
.Теперь вам будет предложено ввести пароль; как только вы введете его, у вас будет доступ к рабочему корневому терминалу. Не забудьте использовать только тогда, когда это абсолютно необходимо, и закройте, когда вы закончите с ним.
* при условии, что вы установили Ubuntu с настройками по умолчанию и не изменили ни одну из файловых систем с момента установки.
источник
Я использую Debian 9 Stretch
Перейти к сочетаниям клавиш, добавьте команду, как это:
`gksu / usr / bin / x-терминал-эмулятор '
Я поставил
Super + T
как ярлык.Теперь каждый раз, когда вы хотите открыть терминал от имени пользователя root, просто введите ярлык
Я надеюсь, что это может помочь кому-то в будущем
источник
Вы можете запустить интерактивную оболочку с:
Для получения дополнительной информации сделайте:
и прочитайте
-s --shell
раздел.источник