![Ubuntu 16.04 で sudo を使用して MATLAB を開くことができない](https://rvso.com/image/1157151/Ubuntu%2016.04%20%E3%81%A7%20sudo%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20MATLAB%20%E3%82%92%E9%96%8B%E3%81%8F%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
Ubuntu 16.04 に MATLAB R2017a をインストールしています。
matlab
コンソールから を実行して、ソフトウェアを正常に起動できます。ただし、sudo matlab
代わりに を実行すると、次のエラーが発生します。
sudo: matlab: command not found
sudo su
最初に を実行してから を実行しても同じ応答が得られましたmatlab
。
なしでしか実行できないのはなぜですかsudo
?sudo
更新するための 固有の PATH はありますか?
答え1
はい、sudo
独自の がありますsecure_path
。 出典man sudoers
:
secure_path Path used for every command run from sudo. If you don't trust the people running sudo to have a sane PATH environ‐ ment variable you may want to use this. Another use is if you want to have the “root path” be separate from the “user path”. Users in the group specified by the exempt_group option are not affected by secure_path. This option is not set by default.
(注意:はUbuntu のデフォルトで設定されています/etc/sudoers
。
変更することにした場合は、visudo
構文エラーが発生した場合にロックアウトされないように、通常のエディターではなく を使用することを忘れないでください。
より良い選択肢としては、Ubuntuにすでにある場所からシンボリックリンクを作成することですsudo
secure_path
。
$ ls -ld $(which matlab)
lrwxrwxrwx 1 root root 35 Apr 11 2017 /usr/local/bin/matlab -> /usr/local/MATLAB/R2017a/bin/matlab
matlab
最も良い方法は、ルートとして実行する必要がないようにデバイスの権限を調整することです。