comando sudo nautilus não está funcionando corretamente no Ubuntu 13.04

4

Embora eu tenha tentado muitos comandos para superar essa ameaça, mas não consigo superá-los    então me ajude a se livrar desses avisos

root@radhika-M68MT-D3:~# sudo nautilus

(nautilus:2642): IBUS-WARNING **: The owner of /home/radhika/.config/ibus/bus is 
not root!Nautilus-Share-Message: Called "net usershare info" but it failed: 'net 
usershare' returned error 255: net usershare: cannot open usershare directory /var/lib
/samba/usershares. Error No such file or directory Please ask your system 
administrator to enable user sharing.
    
por Sweety Mouni 13.08.2013 / 07:43

1 resposta

5

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").

    
por Eliah Kagan 13.08.2013 / 08:05

Tags