web-dev-qa-db-fra.com

Comment exécuter Terminal en tant que root?

Lorsque nous voulons exécuter un programme en tant que root, nous utilisons Sudoname__, gksuname__, gksudoet 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.

30
αғsнιη

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 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 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.

Avec gksu/gksudo

Depuis que vous avez le gksu Install 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.)

Exécution de 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:

Run a command textbox in Unity

Et comme ceci dans MATE (GNOME Flashback/Fallback, Xfce, LXDE sont similaires):

Run Command dialog box in MATE

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.

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'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.)

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 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:

  1. Exécutez Sudo -H gnome-terminal à partir du terminal graphique non racine d'origine.
  2. Entrez votre mot de passe comme demandé par Sudo. Le terminal graphique va démarrer.
  3. Toujours dans le terminal non root, appuyez sur Ctrl+Z 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.
  4. Quittez le terminal non root contrôlant 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. 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:~$
47
Eliah Kagan

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.

6
Jacob Vlijm

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.

Avec xterm

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.

Avec Gnome Terminal

gnome-terminal -- Sudo -i

Personnellement, je lie les raccourcis clavier Gnome pour lancer facilement les terminaux

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).

1
Neek

J'utilise Debian 9 Stretch

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

0
Marcelo Rafael

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: xtermname__.

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.

0