Quando quiser executar um programa como root usamos sudo
, gksu
, gksudo
e etc. Agora a minha pergunta é como é que nós podemos executar um terminal como usuário root no Terminal?
Eu tentei usar gksudo terminal
e gksu terminal
nada acontece. e executando sudo terminal
, recebo erro sudo: terminal: command not found
.
gnome-terminal
root
αғsнιη
fonte
fonte
gnome-terminal
. Então tentesudo gnome-terminal
.sudo -i
?sudo
não deve ser usado para executar programas gráficos como este. Segksu
/gksudo
não estiver (ou não estiver) instalado,sudo -H ...
(ousudo -i ...
) poderá ser usado para executar um aplicativo gráfico...
como raiz.Respostas:
O emulador de terminal padrão no Ubuntu é o Terminal GNOME . Ele está localizado em
/usr/bin/gnome-terminal
e pode ser executado com ognome-terminal
comandoO que você realmente quer
O que você provavelmente deseja é um shell executando como root, como se tivesse sido produzido a partir de um logon root (por exemplo, com todas as variáveis de ambiente definidas para root e não para o usuário).
Supondo que é isso que você deseja, como sugeriu a steeldriver , basta executar:
Você terá um shell raiz no qual os comandos que você digitar serão executados como root (sem precisar precedê-los
sudo
).Mas se você realmente deseja executar o aplicativo emulador de terminal gráfico como root, continue lendo. Apresento duas maneiras: com
gksu
/gksdo
e com osudo
comandoCom
gksu
/gksudo
Como você tem o pacote gksu instalado, você pode executar
gnome-terminal
como root com um dos seguintes:(Como
gksu
é definido no modo sudo no Ubuntu por padrão, eles devem ser equivalentes.)Executando
gnome-terminal
como root sem um terminal não raiz de controle:Praticamente todos os ambientes de área de trabalho oferecem a facilidade de executar um comando sem a necessidade de abrir um terminal (o que, se fechado, normalmente causa o encerramento do comando).
Isso geralmente é alcançado com Alt+ F2. Uma caixa de texto chamada Executar comando (ou similar) será exibida e você poderá inserir seu comando.
Por exemplo, fica assim no Unity:
E assim no MATE (GNOME Flashback / Fallback, Xfce, LXDE são semelhantes):
Observe que isso funciona com
gksu
egksudo
porque eles usam uma caixa de diálogo de autenticação gráfica. Se você pressionar Alt+ F2e executarsudo ...
, não poderá interagir com o prompt de senha.Com
sudo
Se você não possui o pacote gksu e não deseja instalá-lo, pode usar:
O
-H
sinalizador é importante porque define aHOME
variável de ambiente como em/root
vez do diretório inicial do seu próprio usuário. Você não deve usar,sudo gnome-terminal
pois isso pode interromper a configuração do terminal gnome pertencente ao usuário não root. Para mais informações sobre isso, consulte:(
sudo -i gnome-terminal
também está bem.)Livrando-se do terminal não raiz de controle:
Se você (1) abrir um terminal gráfico, (2) executar algo parecido
sudo -H gnome-terminal
com ele, para criar um novo terminal raiz gráfico e (3) sair do terminal gráfico não raiz original ... então o terminal gráfico raiz também será encerrado .Isso ocorre porque o terminal gráfico raiz é enviado SIGHUP quando o terminal que o possui é encerrado.
Para evitar isso, você pode pensar em iniciar o terminal raiz gráfico com:
Mas isso só funcionará se
sudo
não for necessário solicitar uma senha. Caso isso aconteça, você não verá o prompt da senha.Uma maneira de contornar isso é usar:
sudo -v
existe apenas para esse fim. Conforme explicado emman sudo
, ele "atualiza [s] as credenciais em cache do usuário, autenticando o usuário, se necessário."Observe que isso ainda não funcionará se for executado diretamente na caixa Alt+ F2"comando de execução" do ambiente de área de trabalho , porque você ainda precisa de um terminal para digitar sua senha
sudo -v
.Ou você pode fazê-lo da maneira tradicional, suspendendo o trabalho após o início:
sudo -H gnome-terminal
partir do terminal gráfico não raiz original.sudo
. O terminal gráfico será iniciado.exit
. O trabalho do terminal raiz gráfico será suspenso e rejeitado pelo terminal não raiz automaticamente.Em resumo:
Mas suponha que você queira continuar usando o terminal não raiz original também. Em seguida, você pode executar , onde está o número do trabalho do terminal raiz gráfico, para continuar o trabalho em segundo plano. Você pode correr para encontrar, mas provavelmente não precisará - esse número foi mostrado como quando você pressionava + . Por exemplo:
bg N
N
jobs
N
[N]
CtrlZfonte
xterm
. quantos terminais existem no Ubuntu?Resposta curta:
abre um terminal como root:
Não é necessário explicar que você pode usar isso para abrir qualquer terminal como root como esse; como Vala (
gksudo vala-terminal
), Xterm (gksudo xterm
), Termit (gksudo termit
), UXTerm (gksudo uxterm
), Konsole (gksudo konsole
) e assim por diante.fonte
sudo x-terminal-emulator
?gksu x-terminal-emulator
,gksudo x-terminal-emulator
,kdesudo x-terminal-emulator
(se o seu ambiente de trabalho é o KDE),sudo -H x-terminal-emulator
ousudo -i x-terminal-emulator
em vez disso, para evitar esse problema . Da mesma forma,sudo gedit
não deve ser usado para executargedit
como root.Como mencionado anteriormente, você pergunta como executar o Terminal como root, mas é mais provável que você queira executar o aplicativo gráfico do Terminal como usuário normal e inicie um shell raiz dentro dele, onde está conectado como root. Dessa maneira, o aplicativo de terminal gráfico não recebe privilégios de root. As respostas anteriores não parecem fornecer linhas de comando claras para uso, então aqui está o que eu uso.
Com xterm
xterm -bg black -fg red -e sudo -i
O '-e sudo -i' diz ao xterm para mudar para o root na sessão, e as cores são apenas para tornar muito óbvio que é um shell raiz.
Com Terminal Gnome
gnome-terminal -- sudo -i
Pessoalmente, vinculo os atalhos de teclado do Gnome para iniciar terminais facilmente
Vá para Configurações do teclado, adicione um atalho personalizado com o atalho Super + X e comando 'xterm -bg preto -fg branco -sb -sl 5000' e root xterm com o atalho Super + Z e comando 'xterm -bg preto -fg vermelho - sb -sl 5000 -e sudo -i '.
No passado, eu costumava preferir o xterm ao invés do Gnome Terminal, porque a fonte é pequena e simples, mas estou voltando para o Terminal agora e corro telas grandes de DPI alto. A codificação por cores dos seus terminais é uma boa ideia quando você começa a executar perfis diferentes com consequências perigosas para evitar acidentes (por exemplo, raiz local, máquina do cliente remoto, raiz do cliente remoto).
fonte
Há outra maneira de fazer isso, testado e funcionando no Ubuntu 16.04 LTS:
Primeiro instale o gnome-panel:
Em seguida, instale o gksu:
Após a conclusão da instalação, execute:
Isso cria um atalho na área de trabalho. Você deve ter a opção de nomeá-lo. Eu chamei o meu de 'X-Term', mas você pode chamar o seu do jeito que quiser. Digite
/usr/bin/gksu
* para o caminho 'Command'.Ao iniciar seu novo atalho na área de trabalho, você será solicitado a executar um aplicativo. Digite:
xterm
.Agora você será solicitado a fornecer sua senha; Depois de inseri-lo, você terá acesso a um terminal raiz ativo. Lembre-se de usar somente quando absolutamente necessário e feche quando terminar.
* Supondo que você instalou o Ubuntu com configurações padrão e não alterou nenhum sistema de arquivos significativamente desde a instalação.
fonte
Estou usando o Debian 9 stretch
Vá para atalhos de teclado, adicione um comando como este:
`gksu / usr / bin / x-terminal-emulator '
Eu tinha colocado
Super + T
como atalho.Agora, toda vez que você quiser abrir um terminal como root, digite seu atalho
Espero que ajude alguém no futuro
fonte
Você pode iniciar um shell interativo com:
Para mais informações, faça:
e leia a
-s --shell
seção.fonte