Lorsque nous voulons exécuter un programme en tant que root, nous utilisons Sudo
name__, gksu
name__, gksudo
et etc. Maintenant, ma question est de savoir comment exécuter un terminal en tant qu'utilisateur root dans Terminal.
J'ai essayé d'utiliser gksudo terminal
et gksu terminal
mais rien ne se passe. et en exécutant Sudo terminal
j'obtiens l'erreur Sudo: terminal: command not found
.
L'émulateur de terminal par défaut sur Ubuntu est le terminal GNOME . Il se trouve à /usr/bin/gnome-terminal
et peut être exécuté avec la commande gnome-terminal
.
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 racine (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 saisirez seront exécutées en tant que root (sans avoir à les précéder de Sudo
).
Mais si vous voulez vraiment exécuter l'application d'émulateur de terminal graphique en tant que root, continuez. Je présente deux méthodes: avec gksu
/gksdo
et avec la commande Sudo
.
gksu
/gksudo
Depuis que vous avez le gksu package installé, vous pouvez exécuter gnome-terminal
en tant que root avec l’un des éléments suivants:
gksu gnome-terminal
gksudo gnome-terminal
(Étant donné que gksu
est défini par défaut sur Sudo-mode dans Ubuntu, ils devraient être équivalents.)
gnome-terminal
en 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 ceci dans MATE (GNOME Flashback/Fallback, Xfce, LXDE sont similaires):
Notez que ceci fonctionne avec gksu
et gksudo
car ils utilisent une boîte de dialogue d’authentification graphique. Si vous deviez appuyer sur Alt+F2 et exécutez Sudo ...
, vous ne pourrez alors plus interagir avec l'invite de mot de passe.
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'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 not utiliser Sudo gnome-terminal
car cela peut casser la configuration gnome-terminal appartenant à l'utilisateur non root. Pour plus d'informations à ce sujet, voir:
(Sudo -i gnome-terminal
est également acceptable.)
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 racine d'origine ... puis le terminal graphique racine se ferme également.
C'est parce 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 si Sudo
n'a pas à demander de mot de passe. Si tel est le cas, vous ne verrez pas le mot de passe Invite.
One way Pour contourner ce problème, utilisez:
Sudo -v
Sudo -H gnome-terminal
Sudo -v
existe uniquement à cette fin. Comme expliqué dans man Sudo
, il "met à jour les informations d'identification mises en cache de l'utilisateur, en l'authentifiant si nécessaire."
Notez que cela ne fonctionnera toujours pas s’il est exécuté directement à partir de votre environnement de bureau. Alt+F2 "run command", car vous avez toujours besoin d’un terminal pour saisir votre mot de passe pour Sudo -v
.
O vous pouvez le faire de la manière que l'on pourrait appeler la manière traditionnelle, par - suspendre le travail après son démarrage:
Sudo -H gnome-terminal
à partir du terminal graphique non racine d'origine.Sudo
. Le terminal graphique va démarrer.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. Ensuite, vous pouvez 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 numéro a été affiché comme [N]
lorsque pressé Ctrl+Z. Par exemple:
ek@Ilex:~$ Sudo -H gnome-terminal
[Sudo] password for ek:
^Z
[1]+ Stopped Sudo -H gnome-terminal
ek@Ilex:~$
Réponse courte:
gksudo gnome-terminal
(assuming gksu is installed)
ouvre un terminal en tant que root:
root@jacob-Satellite-L300:~#
Inutile d'expliquer que vous pouvez utiliser ceci pour ouvrir le terminal any en tant que root, comme ceci; comme Vala (gksudo vala-terminal
), Xterm (gksudo xterm
), Termit (gksudo termit
), UXTerm (gksudo uxterm
), Konsole (gksudo konsole
) et ainsi de suite.
Comme indiqué précédemment, vous demandez comment exécuter Terminal en tant que root, mais il est plus probable que vous souhaitiez réellement exécuter l'application graphique Terminal en tant qu'utilisateur normal et démarrer un shell racine à l'intérieur duquel vous êtes connecté en tant que root. De cette manière, l’application de terminal graphique n’est pas dotée des privilèges root. Les réponses précédentes ne semblent pas donner des lignes de commande claires à utiliser, donc voici ce que j'utilise.
xterm -bg black -fg red -e Sudo -i
Le '-e Sudo -i' indique à xterm de passer à la racine dans la session, et les couleurs ne font que rendre très évident qu'il s'agit d'un shell racine.
gnome-terminal -- Sudo -i
Accédez aux paramètres du clavier, ajoutez un raccourci personnalisé avec Shortcut Super + X et la commande 'xterm -bg noir -fg blanc -sb -sl 5000', et xterm racine avec raccourci Super + Z et la commande 'xterm -bg black -fg rouge - sb -sl 5000 -e Sudo -i '.
Dans le passé, j’avais tendance à préférer xterm à Gnome Terminal parce que la police est petite et simple, mais j’arrive à Terminal, je lance maintenant des écrans géants à haute résolution. Le codage couleur de vos terminaux est une très bonne idée lorsque vous commencez à exécuter différents profils avec des conséquences dangereuses pour éviter les accidents (par exemple, la racine locale, la machine du client distant, la racine du client distant).
Accédez aux raccourcis clavier, ajoutez une commande comme celle-ci:
`gksu/usr/bin/émulateur de terminal x '
J'avais mis Super + T
comme raccourci.
Maintenant, chaque fois que vous voulez ouvrir un terminal en tant que root, tapez simplement votre raccourci
J'espère que cela pourra aider quelqu'un à l'avenir
Il existe un autre moyen de le faire, testé et fonctionnant sous Ubuntu 16.04 LTS:
Installez d'abord le panneau de gnome:
Sudo apt install gnome-panel
Puis installez gksu:
Sudo apt install gksu
Une fois l'installation terminée, exécutez:
gnome-desktop-item-edit ~/Desktop/ --create-new
Cela crée un raccourci sur le bureau. Vous devriez avoir la possibilité de le nommer. J'ai appelé le mien 'X-Term' mais tu peux appeler le tien à peu près comme tu veux. Tapez /usr/bin/gksu
* pour le chemin d'accès à la commande.
Lorsque vous lancez votre nouveau raccourci sur le bureau, vous serez invité à exécuter une application. Tapez: xterm
name__.
Vous serez maintenant invité à entrer votre mot de passe. une fois que vous y entrez, vous aurez accès à un terminal racine en état de fonctionnement. N'oubliez pas d'utiliser uniquement lorsque c'est absolument nécessaire et fermez-le lorsque vous avez terminé.
* en supposant que vous avez installé Ubuntu avec les paramètres par défaut et que vous n'avez modifié aucun des systèmes de fichiers de manière significative depuis l'installation.