Você nunca deve usar o normal sudopara iniciar aplicativos gráficos como raiz. Você deve usar gksudo( kdesudono Kubuntu) para executar esses programas.
gksudodefine HOME=/roote copia .Xauthoritypara um tmpdiretório. Isso evita que os arquivos no diretório inicial sejam de propriedade da raiz.
Observe que isso é principalmente sobre arquivos de configuração . Se você executar o Nautilus como root, mesmo com gksu/ gksudo, e criar um arquivo ou pasta em qualquer lugar (incluindo no diretório inicial), esse arquivo ou pasta pertencerá root. Mas se você executar Nautilus (ou a maioria dos outros aplicativos gráficos) como rootcom sudo, eles podem salvar seus arquivos de configuração em seu diretório home (em vez de root'diretório home s). Esses arquivos de configuração podem ser de propriedade roote inacessíveis quando você não está executando como root, o que pode atrapalhar gravemente suas configurações e pode até impedir que alguns aplicativos funcionem completamente.
A solução, depois de cometer esse erro, é encontrar os arquivos de configuração e excluí-los ou chownvoltar a pertencer ao seu não rootusuário. Muitos desses arquivos começam com a .ou estão contidos em um diretório que começa com a .. Alguns estão localizados dentro da .configpasta no seu diretório pessoal. Para ver arquivos e pastas que começam com um .no Nautilus, pressione Ctrl+ H(isso mostra os arquivos ocultos .) Para vê-los ls, use o sinalizador -a(ou -A).
Para descobrir se há arquivos que não pertencem a você em seu diretório pessoal, você pode usar o seguinte comando em um terminal:
find $HOME -not -user $USER -exec ls -lad {} \;
que listará todos os arquivos no diretório inicial não pertencentes ao usuário.
Eu já usei 'sudo nautilus'. Isso significa que meu diretório pessoal agora pertence à raiz? (PS: meu inglês não é perfeito)
DrKenobi
22
Não, significa que enquanto você executava o Nautilus como root, todos os arquivos que ele criou no diretório inicial serão de propriedade do root. Isso pode incluir miniaturas e outros arquivos de suporte que o Nautilus cria automaticamente.
Ryan Thompson
1
. O segemnet citado que você usou me intrigou desde que o li pela primeira vez; especificamente onde diz: "Isso evita que os arquivos no diretório inicial sejam de propriedade da raiz". .. Testei isso hoje criando alguns arquivos de teste nas versões 10.04, 10.04 (VM), 10.10 (VM) e não importa como iniciei o sudo / gksudo (Terminal-> Nautilus, Terminal-> gedit, Alt + F2 .. .) ... todos os casos fizeram com que o meu recém-criado pertencesse ao "root", com o grupo "root". Talvez eu tenha perdido alguma coisa, mas acho que parte do segmento mencionado é enganosa.
Peter. O
Hmm, eu estava apenas citando a página wiki. Eu realmente não tenho um entendimento profundo da diferença entre as duas ferramentas. Talvez alguém no unix.stakexchange.com possa ajudar?
2
@ Peter.O Expandi esta resposta para responder a essa pergunta e explicar exatamente com quais arquivos os tratados são diferentes sudo, via gksu/ gksudo. (@ChrisWilson Sinta-se livre para reverter ou diminuir esta edição se você sentir que não é totalmente no âmbito da sua resposta ... parece-me que é, mas que é inteiramente sua chamada.)
Elias Kagan
9
Você sabia que existe um complemento do Nautilus chamado nautilus-gksu que adiciona um "abrir como administrador" ao menu de clique direito do nautilus?
nautilus-gksunão está mais disponível no Ubuntu 12.04 em diante.
IQAndreas
E o seu link mostra apenas que ele está disponível até às 11h10 ...
Wilf
5
Se você iniciar um aplicativo gráfico com o sudo, você pode atrapalhar a propriedade dos seus arquivos, o que pode causar a quebra de seus aplicativos. Nunca faça isso. Verifique a Ajuda da comunidade :
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. O gksudo define HOME = ~ root e copia .Xauthority para um diretório tmp. Isso evita que os arquivos em seu diretório pessoal sejam de propriedade do Root. (AFAICT, isso é tudo o que há de especial no ambiente do processo iniciado com gksudo vs. sudo).
Por padrão, o sudo preserva sua variável $ HOME. Por exemplo, se você executar, sudo firefoxvocê terá privilégios de root, mas sua configuração. Se você alterar as configurações nessa situação, você terminará com partes de sua configuração pertencentes à raiz, em vez do seu ID do usuário.
No Ubuntu (17.10) 17.10.1 e, provavelmente, as futuras versões do Ubuntu, gksue gksudoestão obsoletos. Eles trabalham em Xorg, mas não em Wayland. Mas você pode usar sudo -Hpara executar programas aplicativos GUI sem danificar seus arquivos de configuração. Você não usar planície sudo.
Se você estiver executando o Wayland (o novo sistema gráfico que substitui o Xorg), também precisará de um comando xhost.
xhost +si:localuser:root # if Wayland
sudo -H nautilus --no-desktop
Encontrado no arquivo gerado pelo comando do terminal 'info gksudo':
gksu é um front-end para su e gksudo é um front-end para sudo. Seu objetivo principal é executar comandos gráficos que precisam de raiz sem a necessidade de executar um emulador de terminal X e usar su diretamente.
Descobri que, em muitos casos, os arquivos 'info' têm descrições úteis e informações úteis sobre opções. Eu sugiro fortemente que o aprendizado sobre qualquer comando comece com o acesso ao arquivo 'info' nesse comando.
Para o iniciante, no terminal, digite ou cole as informações do comando com o nome do comando no qual você está interessado como parâmetro. O formato é info [command_name](lembre-se de não incluir o prompt de comando ou os colchetes). As entradas de terminal sugeridas para o iniciante são:
Respostas:
Retirado daqui :
Observe que isso é principalmente sobre arquivos de configuração . Se você executar o Nautilus como
root
, mesmo comgksu
/gksudo
, e criar um arquivo ou pasta em qualquer lugar (incluindo no diretório inicial), esse arquivo ou pasta pertencerároot
. Mas se você executar Nautilus (ou a maioria dos outros aplicativos gráficos) comoroot
comsudo
, eles podem salvar seus arquivos de configuração em seu diretório home (em vez deroot
'diretório home s). Esses arquivos de configuração podem ser de propriedaderoot
e inacessíveis quando você não está executando como root, o que pode atrapalhar gravemente suas configurações e pode até impedir que alguns aplicativos funcionem completamente.A solução, depois de cometer esse erro, é encontrar os arquivos de configuração e excluí-los ou
chown
voltar a pertencer ao seu nãoroot
usuário. Muitos desses arquivos começam com a.
ou estão contidos em um diretório que começa com a.
. Alguns estão localizados dentro da.config
pasta no seu diretório pessoal. Para ver arquivos e pastas que começam com um.
no Nautilus, pressione Ctrl+ H(isso mostra os arquivos ocultos .) Para vê-losls
, use o sinalizador-a
(ou-A
).Para descobrir se há arquivos que não pertencem a você em seu diretório pessoal, você pode usar o seguinte comando em um terminal:
que listará todos os arquivos no diretório inicial não pertencentes ao usuário.
fonte
sudo
, viagksu
/gksudo
. (@ChrisWilson Sinta-se livre para reverter ou diminuir esta edição se você sentir que não é totalmente no âmbito da sua resposta ... parece-me que é, mas que é inteiramente sua chamada.)Você sabia que existe um complemento do Nautilus chamado nautilus-gksu que adiciona um "abrir como administrador" ao menu de clique direito do nautilus?
Nota: Não disponível no Ubuntu 12.04 em diante.
fonte
nautilus-gksu
não está mais disponível no Ubuntu 12.04 em diante.Se você iniciar um aplicativo gráfico com o sudo, você pode atrapalhar a propriedade dos seus arquivos, o que pode causar a quebra de seus aplicativos. Nunca faça isso. Verifique a Ajuda da comunidade :
fonte
Por padrão, o sudo preserva sua variável $ HOME. Por exemplo, se você executar,
sudo firefox
você terá privilégios de root, mas sua configuração. Se você alterar as configurações nessa situação, você terminará com partes de sua configuração pertencentes à raiz, em vez do seu ID do usuário.fonte
sudo -H GUI-application-program
No Ubuntu (17.10) 17.10.1 e, provavelmente, as futuras versões do Ubuntu,
gksu
egksudo
estão obsoletos. Eles trabalham em Xorg, mas não em Wayland. Mas você pode usarsudo -H
para executar programas aplicativos GUI sem danificar seus arquivos de configuração. Você não usar planíciesudo
.Se você estiver executando o Wayland (o novo sistema gráfico que substitui o Xorg), também precisará de um comando
xhost
.Veja o link a seguir para mais detalhes,
Por que o gksu / gksudo ou o lançamento de um aplicativo gráfico com sudo não funciona com Wayland?
fonte
Encontrado no arquivo gerado pelo comando do terminal 'info gksudo':
Descobri que, em muitos casos, os arquivos 'info' têm descrições úteis e informações úteis sobre opções. Eu sugiro fortemente que o aprendizado sobre qualquer comando comece com o acesso ao arquivo 'info' nesse comando.
Para o iniciante, no terminal, digite ou cole as informações do comando com o nome do comando no qual você está interessado como parâmetro. O formato é
info [command_name]
(lembre-se de não incluir o prompt de comando ou os colchetes). As entradas de terminal sugeridas para o iniciante são:fonte
Se você escolher gksudo nautilus, solicite sua senha graficamente. Com o sudo, você pergunta em um terminal
fonte