Respostas:
sudo
solicita a senha na linha de comando e gksudo
abre uma caixa de diálogo.
sudo -E
equivalente a gksudo
?
gksudo
é uma interface baseada em GTK do sudo
(BTW, kdesudo
é uma interface baseada em Qt), no entanto, (por padrão) alças mais variáveis ambientais ( HOME
, XAUTHORITY
, etc.) do que sudo
fazendo assim, executar comandos como root mais seguro.
Tanto quanto posso ver, a resposta da @Logics está correta o suficiente (a da @Ignacio Vazquez-Abrams não está completa). Aqui está o esclarecimento da tentativa de evitar respostas / comentários do @Davros @knitti (por favor, remova / edite-os quando não for necessário):
sudo
, a interface do usuário usada NÃO é a única diferença dos dois comandos. HOME
variável de ambiente aponta no diretório sudo
comando em alguns sistemas e situações). Nem todos os aplicativos da GUI gravam no diretório inicial e nem todos os aplicativos da CLI , portanto, o tipo de comando não é o ponto principal. sudo
comando para iniciar aplicativos da GUI como raiz (para visualizar a saída do console dos aplicativos como um exemplo); no entanto, você precisa manipular corretamente HOME
(e outras como XAUTHORITY
, DISPLAY
coisas relacionadas ao método de entrada, etc.) variáveis ambientais corretamente para que o aplicativo lançado não falhará, perderá funcionalidade ou fará coisas realmente ruins. A seguir, é minha recomendação atual para usarsudo
sudo -H <rest of the command>
sudo
página de manual da seção 8) A -H ( HOME )
opção solicita que a política de segurança defina a HOME
variável de ambiente como o diretório inicial do usuário de destino (raiz por padrão), conforme especificado pelo banco de dados de senhas. Dependendo da política, esse pode ser o comportamento padrão.sudo
diretório inicial do chamadorsudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudo
comando não é idêntico em todos os sistemas e pode ser configurado através do visudo
comando, consulte a página de sudoers(5)
manual para mais informações.O uso regular do sudo para executar programas gráficos, em raras ocasiões, atrapalha as permissões de alguns arquivos. Para ser seguro, gksudo (ou kdesudo, conforme apropriado) deve ser usado para executar programas com uma GUI. Eu acho que isso é realmente um bug, embora eu tenha ouvido explicações de que o gksudo entende as variáveis do servidor X e o sudo não leva a problemas. Apenas como uma dica; se você estiver executando programas gráficos como root, em vez de abrir um terminal para cada programa que deseja executar, digite ALT-F2 (alt e tecla de função 2 ao mesmo tempo) e digite na caixa de diálogo que aparece "gksudo programa "sem as aspas e o programa substituídos pelo aplicativo que você deseja executar.
O sudo é executado como o usuário atual com privilégios elevados. Isso tem o potencial de alterar as permissões de arquivo de determinados arquivos de configuração do usuário (relacionados ao seu ambiente gráfico) ao executar aplicativos gráficos. Você pode encontrar erros ao executar esses aplicativos novamente sem o sudo.
O gksudo (kdesudo no KDE) executa os aplicativos como usuário root, portanto, qualquer permissão de arquivo tocada está nos arquivos raiz, não nos arquivos dos usuários. executar esses aplicativos novamente sem o gksudo / kdesudo sempre terá o comportamento esperado.
A resposta atual está incorreta. De acordo com o wiki do Ubuntu RootSudo :
"Você nunca deve usar o sudo normal para iniciar aplicativos gráficos como root. Você deve usar o gksudo (kdesudo no Kubuntu) para executar esses programas. Gksudo define HOME = ~ root e copia .Xauthority para um diretório tmp. Isso evita arquivos em sua casa. diretório que pertence à raiz. (AFAICT, isso é tudo o que há de especial no ambiente do processo iniciado com gksudo vs. sudo). "