Não é possível abrir o Gedit como root

14

Quando executo sudo gedit /path/to/some/random/file, recebo o seguinte erro

** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.
Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

Usar gksudotambém não ajuda a retornar

Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

Qualquer ajuda pessoal. Eu preciso ter esse recurso para abrir arquivos no Gedit como root.
Encontrei esta pergunta com o mesmo erro, mas sem solução Não foi possível iniciar o gedit com o sudo


EDIT
Encontrei este post nos fóruns do Ubuntu .
Estas são as instruções:

  1. echo $ DISPLAY # você precisará deste valor 3 linhas abaixo
  2. sudo -i # ou "su -" em Slackwares mais antigos
  3. xauth merge ~ alien / .Xauthority # use seu próprio nome de usuário aqui em vez de "alien"
  4. exportar DISPLAY =: 0.0 # use o valor de DISPLAY que você já viu 3 linhas antes

Ao chegar ao comando # 3, recebi este erro
xauth: file /root/.Xauthority does not exist

Talvez essa nova informação possa lançar mais luz.

Parto
fonte
Você já tentou gksudo gedit /path/to/the/file/name?
AzkerM
@AzkerMohamed Yah, como minha pergunta diz, usando gksudoou gksuretorna o mesmo erro.
Parto 03/02
1
Parece o mesmo caso que este askubuntu.com/questions/175611/…
user.dz
Eu fiz um script para este fim: gist.github.com/wachambo/bd22e12db2d5a46dc109bd0d553733be
Alejandro Blasco

Respostas:

13

Finalmente encontrei uma resposta. A partir desta pergunta não é possível conectar ao servidor X ao executar aplicativo com sudo e especialmente esta questão de erro ao tentar executar um aplicativo com sudo ou gksudo .

Eu adicionei a linha Defaults env_keep+="DISPLAY"no final do visudoarquivo em /etc/sudoers.

Yay, meu sudo geditestá de volta!

EDITAR

Recebi o mesmo erro novamente por algum tempo.

Fiz mais algumas pesquisas, especialmente esta resposta /ubuntu//a/137584/163331 e percebi que tinha que adicionar mais opções ao visudoarquivo. Em vez de Defaults env_keep+="DISPLAY", usei esta linha:

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"
Parto
fonte
Por que adicionar HOME ao env_keep?
Muru
9

A execução de qualquer aplicativo de interface gráfica como raiz pode resultar em corrupção de arquivo, especialmente se o aplicativo de interface gráfica for um editor de texto. Além deste gksue gksudonão fazer o trabalho para iniciar aplicações gráficas como root em Wayland no Ubuntu 17.10: Por que não gksu / gksudo trabalho com Wayland? e o pacote gksu foi retirado dos repositórios padrão do Ubuntu no Ubuntu 18.04 e posterior.

O Nautilus Admin ( nautilus-admin ) é uma extensão simples do Python para o gerenciador de arquivos do Nautilus que adiciona algumas ações administrativas ao menu do botão direito do mouse:

  • Abrir como administrador: abre uma pasta em uma nova janela do Nautilus em execução com privilégios de administrador (raiz).
  • Editar como administrador: abre um arquivo em uma janela do Gedit em execução com privilégios de administrador (raiz).

Para instalar o Nautilus Admin em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:

sudo apt install nautilus-admin  

Embora existam comandos para executar aplicativos gráficos como raiz, é altamente recomendável usar o editor de nano texto, que normalmente é executado no terminal, para editar arquivos como raiz. O editor de texto Nano está incluído na instalação padrão do Ubuntu.

Nano é muito fácil de usar. As instruções para usar o nano editor sempre são encontradas na parte inferior de todas as páginas. Os únicos dois atalhos de teclado nano que você precisa saber são para WriteOut e Exit. Pressione a combinação de teclado Ctrl+ Oe depois pressione Enterpara salvar o arquivo que está sendo editado. Pressione a combinação de teclado Ctrl+ Xpara sair do nano.

Se você adquirir o hábito de editar arquivos como root da maneira correta, reduzirá a possibilidade de cometer erros que podem levar muito tempo para serem corrigidos.

karel
fonte
1
+1 para o nanoeditor. Um dos melhores editores que qualquer um poderia achar mais fácil de operar.
AzkerM
@ Karel Finalmente usei o nano para fazer as alterações, mas preciso do meu root Gedit de volta.
Parto 03/02
1
Este é um bom conselho, mas esta não é a resposta. Os caras do Linux adoram terminal, mas uma GUI é incrível para tarefas complexas e tem melhor UX.
azerafati
Você pode personalizar o editor padrão do sudoeditcomando (que é por padrão nano): Como posso alterar o editor padrão do comando sudoedit para que seja vim? mas iniciar editores de GUI como root pode causar problemas no Ubuntu 17.10 e posterior com wayland.
Karel
5

No Ubuntu 17.10, pelo menos, você pode fazer o seguinte:

gedit admin:///path/to/some/random/file

Você será solicitado a digitar sua senha e, em seguida, o arquivo será aberto para edição como root.

Gunnar Hjalmarsson
fonte
Funciona em 18.04, bem ...
Elder Geek
4

Para o gedit, tente o seguinte:

sudo -H env DISPLAY=:0 gedit
kiri
fonte
1
Obtendo o mesmo erro.
Parto 03/02
1

Estou tentando resumir todas as informações nas outras respostas nesta página:

Wayland:

A única opção parece usada nanoouvi/vim

Xorg:

tente isso

sudo -H env DISPLAY=:0 gedit

se funcionar, provavelmente significa que você precisa adicionar alguma opção aos arquivos de configuração do sudo

sudo visudo

Tente adicionar esta linha no final

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`
Postadelmaga
fonte
Por que adicionar HOME ao env_keep?
Muru
geditfunciona bem em Wayland. Por favor, veja a resposta que acabei de publicar.
Gunnar Hjalmarsson
0

Eu apenas tive problema semelhante. Estou usando o Debian Jessie e, para iniciar o gedit como root, esta linha finalmente estava funcionando:

sudo -H gedit
Paul Free
fonte