Como discutido nos comentários, o problema tem a ver com DISPLAY
não sendo preservado com sudo
, portanto, usar sudo -E
é uma solução possível.
Mensagem de erro completa para sudo /usr/local/bin/tlmgr -gui
(gerente do TeX Live 2017) Estou usando meu OpenSUSE Tumbleweed com o Gnome 3:
No protocol specified
perl/Tk unusable, cannot create main windows.
That could be a consequence of not having X Windows installed or started!
Error message from creating MainWindow:
couldn't connect to display ":0" at /usr/lib/perl5/vendor_perl/5.24.1/x86_64-linux-thread-multi/Tk/MainWindow.pm line 53.
Tk::MainWindow->new() at /usr/local/bin/tlmgr line 4704.
Nenhuma mensagem de erro ao iniciá-lo sem sudo
(não é possível usá-lo dessa forma desde que o instalei em todo o sistema).
O mesmo resultado se
sudo -H
sudo -i
(deve ser o mesmo que sudo -H
AFAIK) pkexec
em vez de sudo
(aparentemente o novo substituto para gksu
/ gksudo
?) Então, tentei ser esperto e brincar com o arquivo de autoridade X (tirei a ideia de postagens como link ) :
ln -s /run/user/1000/gdm/Xauthority /root/.Xauthority
# inside sudo -i then
export XAUTHORITY=/root/.Xauthority
Depois disso, recebo a mensagem de erro com as duas primeiras linhas seguintes (e o restante é o mesmo de antes):
Invalid MIT-MAGIC-COOKIE-1 keyperl/Tk unusable, cannot create main windows.
That could be a consequence of not having X Windows installed or started!
Saída para xauth list
:
linux-q1xc/unix: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
Para sudo xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 7e608058d97a6bf4ae346879f4f5fd46
Para ssh -X localhost xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 faaf2ba1724d5efe85aa5ef6cb4fcc52
Para ssh -X root@localhost xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 e8168ff05f56458663f187ec38f744fe
sudo ln -sf ~/.Xauthority /root
Saída para xauth list
:
linux-q1xc/unix: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
Saída para sudo xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 faaf2ba1724d5efe85aa5ef6cb4fcc52
A mensagem de erro é novamente a primeira.
xauth list
output dentro de su -
ou usando sudo -E
(ambos onde funciona):
linux-q1xc/unix: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
(Igual ao primeiro).
Funciona com ssh -X localhost tlmgr -gui
. Também funciona dentro de su -
e usando sudo -E
.
Qual é o problema subjacente e como isso pode ser resolvido?