L'emulatore di terminale predefinito su Ubuntu è il Terminale GNOME . Si trova in /usr/bin/gnome-terminale può essere eseguito con il gnome-terminalcomando.
Quello che vuoi davvero
Quello che probabilmente vuoi è una shell in esecuzione come root, come se fosse prodotta da un login root (ad esempio, con tutte le variabili d'ambiente impostate per root anziché per il tuo utente).
Supponendo che sia quello che vuoi, come ha suggerito steeldriver , corri:
sudo -i
Avrai una shell di root in cui i comandi immessi verranno eseguiti come root (senza doverli precedere sudo).
Ma se vuoi davvero eseguire l'applicazione di emulazione terminale grafica come root, continua a leggere. Vi presento due modi: con gksu/ gksdoe con il sudocomando.
Dato che hai installato il pacchetto gksu
, puoi eseguire gnome-terminalcome root con uno dei seguenti:
gksu gnome-terminal
gksudo gnome-terminal
(Poiché gksuè impostato su sudo-mode in Ubuntu per impostazione predefinita, questi dovrebbero essere equivalenti.)
In esecuzione gnome-terminalcome root senza un terminale non root di controllo:
Praticamente ogni ambiente desktop offre la possibilità di eseguire un comando senza dover aprire un terminale (che, se chiuso, di solito causa la chiusura del comando).
Questo di solito si ottiene con Alt+ F2. Apparirà una casella di testo con il comando Esegui (o simile) ed è possibile inserire il comando.
Ad esempio, appare così in Unity:

E così in MATE (GNOME Flashback / Fallback, Xfce, LXDE sono simili):

Nota che funziona con gksue gksudoperché usano una finestra di dialogo di autenticazione grafica. Se dovessi premere Alt+ F2ed eseguire sudo ..., non saresti in grado di interagire con la richiesta della password.
Con sudo
Se non si dispone del pacchetto gksu e non si desidera installarlo, è possibile utilizzare:
sudo -H gnome-terminal
Il -Hflag è importante perché imposta la HOMEvariabile di ambiente /rootinvece della home directory del tuo utente. Si dovrebbe non usare sudo gnome-terminalcome si può rompere la configurazione gnome-terminale appartenente all'utente non root. Per ulteriori informazioni al riguardo, consultare:
( sudo -i gnome-terminalva anche bene.)
Sbarazzarsi del terminale di controllo non root:
Se (1) si apre un terminale grafico, (2) si esegue qualcosa di simile sudo -H gnome-terminalad esso, per creare un nuovo terminale grafico di base e (3) si esce dal terminale grafico non root originale ... quindi anche il terminale grafico di root si chiude .
Questo perché il terminale grafico di root viene inviato SIGHUP quando viene chiuso il terminale proprietario.
Per evitarlo, potresti pensare di poter invece avviare il terminale grafico di root con:
sudo -H gnome-terminal &
Questo funzionerà solo se sudonon è necessario richiedere una password. In tal caso, non verrà visualizzata la richiesta della password.
Un modo per aggirare questo è usare:
sudo -v
sudo -H gnome-terminal
sudo -vesiste proprio per questo scopo. Come spiegato in man sudo, "aggiorna [s] le credenziali memorizzate nella cache dell'utente, autenticando l'utente se necessario."
Si noti che questo non funzionerà ancora se eseguito direttamente dalla casella Alt+ F2"comando comando" dell'ambiente desktop , poiché è ancora necessario un terminale per immettere la password sudo -v.
Oppure puoi farlo in quello che potrebbe essere chiamato il modo tradizionale, sospendendo il lavoro dopo l'avvio:
- Esegui
sudo -H gnome-terminaldal terminale grafico non root originale.
- Inserisci la tua password come richiesto da
sudo. Verrà avviato il terminale grafico.
- Sempre nel terminale non root , premere Ctrl+ Zper sospendere il terminale root. Mentre il terminale di root è sospeso, non è possibile utilizzarlo; la sua interfaccia non risponderà alle tue azioni.
- Chiudere il terminale non root di controllo con
exit. Il processo grafico del terminale di root verrà automaticamente sospeso e ignorato dal terminale non di root.
In breve:
sudo -H gnome-terminal
^Z
exit
Ma supponi di voler continuare a utilizzare anche il terminale originale non root. Quindi è possibile eseguire , dove si trova il numero di lavoro del terminale principale grafico, per riprendere il lavoro in background. Puoi correre per trovare ma probabilmente non dovrai farlo - quel numero è stato mostrato come quando hai premuto + . Per esempio:bg NNjobsN[N]CtrlZ
ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek:
^Z
[1]+ Stopped sudo -H gnome-terminal
ek@Ilex:~$
gnome-terminal. Quindi provasudo gnome-terminal.