Estou tentando executar o nautilus como root, mas quando executo "sudo nautilus" no terminal, recebo o seguinte erro:
erro: XDG_RUNTIME_DIR não definido no ambiente.
(nautilus: 9341): Gtk-WARNING **: não é possível abrir a tela:
O problema não ocorre quando tento executar o nautilus como não raiz. Estou usando o ubuntu 14.04. Alguém sabe como eu posso consertar isso?
-X
opção ao iniciar minha sessão ssh.Respostas:
Quando você executa o software como outro usuário, está de fato iniciando o novo ambiente mínimo e isolado que não carrega algumas variáveis "excessivas" (entre outras variáveis responsáveis por injetar bibliotecas ou definir certos privilégios). Substitua sua
sudo nautilus
chamada pelo seguinte: ela continuará com as configurações específicas do servidor x do servidor a partir da sessão atual:Esta é uma solução de baixo nível única, mas funcionará em uma máquina mal configurada. Se você deseja "corrigir seu
sudo
" permanentemente, precisará encontrar o problema com a configuração do seu ambiente e corrigi-lo conforme descrito em outras respostas.fonte
sudo nautilus
deve funcionar normalmente no terminal quando executada. Normalmente, sempre que faço isso no terminal em uma nova instalação, ele é aberto normalmente com o sudo.pkexec
esudo
páginas de manual, bem como o google para a disputa relacionada.Cannot open display
significa que algo está faltando em seu arquivo de configuração porque algo o modificou e o removeu do ambiente quando não deveria. Então, como ele pode voltar ao ambiente permanentemente, para que eu não precise lidar com isso?env
antes da execuçãonautilus
e o primeiro cuida da definição das variáveis para mim. Você pode conferirman env
.env COMMAND ARG ...
Eu também tive o mesmo problema no Ubuntu 14.04. Abra o terminal pressionando,
Ctrl+ Alt+T
então
sudo visudo
mude a linha
Padrões env_keep = "https_proxy"
para
Padrões env_keep + = "https_proxy"
Funcionou como charme.
fonte
$XAUTHORITY
desafia o objetivo.Para facilitar, mais expliquei a nova inicialização do meu sistema.
Depois de todas as explicações aqui, cheguei ao resultado - e "env" no terminal já disse que é certo para esta sessão:
Essas duas linhas para usar a variável de ambiente:
para o comportamento tmp que eu escolhi:
mkdir -pv ~ / .cache / xdgr
Para definir a variável de ambiente:
exportar XDG_RUNTIME_DIR = $ PATH: ~ / .cache / xdgr
Depois de fechar o terminal e uma nova abertura para o recall de env, eles dizem:
XDG_RUNTIME_DIR = / run / user / 1001
nota: está ok para o usuário no ubuntu, o root precisa de mais (última informação por termo - com permissões 0700)
fonte
Se você está recebendo esse erro no Docker; isto é o que eu faço
fonte