Емулятором терміналу за замовчуванням в Ubuntu є термінал GNOME . Він розташований в /usr/bin/gnome-terminalі може бути запущений за допомогою gnome-terminalкоманди.
Що ви дійсно хочете
Напевно, ви хочете, щоб оболонка працювала як root, ніби вона була створена з кореневим логіном (наприклад, з усіма змінними середовища, встановленими для root, а не для вашого користувача).
Якщо припустити, що ви хочете, як запропонував steeldriver , просто запустіть:
sudo -i
У вас буде коренева оболонка, в якій команди, які ви вводите, будуть запускатися як root (без того, щоб їх передували sudo).
Але якщо ви дійсно хочете запустити програму графічного емулятора терміналу як корінь, читайте далі. Я представляю два способи: з gksu/ gksdoі з sudoкомандою.
Оскільки у вас встановлений пакет gksu
, ви можете запустити gnome-terminalяк root з будь-якого з:
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оскільки це може привести до поломки гном-термінал конфігурацію , що належать не суперкористувача. Докладніше про це див.
( sudo -i gnome-terminalце також добре.)
Позбавлення керуючого некореневого терміналу:
Якщо ви (1) відкриєте графічний термінал, (2) запустите щось подібне sudo -H gnome-terminalдо нього, щоб створити новий графічний кореневий термінал, і (3) вийти з оригінального некореневого графічного терміналу ... тоді і кореневий графічний термінал закривається .
Це відбувається тому, що кореневий графічний термінал надсилається 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. Запуститься графічний термінал.
- Все ж у некореневому терміналі натисніть Ctrl+, Zщоб призупинити кореневий термінал. Поки кореневий термінал призупинено, ви не можете його використовувати; його інтерфейс не реагуватиме на ваші дії.
- Закрийте керуючий некореневий термінал за допомогою
exit. Завдання графічного кореневого терміналу буде як призупинено, так і відключено некореневим терміналом автоматично.
Коротко:
sudo -H gnome-terminal
^Z
exit
Але припустимо, ви хотіли й надалі використовувати оригінальний, некореневий термінал. Тоді ви можете запустити , де знаходиться номер завдання графічного кореневого терміналу, щоб відновити роботу у фоновому режимі. Ви можете бігти, щоб знайти, але вам, ймовірно, не доведеться - це число відображалося, як коли ви натискали + . Наприклад:bg NNjobsN[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.