SSHログインしたUbuntu22.04LTSでMatlabのインストールを行う
当サイトではアフィリエイト広告を利用しています
MatlabをsshやVNC経由で操作するUbuntuへインストール仕様とした際に手間取りました。
その解決方法について記述しておきます。
結論としてはX11転送ができるssh接続で環境変数を指定したsudoの実行で解決しました。
Matlabのインストールエラー
Ubuntu22.04LTSに対してMatlabをインストールすることになりました。
この環境はリモートに存在しているGUI環境で、普段はVNCやSSHを用いて接続している環境になります。
基本的には公式のインストール手順に従えばよいはずです。
MathworksアカウントでログインしてDLしたLinux向けインストーラーを解凍し、sudo ./install
を行えばよいとあります。
しかし、SSHのポート転送を用いたVNC環境では次のようにエラーが出てしまいました。
$ sudo ./install
Authorization required, but no authorization protocol specified
ならばということでX11転送ができるMobaXtermを用いてターミナル経由のインストールを試みます。
xeyes
は実行できるのでX11転送自体は問題なくできているのですが、Matlabインストールを試みると次のように表示されてしまいます。
$ sudo ./install
X11 connection rejected because of wrong authentication.
原因
どうもsudoが原因のようです。sudo xeyes
も同様のエラーでしたし。
sudoを行った際にX周りの環境変数を引き継げなかったということのようです。
対処
次のようにXAUTHORITY
を実行時に渡せばよいようです。
# xeyes
$ sudo XAUTHORITY=~/.Xauthority xeyes
# matlab
$ sudo XAUTHORITY=~/.Xauthority ./install
これでmobaxterm経由でX11転送を行い、GUIでMatlabのインストールを行うことが出来ました。
まとめ
- sshやVNCでMatlabインストールに失敗
- X11の環境変数がsudoでわたってなかったのが問題
XAUTHORITY
をsudo時に指定して解決