Closed1

SSHリモート接続した環境でGUIをsudoで起動する

nodamushinodamushi

毎度毎度忘れるのでメモ(兼 Zennのスクラップの使い方の確認)

SSHのX11Forwardでリモートログインしてる Ubuntu 20.04 に某A社の某Vをインストールするのにsudo でGUIを立ち上げるとかいう糞みたいなのが必要なんだけど、普通に起動するとこうなる。

$ sudo ./xsetup
This is a fresh install.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
ERROR: Installer could not be started. Could not initialize class java.awt.GraphicsEnvironment$LocalGE
java.lang.NoClassDefFoundError: Could not initialize class java.awt.GraphicsEnvironment$LocalGE
        at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129)

これを解決するには、 DISPLAY環境変数と XAUTHORITY 環境変数を引き継げば良い。

XAUTHORITY 環境変数が設定されていないことがほとんどだと思うので、かわりに $HOME/.Xauthority を使う。

$ sudo DISPLAY=$DISPLAY XAUTHORITY=$HOME/.Xauthority ./xsetup
This is a fresh install.
INFO  - Started in: 0 Sec
INFO  - Internet connection validated, can connect to internet.
このスクラップは2023/05/11にクローズされました