如果路径不正确则无法启动应用程序

如果路径不正确则无法启动应用程序

我有以下应用程序“系统监视器指示器”,我想让它在启动时启动。因此,我试图找到应用程序的名称,以便从终端调用它,我在 /usr/share/applications 找到“exe”,名称是 indicator-monitor.desktop

如果我尝试

sudo /usr/share/applications/indicator-monitor

它说没有找到命令

如果我删除 sudo,它会说权限被拒绝。

但是当我这样做

cd /usr/share/applications && sudo indicator-monitor

它执行得很好。

如果我将上述内容放在启动命令中,它不会打开。有什么想法吗?

谢谢

答案1

你走错地方了。/usr/share/应用程序包含启动器文件(配置文件),而不是可执行文件。您无法通过 sudo 命令运行 .desktop 文件。您应该运行可执行文件。

sudo /usr/share/applications/indicator-monitor

为什么不起作用?没有名为 indicator-monitor 的文件,而是 indicator-monitor.desktop。

cd /usr/share/applications && sudo indicator-monitor

为什么它能工作?您的第一个命令将转到应用程序文件夹。没问题。但下一个命令将运行 indicator-monitor(来自环境路径的可执行文件),而不是从当前目录运行。当前目录需要 ./ 前缀。

如何找到可执行文件的位置?使用应用程序名称运行以下命令

which indicator-monitor

检查环境路径运行以下命令 echo $PATH

可以从任何地方访问印刷版目录。

答案2

您没有在 中运行任何内容/usr/share/applications/。通过cd'in 进入那里不会让它从.desktop文件运行。相反,它只是从您的PATHs 中运行。您只是indicator-monitor从全局运行全局PATH

你当前的工作目录是什么并不重要。只需

sudo indicator-monitor

在任何地方都会导致相同的结果。

你会看到“命令未找到”错误,因为没有这样的文件/usr/share/applications/indicator-monitor。运行

ln -s /usr/share/applications/indicator-monitor

核实。

文件.desktop旨在从 GUI 运行,显示为图标,单击即可运行。查看文件内容以了解实际发生的情况(仅是文本文件!)。

相关内容