A diferença entre sudo cmd
e é gksu cmd
igual à diferença
entre iniciar um shell com sudo -i
e sudo -s
?
... ou, de outra forma,
é sudo cmd
igual sudo -i cmd
e gksu cmd
igual a sudo -s cmd
?
EDIT: Com base no que li em uma página de documentação do Ubuntu, onde diz:
You should never use normal sudo to start graphical applications as root.
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files
in your home directory becoming owned by root.
(AFAICT, this is all that's special about the environment of the started
process with gksudo vs. sudo).
O "AFAICT" não me dá total confiança de que não há mais nada.
(..uma ATUALIZAÇÃO tardia : eu testei seu commemnt hoje (2 meses depois) sobre:
"Isso evita que os arquivos do diretório inicial sejam de propriedade do root."
Todos os arquivos criados por sudo / gksu pertencem ao " root " e o grupo era " raiz ".)
Eu li partes do info sudo
e observei o -i
e -s
parece estar fazendo a mesma coisa que a questão do ambiente AFAICT ...
mas eu atingi a sobrecarga ... então fiz minha pergunta aqui.
PS .. Minha pergunta não é sobre sudo vs gksu
.. É mais sobre: gksu é o mesmo que sudo -s
.. e se não, como eles diferem?
fonte
graphical
front - end ... um aplicativo GTK roda muito feliz, independentemente de ser iniciado via sudo ou gksu ... mas executa o programa em um ambiente diferente ... vai adicionar um pouco mais a minha pergunta para apontar por isso que eu fiz a pergunta ...graphical frontend
. Eu sempre uso o terminal para rodar sudo / gksu ... mas, no espírito da força bruta, tentando tudo que eu conseguia pensar, tentei corrersudo
egksu
via Alt + F2 ... Bingo! ..sudo
desapareceu no vazio, masgksu
subiu para a ocasião e me presenteou com o (legendário)graphical forntend
... É a mesma caixa de diálogo como a que aparece para Synaptic Package Manager etc ...gksu
muda a pasta XAUTHORITY esudo
não ... Não sei bem o que é isso, mas parece significativo! ... Isso resolveu meu dilema ... (detalhes em minha resposta abaixo)sudo -i
redefine o ambiente de login para o usuário de destino ( raiz , neste caso). Principalmente, é que aHOME
variável de ambiente é alterada, o que significa que o usuário de destino~/.bashrc
está carregado.gksu
é, portanto, comosudo -i
isso muda$HOME
para o usuário root .fonte
sudo
variantes a que me referi ... e percebendo isso tem sido o Aha! momento para mim ... O resultado é: Use o gksu para aplicativos de GUI! .. mas fiquei com mais um dilema não resolvido ... O gksu se aplica apenas aos aplicativos GTK ou é perfeitamente bom usar o gksu ao executar um aplicativo da GUI do KDE ?Isso não é realmente uma resposta, mas pode ser de algum interesse ...
Estou começando a ter uma idéia do que acontece com esses comandos su,
mas ainda não estou lá ... ainda uso
gksu
. .. Esta é mais uma jornada de compreensão para mim ... e eu luto para entender segksu
é válido parakonsole
oukate
, ou deve eu usar a variante KDEkdesu
..Aqui estão alguns resultados de alguns testes que acabei de tentar.
Esses resultados não estão de acordo com a Página de documentação do Ubuntu , onde diz:
ATUALIZAÇÃO: As
env
variáveis XAUTHORITY para os terminais chamados sudo e gksu são diferentes (conforme mencionado na página de documentação do Ubuntu ).Isso mostra que
gksu
definitivamente não é o mesmo que osudo -s
comando a que me referi na pergunta ... e, portanto, responde à minha pergunta original (de alguma maneira ainda obscura) ... e a resposta de Chris certamente me fez pensar muito nisso! ... Eu preciso de um cafe!!fonte
sudo é para aplicativos de linha de comando, gksu / gksudo para aplicativos gráficos
fonte
gksu
funciona a partir de uma cópia temporária de XAUTHORITY .. Não estou claro os detalhes de por que XAUTHORITY precisa ser tratado especialmente, mas é uma coisa importante que distingue seu comportamento desudo