Qual é a diferença entre “gksudo nautilus” e “sudo nautilus”?

98

Eu tenho usado gksudo nautilus e sudo nautilus através de Alt + F2 .

Qual é a diferença? Eles parecem muito semelhantes!

    
por DrKenobi 06.11.2010 / 15:48

7 respostas

111

Extraído de aqui :

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.

Por favor, note que isto é 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 com ele (inclusive em seu diretório inicial), esse arquivo ou pasta pertencerá a root . Mas se você executar o Nautilus (ou a maioria dos outros aplicativos gráficos) como root com sudo , eles poderão salvar seus arquivos de configuração em seu diretório pessoal (em vez do diretório pessoal root ). Esses arquivos de configuração podem ser de propriedade de root e inacessíveis quando você não está executando como root, o que pode atrapalhar seriamente suas configurações e pode até impedir que alguns aplicativos funcionem completamente.

A solução, depois de ter cometido este erro, é encontrar os arquivos de configuração e excluí-los ou chown de volta para pertencerem a seu usuário que não seja root . Muitos desses arquivos começam com . ou estão contidos em um diretório que começa com . . Alguns estão localizados dentro da pasta .config em seu diretório inicial. Para ver arquivos e pastas que começam com um . no Nautilus, pressione Ctrl + H (isso mostra arquivos ocultos .) Para vê-los com ls , use o -a (ou -A ) bandeira.

Para descobrir se há arquivos que não são de sua propriedade 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 que não pertence ao usuário.

    
por Chris Wilson 06.11.2010 / 16:01
9

Você sabia que existe um complemento do Nautilus chamado nautilus-gksu que adiciona um menu de atalho" abrir como administrador "ao nautilus?

Nota: Não disponível no Ubuntu 12.04 e em diante.

    
por robin0800 06.11.2010 / 17:16
5

Se você iniciar um aplicativo gráfico com o sudo, poderá atrapalhar a propriedade de seus arquivos, o que pode causar a quebra de seus aplicativos. Nunca faça isso. Verifique a Ajuda da comunidade :

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

    
por desgua 29.04.2011 / 03:38
3

sudo por padrão preserva sua variável $ HOME. Por exemplo, se você executar sudo firefox , será executado com privilégios de root, mas com sua configuração. Se você alterar as configurações nessa situação, terminará com partes de sua configuração de propriedade do root em vez do seu ID de usuário.

    
por Mark Russell 29.04.2011 / 03:42
1

sudo -H GUI-application-program

No Ubuntu (17.10) 17.10.1 e provavelmente versões futuras do Ubuntu, gksu e gksudo estão obsoletos. Eles trabalham em Xorg, mas não em Wayland. Mas você pode usar sudo -H para executar programas aplicativos da GUI sem danificar seus arquivos de configuração. Não não use sudo simples.

Se você estiver executando o Wayland (o novo sistema gráfico que substitui o Xorg), você precisará de um comando com xhost também.

xhost +si:localuser:root       # if Wayland
sudo -H nautilus --no-desktop

Veja o link a seguir para mais detalhes,

Por que o gksu / gksudo ou o aplicativo gráfico com o sudo não funcionam com o Wayland?

    
por sudodus 21.03.2018 / 14:00
-2

Encontrado no arquivo gerado pelo comando do terminal 'info gksudo':

gksu is a front-end to su and gksudo is a front-end to sudo. Their primary purpose is to run graphical commands that need root without the need to run an X terminal emulator and using su directly.

Descobri que, em muitos casos, os arquivos de "informações" têm descrições úteis, além de informações úteis sobre as opções. Eu sugiro strongmente que aprender sobre qualquer comando primeiro comece com o acesso ao arquivo 'info' nesse comando.

Para o iniciante, no terminal, digite ou cole as informações de 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). Entradas de terminal sugeridas para o iniciante são:

$ info
$ info info
    
por James 04.08.2012 / 18:24
-3

Se você escolher gksudo nautilus, você pergunta sua senha graficamente. Com o sudo, você pergunta em um terminal

    
por winniemiel05 06.11.2010 / 15:58