Como executar o Terminal como root?

25

Quando queremos executar um programa como root, usamos sudo , gksu , gksudo e etc. Agora, minha pergunta é como podemos executar um Terminal como usuário root no Terminal?

Eu tentei usar gksudo terminal e gksu terminal , mas nada acontece. e executando sudo terminal , recebo o erro sudo: terminal: command not found .

    
por αғsнιη 23.08.2014 / 21:44

5 respostas

39

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:

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

  1. Execute sudo -H gnome-terminal do terminal gráfico não raiz original.
  2. Digite sua senha conforme solicitado por sudo . O terminal gráfico será iniciado.
  3. 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.
  4. 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:~$
    
por Eliah Kagan 23.08.2014 / 22:22
5

Resposta curta:

gksudo gnome-terminal
(assuming gksu is installed)

abre um terminal como root:

root@jacob-Satellite-L300:~#

Não há necessidade de explicar que você pode usar isso para abrir qualquer terminal como root assim; como Vala ( gksudo vala-terminal ), Xterm ( gksudo xterm ), Termit ( gksudo termit ), UXTerm ( gksudo uxterm ), Konsole ( gksudo konsole ) e assim por diante.

    
por Jacob Vlijm 23.08.2014 / 21:56
0

Existe outra maneira de fazer isso, testado e trabalhando no Ubuntu 16.04 LTS:

Primeiro instale o painel do gnome:

sudo apt install gnome-panel

Em seguida, instale o gksu:

sudo apt install gksu

Após a conclusão da instalação, execute:

gnome-desktop-item-edit ~/Desktop/ --create-new

Isso cria um atalho na área de trabalho. Você deve ter a opção de nomeá-lo. Eu chamei o meu 'X-Term', mas você pode chamar o seu praticamente o que você quiser. Digite /usr/bin/gksu * para o caminho "Comando".

Quando você iniciar o novo atalho da área de trabalho, será solicitado que um aplicativo seja executado. Digite: xterm .

Você será solicitado a fornecer sua senha; Depois de entrar, você terá acesso a um terminal raiz em funcionamento. Lembre-se de usar apenas quando for absolutamente necessário e feche quando terminar.

* supondo que você instalou o Ubuntu com configurações padrão e não alterou significativamente nenhum sistema de arquivos desde a instalação.

    
por Peter David Carter 05.05.2016 / 14:30
0

Estou usando o Debian 9 stretch

Vá para atalhos de teclado, adicione um comando como este:

'gksu / usr / bin / x-terminal-emulador'

Eu coloquei Super + T como atalho.

Agora toda vez que você quiser abrir um terminal como root, basta digitar seu atalho

Espero que possa ajudar alguém no futuro

    
por Marcelo Rafael 02.03.2018 / 23:23
-1

Você pode iniciar um shell interativo com:

sudo -s

Para mais informações, faça o seguinte:

man sudo

e leia a seção -s --shell .

    
por user465589 27.10.2015 / 12:50