Resposta rápida
Use gksudo nautilus
ou sudo -H nautilus
ou sudo -i nautilus
.
Explicação
Você não deve usar sudo
simples para executar aplicativos gráficos, porque faz com que root e sua conta de usuário não-root tentem usar os mesmos arquivos de configuração , que geralmente faz com que o root possua arquivos que o usuário não-root precisa (mas não pode) acessar .
As versões recentes do Nautilus reconhecem esse problema e se recusam a ser executadas, a fim de impedir que a configuração por usuário seja interrompida na sua conta de usuário não raiz.
A solução para esse problema é, ao executar programas gráficos como root
(especialmente Nautilus), use um método que evite esse problema. Os métodos que evitam esse problema são os métodos que fazem o programa que você está executando procurar e cria arquivos de configuração no diretório pessoal do root ( /root
), em vez do seu próprio diretório pessoal ( /home/ussername
).
As soluções e por que elas funcionam
A variável de ambiente HOME
é geralmente consultada para determinar o diretório inicial a ser usado. Você deseja que isso seja definido como /root
. Você não faz isso diretamente; em vez disso, execute aplicativos gráficos de uma maneira que faça isso automaticamente.
Tradicionalmente, todos os sistemas Ubuntu tinham gksudo
ou (para o Kubuntu) kdesudo
instalado e você os usaria em vez de sudo
ao executar aplicativos gráficos. Isso pode funcionar; Eu recomendo que você tente substituir sudo
por gksudo
antes de tentar qualquer outra coisa. Infelizmente, gksudo
é nem sempre instalado nas versões mais recentes do Ubuntu. Você pode, claro, instalá-lo (no Centro de Software ou com sudo apt-get update && sudo apt-get install gksu
).
Além disso, observe que tradicionalmente, no Ubuntu, gksu
e gksudo
fizeram a mesma coisa. Mas um bug recente às vezes faz com que gksu
se comporte de uma maneira que não funciona direito para um sistema Ubuntu. É por isso que eu recomendo gksudo
, embora eu geralmente recomende gksu
(que faz "a coisa certa" em muitos sistemas diferentes do tipo Unix, quando configurado corretamente ).
Mas existem alternativas para gksudo
. Você pode dizer a sudo
para executar um programa como root e usar o diretório pessoal do root em vez do seu:
sudo -H nautilus
Se você não tem gksudo
, recomendo sudo -H
. No entanto, você também pode usar:
sudo -i nautilus
sudo -i
simula um login raiz completo (mesmo que os logins raiz reais estejam desabilitados), o que define muitas variáveis de ambiente, incluindo HOME
, para seus valores de usuário root.
(Depois que o comando é executado e em outros programas ou outros comandos que não são iniciados a partir do programa que você está executando como root, o ambiente permanece inalterado. Você nunca precisa "alterá-lo novamente").