Eu sei que não sou root porque não consigo navegar pelos pacotes. Primeiro, estou cienteessepágina, mas não está funcionando para mim. Depois de seguir essas instruções, recebo um aviso quando abro o Sublime no Unity, mas ainda não consigo navegar pelos pacotes. Se eu abrir o sublime usando gksu subl
no terminal, nada acontece. Se eu fizer sudo subl
isso, ele abrirá e poderei navegar pelos pacotes. Posso abrir o sublime como sudo sempre em vez de gksu?
Editar: Na verdade, quando abro o sublime no Unity, ele solicita a senha e não abre de jeito nenhum.
Editar: gksudo subl
tem o mesmo efeito que gksu. Instalei o Sublime do site (cliquei no link do Ubuntu 64, baixei, cliquei no download, me levou ao Software Center). "qual subl" retorna /usr/bin/subl
. gksu está instalado. Glutanimato, sim, é isso que quero dizer. Alguma ideia do que está acontecendo então? Só posso navegá-los se usar o sudo.
/usr/share/applications/sublime-text.desktop
:
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=gksu /opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;
[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n
OnlyShowIn=Unity;
[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file
OnlyShowIn=Unity;
Responder1
Quando gksu
/ gksudo
não funcionar ou não estiver disponível, você poderá usar .sudo -H
Se você executar um programa gráfico em sudo
vez de gksu
/ gksudo
, deverá usar sudo -H ...
(or sudo -i ...
) em vez de apenas sudo ...
.
sudo -H subl
sudo -i subl
(Nem as formas simples sudo ...
nem essas normalmente funcionam no painel do Unity, porque elas precisam de um terminal para solicitar sua senha. Mas você pode executá-las no Terminal.)
A principal razão éconsiderado ruimpara executar um programa gráfico com normal sudo
é que ele execute o aplicativo com sua HOME
variável de ambiente definida para o diretório inicial do chamador não-root ( ) em vez do diretório inicial do root ( ). Frequentemente/home/username
/root
faz com que os arquivos de configuração que deveriam pertencer ao usuário normal pertençam ao root em vez disso(e inacessível).
Executar sudo
com o -H
sinalizador evita isso, certificando-se de que o diretório inicial do root seja usado.
sudo -i
faz isso e muito mais: ele executa um programa em uma sessão simulada de login root. Não conheço nenhuma razão forte para preferir um ou outro sudo -H
e sudo -i
, quando o objetivo é apenas executar programas gráficos como root sem problemas.