我的自定义.desktop文件在Dash中显示为文本文件

亚历山德罗·鲍尔(Alessandro Power)

我最近在计算机上安装了MATLAB。我发现虽然可以从终端轻松启动MATLAB,但没有可执行文件可以双击运行。因此,我创建了一个Bash脚本来运行MATLAB,然后创建了一个.desktop文件并将其保存在中/usr/share/applications/这是该.desktop文件的内容:

[Desktop Entry]
Type=Application
Name=MATLAB
Hidden=false
Exec=Desktop/Programs/scripts/runMatlab.sh
Icon=/usr/share/icons/matlabIcon.jpg
Categories=Application;

如果查看内部/usr/share/applications/,确实会看到一个名为MATLAB的可执行文件,并带有相应的图标,如果双击该文件,MATLAB将会正常运行。但是,如果我在Dash中键入MATLAB,则matlab.desktop将显示为文本文件。它没有正确的名称(MATLAB)或正确的图标,如果我单击它,Gedit将打开,而不是正在执行的文件。

我怎样才能解决这个问题?

我正在使用Ubuntu 14.04。

雅各布·弗利姆

如果您在Dash中进行了很好的查看,您会发现matlab.desktop文件 没有显示为应用程序,但是该文件 matlab.desktop出现在search最近使用过的文件,因为您显然已对其进行了编辑。

错误

原因是Dash至少(由于以下原因)未将其视为有效 .desktop文件:

  • 您不应在.desktop文件(Desktop/Programs/scripts/runMatlab.sh是相对的)中使用相对路径,而应使用绝对路径。

其他可能的原因可能是无效的图标路径,或者是您在不带前导字符的情况下调用了脚本sh(如果脚本不是可执行文件,但考虑到问题中的其他信息,则似乎不是这种情况)。

笔记

  • 另一件事是,如果将脚本存储在看似本地目录中,则不应将.desktop文件存储在/usr/share/applications,而应将文件存储在~/.local/share/applications

  • .desktop如果从Dash或Launcher运行文件,则无需使文件可执行。大部分发射器都位于/usr/share/applications~/.local/share/applications位于仅当您找到它并在您的桌面上运行它时。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

文本文件中的Argparse自定义帮助

保存自定义设置文本文件的位置?

从 C# 中的文本文件读取自定义文本数据

将文本文件内容写入Java中的自定义arraylist

如何在自定义Unity3D Inspector中“ ping”文本文件?

如何在C ++中读取自定义格式的文本文件

在Wordpress中自定义我的画廊

Dash将自定义文件夹设置为我的资产文件夹

在单独的文件中创建我自己的自定义方法

如何使用StorageFolder从自定义文件夹或位置读取文本文件?

自定义 CreateModelMixin - 在我的模型中定义的对象创建

创建一个填充自定义格式文本的文本文件

我想自定义验证后显示的错误文本

如何通过Scala中的自定义功能对大型文本文件中的行进行排序?

如何将自定义tabBar设置为我的自定义TabBarController?

在woocommerce结帐时为我的自定义付款插件执行自定义js代码

在Android Studio中找不到我的自定义视图的自定义属性

在我的自定义视图的控制器中创建自定义IBAction

xamarin.forms中我的自定义控件的HeightRequest的自定义BindableProperty

如何在Python3中从文本文件获取和创建自定义变量?

如何为我的.zshrc文件指定自定义路径?

为项目文本文件定义宏

我的自定义DialogFragment没有显示在活动中

使用自定义扩展名 Python 导出文本文件

如何将产品保存到自定义文本文件?

使用 Bash 从自定义文本文件中提取 IP 地址

从文本文件读取时,Beam 是否支持自定义分隔符

如何使用自定义(多行)行终止符读取文本文件?

选择自定义行结尾以Qt编写文本文件