Le terminal par défaut sur Ubuntu est le Terminal GNOME. Il est situé à /usr/bin/gnome-terminal
et peut être exécuté avec la commande gnome-terminal
.
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é produit à partir d'une connexion en tant que root (par exemple, avec tous les variables d'environnement définies pour root plutôt que pour votre utilisateur).
Supposons que c'est ce que vous voulez, comme steeldriver l'a suggéré, il suffit d'exécuter :
sudo -i
Vous aurez un shell root dans lequel les commandes que vous entrez seront exécutées en tant que root (sans avoir à les précéder par sudo
).
Mais si vous voulez vraiment exécuter l'application émulateur de terminal graphique en tant que root, lisez la suite. Je présente deux façons : avec gksu
/gksudo
, et avec la commande sudo
.
Puisque vous avez le paquet gksu installé, vous pouvez exécuter gnome-terminal
en tant que root avec l'un des éléments suivants :
gksu gnome-terminal
gksudo gnome-terminal
(Puisque gksu
est réglé en mode sudo par défaut sous Ubuntu, ces commandes devraient être équivalentes.)
Exécuter gnome-terminal
en tant que root sans terminal non-root contrôlant :
Pratiquement chaque environnement de bureau fournit une fonctionnalité pour exécuter une commande sans avoir à ouvrir un terminal (qui, s'il est fermé, causerait généralement l'arrêt de la commande).
C'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 y 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
car ils utilisent une boîte de dialogue d'authentification graphique. Si vous appuyez sur Alt+F2 et exécutez sudo ...
, alors vous ne pourrez pas interagir avec le prompt du mot de passe.
Avec sudo
Si vous n'avez pas le paquet gksu et que vous ne voulez pas l'installer, vous pouvez utiliser :
sudo -H gnome-terminal
Le drapeau -H
est important car il définir la variable d'environnement HOME
sur /root
au lieu du répertoire personnel de votre propre utilisateur. Vous ne devriez pas utiliser sudo gnome-terminal
car cela peut casser la configuration de gnome-terminal appartenant à l'utilisateur non-root. Pour plus d'informations à ce sujet, consultez :
(sudo -i gnome-terminal
fonctionne aussi.)
Se débarrasser du terminal non-root contrôlant :
Si vous (1) ouvrez un terminal graphique, (2) exécutez quelque chose comme sudo -H gnome-terminal
dedans pour créer un nouveau terminal graphique en tant que root, et (3) quittez le terminal graphique non-root original ... alors le terminal graphique root se fermera également.
Cela est dû au fait que le terminal graphique root reçoit un SIGHUP lorsque le terminal qui le possède est fermé.
Pour éviter cela, vous pourriez penser que vous pourriez plutôt lancer le terminal graphique root avec :
sudo -H gnome-terminal &
Mais cela ne fonctionnera que si sudo
n'a pas à demander un mot de passe. Si c'est le cas, vous ne verrez pas le prompt du mot de passe.
Une façon de contourner cela est d'utiliser :
sudo -v
sudo -H gnome-terminal
sudo -v
existe à cet effet. Comme expliqué dans man sudo
, il "met à jour les informations d'identification mises en cache de l'utilisateur, authentifiant l'utilisateur si nécessaire."
Notez que cela ne fonctionnera toujours pas si vous l'exécutez directement depuis la boîte de dialogue de commande "Exécuter" de votre environnement de bureau Alt+F2, car vous aurez quand même besoin d'un terminal pour entrer votre mot de passe pour sudo -v
.
Ou vous pouvez le faire à la manière traditionnelle, en suspendant le travail après son démarrage :
- Exécutez
sudo -H gnome-terminal
depuis le terminal graphique non-root original.
- Entrez votre mot de passe tel que demandé par
sudo
. Le terminal graphique va démarrer.
- Toujours dans le terminal non-root, appuyez sur Ctrl+Z pour suspendre le terminal root. Pendant que le terminal root est suspendu, vous ne pouvez pas l'utiliser; son interface ne réagira pas à vos actions.
- Quittez le terminal non-root contrôlant avec
exit
. Le travail du terminal graphique root sera à la fois remis en service et dissocié du terminal non-root, automatiquement.
En bref :
sudo -H gnome-terminal
^Z
exit
Mais supposons que vous vouliez continuer à utiliser le terminal non-root original. Alors vous pourriez exécuter bg **_N_**
, où N
est le numéro du travail du terminal graphique root, pour reprendre le travail en arrière-plan. Vous pouvez exécuter jobs
pour trouver l'identifiant N
mais vous n'aurez probablement pas besoin de le faire--ce nombre était affiché en tant que [**_N_**]
lorsque vous avez appuyé sur Ctrl+Z. Par exemple :
ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek:
^Z
[1]+ Stopped sudo -H gnome-terminal
ek@Ilex:~$