O emulador de terminal padrão no Ubuntu é o Terminal GNOME . Ele está localizado em /usr/bin/gnome-terminal
e pode ser executado com o comando gnome-terminal
. / p>
O que você realmente quer
O que você provavelmente quer é um shell rodando como root, como se fosse produzido a partir de um login root (por exemplo, com todas as variáveis de ambiente definidas para root ao invés de para seu usuário).
Assumindo que é isso que você quer, como steeldriver sugeriu , apenas execute :
sudo -i
Você terá um shell raiz no qual os comandos inseridos serão executados como root (sem precisar precedê-los com sudo
).
Mas se você realmente quer rodar o aplicativo emulador de terminal gráfico como root, continue lendo. Eu apresento duas maneiras: com gksu
/ gksdo
e com o comando sudo
.
Com gksu
/ gksudo
Como você tem o gksu instalado, você pode executar gnome-terminal
como root com:
gksu gnome-terminal
gksudo gnome-terminal
(Como gksu
está configurado para o modo sudo no Ubuntu por padrão, eles devem ser equivalentes.)
Executando gnome-terminal
como raiz sem um terminal não-raiz de controle:
Praticamente todo ambiente de área de trabalho fornece um recurso para executar um comando sem ter que abrir um terminal (o que, então, se fechado, geralmente faz com que o comando seja encerrado).
Isso geralmente é obtido com Alt + F2 . Uma caixa de texto rotulada Comando Executar (ou similar) aparecerá e você poderá inserir seu comando.
Por exemplo, é assim na Unity:
E assim no MATE (Flashback / Fallback do GNOME, Xfce, LXDE são semelhantes):
Note que isso funciona com gksu
e gksudo
porque eles usam um diálogo de autenticação gráfica. Se você fosse pressionar Alt + F2 e executar sudo ...
, você não conseguirá interagir com o prompt de senha.
com sudo
Se você não tiver o pacote gksu e não quiser instalá-lo, poderá usar:
sudo -H gnome-terminal
O sinalizador -H
é importante porque define a variável de ambiente HOME
como /root
em vez do diretório inicial de seu próprio usuário. Você deve não usar sudo gnome-terminal
, pois ele pode quebrar a configuração do gnome-terminal pertencente ao usuário não-root. Para mais informações sobre isso, consulte:
- RootSudo no wiki de ajuda do Ubuntu
- Por que os usuários nunca devem usar o sudo normal iniciar aplicativos gráficos?
( sudo -i gnome-terminal
também está bem.)
Livrar-se do terminal não-raiz de controle:
Se você (1) abrir um terminal gráfico, (2) executará algo como sudo -H gnome-terminal
, para criar um novo terminal raiz gráfico e > (3) fecha o terminal gráfico não-root original ... então o terminal gráfico da raiz também é encerrado.
Isso ocorre porque o terminal gráfico da raiz é enviado SIGHUP quando o terminal que é dono é retirado.
Para evitar isso, você pode pensar que poderia iniciar o terminal raiz gráfico com:
sudo -H gnome-terminal &
Mas isso só funcionará se sudo
não precisar solicitar uma senha. Em caso afirmativo, você não verá o prompt de senha.
Uma maneira para contornar isso é usar:
sudo -v
sudo -H gnome-terminal
sudo -v
existe apenas para esse propósito. Conforme explicado em man sudo
, ele "atualiza as credenciais armazenadas em cache do usuário, autenticando usuário, se necessário. "
Observe que isso ainda não funcionará se for executado diretamente da caixa Alt + F2 do comando "run", porque você ainda precisa de um terminal para insira sua senha para sudo -v
.
Ou você pode fazer o que pode ser chamado de maneira tradicional, suspendendo o trabalho depois que ele começa:
- Execute
sudo -H gnome-terminal
do terminal gráfico não raiz original. - Digite sua senha conforme solicitado por
sudo
. O terminal gráfico será iniciado. - Ainda no terminal não-root , pressione Ctrl + Z para suspender o terminal raiz. Enquanto o terminal raiz estiver suspenso, você não poderá usá-lo; sua interface não responderá às suas ações.
- Encerre o terminal não raiz de controle com
exit
. O trabalho do terminal raiz gráfico será tanto suspenso como rejeitado pelo terminal não-raiz, automaticamente.
Resumindo:
sudo -H gnome-terminal
^Z
exit
Mas suponha que você queira continuar usando o terminal original não raiz também. Em seguida, você pode executar bg N
, em que N
é o número do trabalho do terminal raiz gráfico, para retomar o trabalho em segundo plano. Você pode executar jobs
para encontrar N
, mas provavelmente não precisará - esse número foi exibido como [N]
quando você pressionou Ctrl + Z . Por exemplo:
ek@Ilex:~$ sudo -H gnome-terminal
[sudo] password for ek:
^Z
[1]+ Stopped sudo -H gnome-terminal
ek@Ilex:~$