Full error message for sudo /usr/local/bin/tlmgr -gui
(TeX Live 2017 manager) I'm getting on my OpenSUSE Tumbleweed with 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.
No such error message when starting it without sudo
(can't use it this way though since I installed it system-wide).
Same result if
- doing
sudo -H
- doing it inside
sudo -i
(should be the same assudo -H
AFAIK) - using
pkexec
instead ofsudo
(apparently the new replacement forgksu
/gksudo
?)
Then I tried being clever and played around with the X authority file (got the idea from posts such as https://unix.stackexchange.com/a/8250):
ln -s /run/user/1000/gdm/Xauthority /root/.Xauthority
# inside sudo -i then
export XAUTHORITY=/root/.Xauthority
After that I'm getting the error message with the following first two lines (and the rest the same as previously):
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!
Output for xauth list
:
linux-q1xc/unix: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
For sudo xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 7e608058d97a6bf4ae346879f4f5fd46
For ssh -X localhost xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 faaf2ba1724d5efe85aa5ef6cb4fcc52
For ssh -X root@localhost xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 e8168ff05f56458663f187ec38f744fe
After sudo ln -sf ~/.Xauthority /root
Output for xauth list
:
linux-q1xc/unix: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
Output for sudo xauth list
:
linux-q1xc/unix:10 MIT-MAGIC-COOKIE-1 faaf2ba1724d5efe85aa5ef6cb4fcc52
Error message is again the first one.
xauth list
output inside su -
or using sudo -E
(both where it works):
linux-q1xc/unix: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#: MIT-MAGIC-COOKIE-1 fa445a3c038b19300e8e45d4ae0ae55a
(Same as the first one.)
Works with ssh -X localhost tlmgr -gui
. Also works inside su -
and using sudo -E
.
What is the underlying issue and how can it be solved?
xauth list
? – Satō Katsura Jun 6 '17 at 13:41DISPLAY
(or a -display option, if the command accepts it) would be a showstopper. The answer to this question unix.stackexchange.com/questions/203136/… tells how to get pkexec to retain yourDISPLAY
variable. – Mark Plotnick Jun 6 '17 at 19:39