Wenn wir wollen , ein Programm als root ausführen wir verwenden sudo
, gksu
, gksudo
usw. Nun meine Frage ist , wie können wir einen Terminal als Root - Benutzer im Terminal laufen?
Ich habe versucht mit gksudo terminal
und gksu terminal
aber nichts passiert. und beim laufen sudo terminal
bekomme ich fehler sudo: terminal: command not found
.
gnome-terminal
root
αғsнιη
quelle
quelle
gnome-terminal
. Also versuch essudo gnome-terminal
.sudo -i
?sudo
sollte nicht verwendet werden, um solche Grafikprogramme auszuführen. Wenngksu
/gksudo
nicht installiert ist (oder möglicherweise nicht installiert ist ), kannsudo -H ...
(odersudo -i ...
) eine grafische Anwendung...
als Root ausgeführt werden.Antworten:
Der Standard-Terminal-Emulator unter Ubuntu ist das GNOME-Terminal . Es befindet sich unter
/usr/bin/gnome-terminal
und kann mit demgnome-terminal
Befehl ausgeführt werden.Was Sie wirklich wollen
Was Sie wahrscheinlich wollen, ist eine Shell, die als root ausgeführt wird, als ob sie von einem root-Login erstellt worden wäre (zum Beispiel mit allen Umgebungsvariablen, die für root und nicht für Ihren Benutzer festgelegt wurden).
Angenommen, Sie möchten, wie von steeldriver vorgeschlagen , Folgendes ausführen:
Sie haben eine Root-Shell, in der die von Ihnen eingegebenen Befehle als Root ausgeführt werden (ohne dass sie vorangestellt werden müssen
sudo
).Wenn Sie die grafische Terminalemulator-Anwendung jedoch wirklich als Root ausführen möchten, lesen Sie weiter. Ich präsentiere zwei Möglichkeiten: mit
gksu
/gksdo
und mit demsudo
Befehl.Mit
gksu
/gksudo
Da Sie das gksu- Paket installiert haben, können Sie
gnome-terminal
als root eines der folgenden Programme ausführen :(Da
gksu
in Ubuntu standardmäßig der Sudo-Modus eingestellt ist, sollten diese gleichwertig sein.)Laufen
gnome-terminal
als root ohne kontrollierendes Nicht-Root-Terminal:Praktisch jede Desktop-Umgebung bietet die Möglichkeit, einen Befehl auszuführen, ohne ein Terminal öffnen zu müssen (was dann, wenn es geschlossen wird, in der Regel dazu führt, dass der Befehl beendet wird).
Dies wird normalerweise mit Alt+ erreicht F2. Ein Textfeld mit der Bezeichnung Befehl ausführen (oder ähnliches) wird angezeigt, und Sie können Ihren Befehl eingeben.
In Unity sieht es beispielsweise so aus:
Und so in MATE (GNOME Flashback / Fallback, Xfce, LXDE sind ähnlich):
Beachten Sie, dass dies mit
gksu
und funktioniert,gksudo
da sie einen grafischen Authentifizierungsdialog verwenden. Wenn Sie Alt+ drücken F2und ausführensudo ...
, können Sie nicht mit der Passwortabfrage interagieren.Mit
sudo
Wenn Sie das gksu-Paket nicht haben und es nicht installieren möchten, können Sie Folgendes verwenden:
Das
-H
Flag ist wichtig, da es dieHOME
Umgebungsvariable auf/root
anstelle des Basisverzeichnisses des eigenen Benutzers setzt. Sie sollten nicht verwenden,sudo gnome-terminal
da dies die Konfiguration des Gnome-Terminals des Nicht-Root-Benutzers beschädigen kann. Weitere Informationen hierzu finden Sie unter:(
sudo -i gnome-terminal
Ist auch in Ordnung.)Das kontrollierende Nicht-Root-Terminal loswerden:
Wenn Sie (1) ein Grafikterminal öffnen, (2) so etwas wie
sudo -H gnome-terminal
darin ausführen , um ein neues Grafikterminal zu erstellen, und (3) das ursprüngliche Nicht-Root-Grafikterminal beenden, wird auch das Root-Grafikterminal beendet .Dies liegt daran, dass dem grafischen Root-Terminal SIGHUP gesendet wird, wenn das Terminal, dessen Eigentümer es ist, beendet wird.
Um dies zu verhindern, könnten Sie denken, Sie könnten das grafische Root-Terminal stattdessen mit folgendem Befehl starten:
Dies funktioniert
sudo
jedoch nur, wenn Sie nicht zur Eingabe eines Kennworts aufgefordert werden müssen. In diesem Fall wird die Passwortabfrage nicht angezeigt.Eine Möglichkeit , dies zu umgehen, besteht darin, Folgendes zu verwenden:
sudo -v
existiert nur für diesen Zweck. Wie unterman sudo
"Aktualisieren der zwischengespeicherten Anmeldeinformationen des Benutzers und Authentifizieren des Benutzers, falls erforderlich" erläutert .Beachten Sie, dass dies immer noch nicht funktioniert, wenn Sie direkt über das Feld Alt+ F2"Befehl ausführen" Ihrer Desktop-Umgebung ausgeführt werden, da Sie immer noch ein Terminal benötigen, für das Sie Ihr Kennwort eingeben können
sudo -v
.Oder man kann es intunwas könnte die traditionelle ArtWeise genannt werden, durch den Auftrag zur Aussetzung nach dem Start:
sudo -H gnome-terminal
vom ursprünglichen grafischen Terminal ohne Rootberechtigung aus.sudo
. Das Grafikterminal wird gestartet.exit
. Der grafische Root-Terminal-Job wird vom Nicht-Root-Terminal automatisch sowohl nicht suspendiert als auch abgelehnt.Zusamenfassend:
Angenommen, Sie möchten weiterhin das ursprüngliche Nicht-Root-Terminal verwenden. Anschließend können Sie ausführen , wo sich die Auftragsnummer des grafischen Root-Terminals befindet, um den Auftrag im Hintergrund fortzusetzen. Du kannst rennen , um zu finden, aber du musst es wahrscheinlich nicht - diese Nummer wurde so angezeigt, als du + gedrückt hast . Beispielsweise:
bg N
N
jobs
N
[N]
CtrlZquelle
xterm
. Wie viele Terminals gibt es in Ubuntu?Kurze Antwort:
öffnet ein Terminal als root:
Sie müssen nicht erklären, dass Sie damit ein beliebiges Terminal wie dieses als root öffnen können . wie Vala (
gksudo vala-terminal
), Xterm (gksudo xterm
), Termit (gksudo termit
), UXTerm (gksudo uxterm
), Konsole (gksudo konsole
) und so weiter.quelle
sudo x-terminal-emulator
?gksu x-terminal-emulator
,gksudo x-terminal-emulator
,kdesudo x-terminal-emulator
(wenn Ihre Desktop - Umgebung KDE),sudo -H x-terminal-emulator
odersudo -i x-terminal-emulator
stattdessen, um dieses Problem zu vermeiden . Ebensosudo gedit
sollte nichtgedit
als root ausgeführt werden.Wie bereits erwähnt, werden Sie gefragt, wie Sie Terminal als Root ausführen möchten. Mit größerer Wahrscheinlichkeit möchten Sie jedoch die grafische Terminal-Anwendung als normalen Benutzer ausführen und eine Root-Shell starten, in der Sie als Root angemeldet sind. Auf diese Weise werden der grafischen Terminalanwendung keine Root-Rechte gewährt. Die vorherigen Antworten scheinen keine eindeutigen Befehlszeilen zu geben, daher verwende ich die folgenden Informationen.
Mit xterm
xterm -bg black -fg red -e sudo -i
Das '-e sudo -i' weist xterm an, in der Sitzung auf root zu wechseln, und die Farben sollen nur deutlich machen, dass es sich um eine Root-Shell handelt.
Mit dem Gnome Terminal
gnome-terminal -- sudo -i
Persönlich binde ich Gnome-Tastenkombinationen, um Terminals einfach zu starten
Gehen Sie zu den Tastatureinstellungen, fügen Sie eine benutzerdefinierte Verknüpfung mit der Tastenkombination Super + X und dem Befehl 'xterm -bg black -fg white -sb -sl 5000' hinzu und root-xterm mit der Tastenkombination Super + Z und dem Befehl 'xterm -bg black -fg red - sb -sl 5000 -e sudo -i '.
In der Vergangenheit habe ich xterm dem Gnome-Terminal vorgezogen, weil die Schriftart klein und einfach ist, aber ich komme jetzt zum Terminal, wo ich große Bildschirme mit hohen DPI-Werten verwende. Die Farbcodierung Ihrer Terminals ist eine sehr gute Idee, wenn Sie verschiedene Profile mit gefährlichen Konsequenzen ausführen, um Unfälle zu vermeiden (z. B. lokales Stammverzeichnis, Remoteclient-Computer, Remoteclient-Stammverzeichnis).
quelle
Es gibt einen anderen Weg, dies zu tun, getestet und auf Ubuntu 16.04 LTS zu arbeiten:
Installiere zuerst gnome-panel:
Dann installiere gksu:
Führen Sie nach Abschluss der Installation Folgendes aus:
Dadurch wird eine Desktop-Verknüpfung erstellt. Sie sollten die Option haben, es zu benennen. Ich habe meinen 'X-Term' genannt, aber du kannst deinen so ziemlich wie du willst anrufen. Geben Sie
/usr/bin/gksu
* als Befehlspfad ein.Wenn Sie Ihre neue Desktop-Verknüpfung starten, werden Sie aufgefordert, eine Anwendung auszuführen. Geben Sie in:
xterm
.Sie werden nun aufgefordert, Ihr Passwort einzugeben. Sobald Sie es eingegeben haben, haben Sie Zugriff auf ein funktionierendes Root-Terminal. Denken Sie daran, es nur zu verwenden, wenn es unbedingt erforderlich ist, und schließen Sie es, wenn Sie damit fertig sind.
* Angenommen, Sie haben Ubuntu mit den Standardeinstellungen installiert und seit der Installation keine wesentlichen Änderungen an den Dateisystemen vorgenommen.
quelle
Ich verwende Debian 9 stretch
Gehen Sie zu den Tastaturkürzeln und fügen Sie einen Befehl wie den folgenden hinzu:
`gksu / usr / bin / x-terminal-emulator '
Ich hatte
Super + T
als Abkürzung gesetzt.Wenn Sie jetzt jedes Mal ein Terminal als Root öffnen möchten, geben Sie einfach Ihre Verknüpfung ein
Ich hoffe es kann jemandem in Zukunft helfen
quelle
Sie können eine interaktive Shell starten mit:
Weitere Informationen erhalten Sie unter:
und lesen Sie den
-s --shell
Abschnitt.quelle