Matlab .desktop 文件

Matlab .desktop 文件

(这与在 Dock 中创建启动器或类似的东西无关。)

当我导航到包含一些 Matlab .m 文件的文件夹时,只需执行

matlab myscript.m

在终端中,它启动 Matlab,并将工作目录设置为文件所在的位置。

这有一些好处:如果目录中还有一个 startup.m 文件 - 因此在 Matlab 路径中 - Matlab 将会注意到并运行它。

我尝试使用 .desktop 文件复制此功能,因此我可以单击 .m 文件(Ubuntu 将其识别为 Objective C...),并获得与从终端运行相同的结果,但没有成功。

以下是我尝试过的:

text/x-objcsrc=Matlab.desktop输入/home/jakub/.local/share/applications/mimeapps.list

并在中创建此桌面文件/home/jakub/.local/share/applications

Version=1.0
Type=Application
Terminal=false
Exec=matlab -desktop
Name=Matlab
Icon=/home/jakub/Pictures/icons/Apps-Matlab-icon.png
Categories=Development

当我单击 .m 文件时,它会启动 Matlab,但这并不等同于从终端运行它(参见上文):主要是,工作目录设置为 Matlab 的默认目录,而不是脚本所在的位置,并且脚本不会打开,只是带有空编辑器的普通 Matlab。

我也尝试过这个:

Exec=matlab -desktop -r "edit %f"

打开文件但不设置工作目录

Exec=matlab -desktop -r "cd %d"

这会改变工作目录,但是Matlab 运行,这意味着它不会运行 startup.m 中的代码(因此它不等同于matlab myscript.m在终端中执行)。

有什么办法完美模仿matlab myscript.m从终端运行,但在桌面文件中?

答案1

当我尝试手动设置 Matlab 时,我遇到了类似的问题。

最后,我运行:
sudo apt-get install matlab-support
并按照安装说明进行操作。这只是将 Matlab 添加到仪表板。

生成的 matlab.desktop 文件内容为:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=matlab -desktop
Name=MATLAB
Icon=/usr/share/icons/hicolor/48x48/apps/matlab.png
Categories=Development;Math;Science
Comment=Scientific computing environment
StartupNotify=true
StartupWMClass=com-mathworks-util-PostVMInit

在 matlab 中通过单击打开 .m 文件我使用 Ubuntu GUI 将其设置为使用以下命令打开这些文件:

matlab -desktop -r "open %U;"

这既会在 Matlab 中打开文件,又会将当前工作目录设置为文件所在的位置(至少对于 Matlab 2016b 而言)。

我希望这个信息帮助。

相关内容