「Perl / Tkは利用できず、「sudo」で実行するとメインウィンドウを作成できません。」

「Perl / Tkは利用できず、「sudo」で実行するとメインウィンドウを作成できません。」

sudo /usr/local/bin/tlmgr -guiGnome 3を使用してOpenSUSE Tumbleweedから受信した完全なエラーメッセージ(TeX Live 2017管理者):

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.

起動時にそのようなエラーメッセージはありませんsudo(システム全体にインストールしましたが、この方法では使用できません)。

同じ結果なら

  • 行為sudo -H
  • 内部で行いますsudo -i(AFAIKと同じでなければなりませんsudo -H)。
  • pkexecsudo明らかにgksu/の新しい代替品gksudo? )

それからX権限ファイルを持って賢く遊びに行きました(次のようなものから)。https://unix.stackexchange.com/a/8250):

ln -s /run/user/1000/gdm/Xauthority /root/.Xauthority

# inside sudo -i then
export XAUTHORITY=/root/.Xauthority

その後、最初の2行に次のエラーメッセージが表示されます(残りは以前と同じです)。

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!

出力xauth list

linux-q1xc/unix:  MIT-MAGIC-COOKIE-1  fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#:  MIT-MAGIC-COOKIE-1  fa445a3c038b19300e8e45d4ae0ae55a

のためsudo xauth list

linux-q1xc/unix:10  MIT-MAGIC-COOKIE-1  7e608058d97a6bf4ae346879f4f5fd46

のためssh -X localhost xauth list

linux-q1xc/unix:10  MIT-MAGIC-COOKIE-1  faaf2ba1724d5efe85aa5ef6cb4fcc52

のためssh -X root@localhost xauth list

linux-q1xc/unix:10  MIT-MAGIC-COOKIE-1  e8168ff05f56458663f187ec38f744fe

後ろにsudo ln -sf ~/.Xauthority /root

出力xauth list

linux-q1xc/unix:  MIT-MAGIC-COOKIE-1  fa445a3c038b19300e8e45d4ae0ae55a
#ffff#6c696e75782d71317863#:  MIT-MAGIC-COOKIE-1  fa445a3c038b19300e8e45d4ae0ae55a

出力sudo xauth list

linux-q1xc/unix:10  MIT-MAGIC-COOKIE-1  faaf2ba1724d5efe85aa5ef6cb4fcc52

エラーメッセージは再び最初のメッセージです。

xauth list内部的にsu -または出力を使用するsudo -E(両方有効):

linux-q1xc/unix:  MIT-MAGIC-COOKIE-1  fa445a3c038b19300e8e45d4ae0ae55a                                                                                                                        
#ffff#6c696e75782d71317863#:  MIT-MAGIC-COOKIE-1  fa445a3c038b19300e8e45d4ae0ae55a

(最初と同じです。)


仕事ssh -X localhost tlmgr -gui。内部で使用することsu -も、使用することもできますsudo -E

根本的な問題は何であり、どのように解決しますか?

答え1

DISPLAYコメントで説明したように、問題は維持しないことに関連しているため、sudo使用することがsudo -E可能な解決策です。

関連情報