Емулятором терміналу за замовчуванням в 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 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
.