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時に指定して解決