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 commande gnome-terminal
.
Ce que vous voulez vraiment
Ce que vous voulez sans doute, c’est un shell fonctionnant en tant que root, comme s’il était produit à partir d’une connexion root (par exemple, avec toutes les variables d’environnement définies pour root plutôt que pour votre utilisateur).
En supposant que c'est ce que vous voulez, comme Steeldriver a suggéré , lancez simplement :
sudo -i
Vous aurez un shell racine dans lequel les commandes que vous entrez seront exécutées en tant que root (sans devoir les faire précéder de sudo
).
Mais si vous voulez vraiment lancer l'application de l'émulateur de terminal graphique en tant que root, lisez la suite. Je présente deux manières: avec gksu
/ gksdo
et avec la commande sudo
.
Avec gksu
/ gksudo
Comme vous avez le gksu
installé, vous pouvez exécuter gnome-terminal
en tant que root avec l'un des:
gksu gnome-terminal
gksudo gnome-terminal
(Puisque gksu
est défini sur sudo-mode dans Ubuntu par défaut, ceux-ci devraient être équivalents.)
Exécution de gnome-terminal
en tant que root sans terminal non root contrôlant:
Pratiquement tous les environnements de bureau offrent la possibilité d’exécuter une commande sans avoir à ouvrir un terminal (ce qui entraînerait la fermeture de la commande si elle était fermée).
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 saisir votre commande.
Par exemple, cela ressemble à ceci dans Unity:
Et comme dans MATE (Flashback / Fallback GNOME, 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 ...
, vous ne pourrez alors pas interagir avec l'invite de mot de passe.
Avec sudo
Si vous ne possédez pas le paquet gksu et que vous ne souhaitez pas l’installer, vous pouvez utiliser:
sudo -H gnome-terminal
L'indicateur -H
est important car il définit la variable d'environnement HOME
sur /root
au lieu du répertoire de base de votre propre utilisateur. Vous 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, voir:
( sudo -i gnome-terminal
est également correct.)
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
pour créer un nouveau terminal racine graphique, et (3) quitte le terminal graphique non root d'origine, puis 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 sorti.
Pour éviter cela, vous pourriez penser que vous pourriez plutôt lancer le terminal racine graphique 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 l'invite de mot de passe.
Une solution pour contourner ce problème consiste à utiliser:
sudo -v
sudo -H gnome-terminal
sudo -v
existe uniquement pour cette raison. Comme expliqué dans man sudo
, il "met à jour les informations d'identification de l'utilisateur en cache, en authentifiant le utilisateur si nécessaire. "
Notez que cela ne fonctionnera toujours pas si vous exécutez directement depuis la boîte Alt + F2 de votre environnement de bureau, car vous avez toujours besoin d'un terminal pour entrez votre mot de passe pour sudo -v
.
Ou vous pouvez le faire de la manière classique, en suspendant le travail après son démarrage:
- Exécutez
sudo -H gnome-terminal
à partir du terminal graphique non root d'origine.
- Entrez votre mot de passe à l'invite de
sudo
. Le terminal graphique démarrera.
-
Toujours dans le terminal non root , appuyez sur Ctrl + Z pour suspendre le terminal racine. Tant que le terminal racine est suspendu, vous ne pouvez pas l'utiliser. son interface ne répondra pas à vos actions.
- Quittez le terminal non root contrôlant avec
exit
. Le travail du terminal racine graphique sera automatiquement suspendu et annulé 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 bg N
, où N
est le numéro de travail du terminal racine graphique pour reprendre le travail en arrière-plan. Vous pouvez exécuter jobs
pour trouver N
mais vous n'aurez probablement pas à le faire - ce nombre était affiché sous la forme [N]
lorsque vous avez appuyé sur Ctrl + Z . Par exemple:
[email protected]:~$ sudo -H gnome-terminal
[sudo] password for ek:
^Z
[1]+ Stopped sudo -H gnome-terminal
[email protected]:~$