L'émulateur de terminal par défaut sur Ubuntu est le terminal GNOME . Il est situé à /usr/bin/gnome-terminal
et peut être exécuté avec la gnome-terminal
commande.
Ce que vous voulez vraiment
Ce que vous voulez probablement, c'est un shell s'exécutant en tant que root, comme s'il avait été créé à partir d'un login root (par exemple, avec toutes les variables d'environnement définies pour root plutôt que pour votre utilisateur).
En supposant que ce que vous voulez, comme l' a suggéré Steeldriver , lancez simplement:
sudo -i
Vous aurez un shell root dans lequel les commandes que vous saisirez seront exécutées en tant que root (sans avoir à les précéder sudo
).
Mais si vous voulez vraiment exécuter l'application d'émulateur de terminal graphique en tant que root, lisez la suite. Je présente deux manières: avec gksu
/ gksdo
et avec la sudo
commande.
Le paquetage gksu étant installé, vous pouvez exécuter en gnome-terminal
tant que root l’un des éléments suivants:
gksu gnome-terminal
gksudo gnome-terminal
(Puisque gksu
est défini par défaut sur sudo-mode dans Ubuntu, ces valeurs devraient être équivalentes.)
Exécution en gnome-terminal
tant que root sans terminal non-root de contrôle:
Pratiquement tous les environnements de bureau offrent la possibilité d’exécuter une commande sans avoir à ouvrir un terminal (ce qui, s’il était fermé, entraînerait généralement l’arrêt de la commande).
Ceci est généralement réalisé avec Alt+ F2. Une zone de texte intitulée Exécuter la commande (ou similaire) apparaîtra et vous pourrez entrer votre commande.
Par exemple, cela ressemble à ceci dans Unity:
Et comme cela dans MATE (GNOME Flashback / Fallback, Xfce, LXDE sont similaires):
Notez que cela fonctionne avec gksu
et gksudo
parce qu'ils utilisent une boîte de dialogue d'authentification graphique. Si vous deviez appuyer sur Alt+ F2et exécuter sudo ...
, vous ne seriez plus en mesure d'interagir avec l'invite de mot de passe.
Avec sudo
Si vous n'avez pas le paquetage gksu et que vous ne voulez pas l'installer, vous pouvez utiliser:
sudo -H gnome-terminal
L' -H
indicateur est important car il définit la HOME
variable d'environnement à la /root
place du répertoire de base de votre propre utilisateur. Vous ne devriez pas utiliser sudo gnome-terminal
car cela risquerait de casser la configuration de gnome-terminal appartenant à l'utilisateur non root. Pour plus d'informations à ce sujet, voir:
( sudo -i gnome-terminal
est aussi d'accord.)
Se débarrasser du terminal non root contrôlant:
Si vous (1) ouvrez un terminal graphique, (2) exécutez quelque chose de similaire sudo -H gnome-terminal
, pour créer un nouveau terminal racine graphique, et (3) quittez le terminal graphique non racine d'origine ... alors le terminal graphique racine se ferme également .
Ceci est dû au fait que le terminal graphique racine est envoyé SIGHUP lorsque le terminal qui le possède est quitté.
Pour éviter cela, vous pourriez peut-être plutôt lancer le terminal racine graphique avec:
sudo -H gnome-terminal &
Mais cela ne fonctionnera que s'il sudo
n'est pas nécessaire de demander un mot de passe. Si tel est le cas, l'invite du mot de passe ne s'affiche pas.
Une façon de contourner ce problème consiste à utiliser:
sudo -v
sudo -H gnome-terminal
sudo -v
existe uniquement dans ce but. Comme expliqué dans man sudo
, cela "met à jour les informations d'identification mises en cache de l'utilisateur, authentifiant l'utilisateur si nécessaire."
Notez que cela ne fonctionne toujours pas s'il est exécuté directement à partir de votre environnement de bureau Alt+ F2boîte « ordre de marche », parce que vous avez encore besoin d' un terminal pour entrer votre mot de passe pour sudo -v
.
Ou vous pouvez le faire de manière dite traditionnelle, en suspendant le travail après son démarrage:
- Exécuter à
sudo -H gnome-terminal
partir du terminal graphique non racine d'origine.
- Entrez votre mot de passe comme demandé par
sudo
. Le terminal graphique va démarrer.
- Toujours dans le terminal non root , appuyez sur Ctrl+ Zpour suspendre le terminal root. Tant que le terminal root est suspendu, vous ne pouvez pas l'utiliser. son interface ne répondra pas à vos actions.
- Quittez le terminal de contrôle non root avec
exit
. Le travail du terminal racine graphique sera automatiquement suspendu et rejeté par le terminal non root.
En bref:
sudo -H gnome-terminal
^Z
exit
Mais supposons que vous vouliez continuer à utiliser le terminal non root original. Vous pouvez ensuite exécuter , où se trouve le numéro de travail du terminal racine graphique, pour reprendre le travail en arrière-plan. Vous pouvez courir pour trouver mais vous n’aurez probablement pas à le faire - ce numéro s’affiche comme lorsque vous avez appuyé sur + . Par exemple: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
. Alors essayezsudo gnome-terminal
.