はじめに
Ubuntu 20.04にMATLAB R2021bをダウンロードする際、ハマった部分があったので備忘録。
今回は、評価版を使用しています。
評価版のダウンロードはこちら
試してないですが、ライセンスありの場合も同様にインストールできると思います。
ハマったポイント
MATLABのインストール先がルート権限ではないと書き込みが出来ず、インストールできない
結論
先に結論から述べると
rootユーザーとしてログインして、インストールする
試したこと
1. sudo ./install
まずは、rootユーザーとして実行すれば良いかなと思い、sudoで実行してみました。
$ sudo ./install
結果は何も表示されない。
2. インストール先のアクセス権限の変更
上記の画像からもわかるとおりデフォルトのMATLABのインストール先は /usr/local/MATLAB/R2021b/
であるためこのディレクトリのアクセス権限を 777
に変更
$ sudo mkdir -p /usr/local/MATLAB/R2021b # もしディレクトリが存在しない場合に実行
$ sudo chmod 777 /usr/local/MATLAB/R2021b
結局同じエラーが発生
3. pkexec を使用
$ sudo ./install
一番最初に試した上記のsudoを使用したコマンドの実行はGUIでは適用されないと気づき、pkexecを使用してGUIをroot権限で立ち上げようとしました。
$ pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /path/to/install # matlabのinstallファイルのpath
結果、何も表示されない。
ログもうまく表示できず、原因は不明。installファイルも読んでみましたが、shellの知識も乏しいのでどこで詰まっているのかわからず、、、。もし、わかる方がいれば、ご教授いただけると幸いです。
うまく行った方法
最終的に、rootユーザーでログインしてしまえば、インストールできるのではないかという仮説のもと、試したところインストールできました。
ちなみに、rootユーザーでログインすることは、Ubuntu的には非推奨であるのでここから先は自己責任でお願いいたします。
まずは、rootユーザーのログインパスワードを設定します。
すでに設定している方は無視して結構です
$ sudo passwd
現在のパスワードと新しいパスワード、パスワードの再入力が聞かれるので指示通りに入力する
次に、GNOME3の設定ファイルを少しだけいじります。
修正するファイルは /etc/gdm3/custom.conf
と /etc/pam.d/gdm-password
の2種類です。
[security]
AllowRoot=true
securityの部分に AllowRoot=true
を追記して、上書き保存。
#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_succeed_if.so user != root quiet_success <- この部分をコメントアウト
上記は、rootユーザーとしてログインできないようにする設定している箇所なので、上記コードで示した部分をコメントアウトして、上書き保存。
修正が終わったら、再起動し、ログイン画面でrootユーザーとしてログイン。
$ ./install
上記を実行してMATLABのダウンロード手順に従って進めれば、無事終了。
感想
rootユーザーとしてログインすれば、権限周りは解決でき、インストールまですることが出来たがrootユーザーとしてログインすると全権限を持っているため今回のように通信を行うような処理を行うものは少し怖いと感じました。
もし、代替案があれば共有していただけると幸いです。
参考文献
https://jp.mathworks.com/matlabcentral/answers/478492-linux-os-ubuntu
https://qiita.com/chicken9/items/65799a63cccb9a4a947a
https://cpoint-lab.co.jp/article/201904/9231/
https://linuxconfig.org/how-to-allow-gui-root-login-on-ubuntu-20-04-focal-fossa-linux
https://www.youtube.com/watch?v=FgbkbwIEj1E