无法在 Ubuntu 16.04 上使用 sudo 打开 MATLAB

无法在 Ubuntu 16.04 上使用 sudo 打开 MATLAB

我在 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以 root 身份运行。

相关内容