Bem, talvez seja uma fantasia, mas há várias pessoas dizendo a mesma coisa:
Por que devo usar o gksudo para aplicativos Gtk em vez do sudo?
Há outros momentos, no entanto, em que os efeitos colaterais podem ser tão leves quanto as extensões do Firefox que não aderem ou tão extremas quanto a impossibilidade de efetuar logon porque as permissões da sua autoridade .ICE foram alteradas.
Por que os usuários nunca devem usar o sudo normal para iniciar aplicativos gráficos?
Suponha que você esteja executando o gedit (um editor de texto gráfico) como root. Se você executar o sudo gedit, o HOME continuará apontando para o diretório inicial, mesmo que o programa esteja sendo executado como root. Conseqüentemente, o gedit gravará os arquivos de configuração como root no diretório inicial. Às vezes, isso resulta em arquivos de configuração pertencentes ao root e, portanto, inacessíveis a você (quando você executa o programa posteriormente como você e não como root).
Como executar um programa GUI como um usuário diferente (Debian)?
Primeiramente, não use sudo ou su para alterar os usuários para executar um processo gráfico, ou você pode ter problemas na linha (~ / .ICEautoridade de alteração de proprietário é um problema notável). Em vez disso, crie um atalho que use o seguinte comando:
Executando o Sudo graficamente
Bem, para ser perfeitamente honesto, na maioria das vezes não é. Para muitos aplicativos, você pode executá-los de maneira inadequada - usando o sudo para aplicativos gráficos e sem efeitos colaterais adversos.
...
Esses erros ocorrem porque, algumas vezes, ao sudo
iniciar um aplicativo, ele é iniciado com privilégios de root, mas usa o arquivo de configuração do usuário.
Esse arquivo de mensagens também pode ser do seu interesse.
Então, vamos testá-lo.
2 novas caixas virtuais. Ubuntu 14.04. Nunca execute o firefox neles. O que acontecerá quando eu executar o comando sudo firefox
?
tim@Hairy14CVB:~$ sudo firefox
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
...
shutdownObserver@XPIProvider.jsm:2192:13
É o mesmo (ou pelo menos muito semelhante) para as duas caixas virtuais. Enquanto o Firefox estava em execução, instalei uma extensão do YouTube - uma em destaque. Então fechei o firefox e verifiquei a saída.
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
Bem, .ICEauthority
está bem! Contudo...
tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 Jun 1 20:49 ..
drwx------ 3 root root 4096 Jun 5 22:41 .dbus
drwx------ 4 root root 4096 Jun 5 22:41 .mozilla
3 coisas na minha pasta pessoal ( /home/tim/
) pertencem à raiz ( ..
, .dbus
e .mozilla
). É o mesmo (ou pelo menos muito semelhante) para as duas caixas virtuais.
Então, isso importa. Eu não tinha certeza, então executei o Firefox, assim:
tim@Hairy14CVB:~$ firefox
(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.
E esse erro feio:
Para obter a saída completa do terminal (incluindo o tagarela do firefox), veja estas duas caixas de pasta, aqui e aqui .
Eu ainda posso executar o Firefox como root a propósito. Mas agora mais arquivos foram alterados:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
drwx------ 3 root root 4096 Jun 5 22:55 .adobe
drwx------ 3 root root 4096 Jun 5 22:40 .dbus
drwx------ 3 root root 4096 Jun 5 22:55 .macromedia
drwx------ 4 root root 4096 Jun 5 22:40 .mozilla
Isso foi porque eu carreguei uma imagem no imgur.com? Não tenho certeza.
Como eu consertei isso? chown
. Eu não entendo, mas a internet disse para fazê-lo, e é uma Caixa Virtual tão yolo.
sudo chown -R tim:tim /home/tim/
E isso consertou. Agora a saída é apenas o ..
arquivo:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
E é o mesmo no meu computador atual. Ah, e na minha caixa virtual do Kubuntu:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
No qual eu nunca executei um comando sudo. Então está tudo bem. Apenas não execute sudo
em um aplicativo GUI.
Teste final: execute-o com -H
os -i
sinalizadores e:
sudo -H firefox
e
sudo -i firefox
E boas notícias! Ainda assim, a única "coisa" raiz é ..
. E eu posso correr firefox
sem root.
O OP quer que eu fale sobre o Gedit.
Eu corri
sudo gedit
Em seguida, instalou alguns plugins aleatórios. Esta foi a saída:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Observe que eu não consigo nem ver a propriedade do mesmo, .gvfs
então fiz isso:
tim@Hairy14VB:~$ sudo ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
dr-x------ 2 root root 0 Jun 6 10:05 .gvfs
Portanto, a execução sudo gedit
altera um arquivo no meu diretório pessoal para root.
Ainda consigo abrir o gedit, mas desta vez pego lixo:
(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.
E isso sugere que há outro arquivo ( ~.local/share/recently-used.xbel
) que foi alterado. Acho que esta é a lista de arquivos usados recentemente e (suposição) agora não tenho mais minha lista de arquivos usados recentemente:
Deve haver um arquivo chamado output2.txt.save2
. Meus pronomes são He / Him