我想知道当我双击某个文件图标时到底发生了什么desktop
,该文件包含如下行:
Exec=/bin/sh /absolute-path/script
可能有一个 Ubuntu 应用程序可以处理这个问题,对吗?
(我使用的是内核为 3.2.60 的 Xubuntu)
答案1
像往常一样ps axjf
显示正在运行的进程树。例如,我正在使用 gnome“fallback”会话并单击 MC 图标。树是:init - lightdm - lightdm - init - gnome-session - gnome-panel - gnome-terminal - mc。
从菜单启动它会使 gnome-panel 作为启动启动器的父进程。
答案2
桌面文件基于freedesktop.org 标准Unity、Gnome、Xfce 和 KDE 等环境会遵循此规则。桌面环境将解释该文件并根据文件的内容运行程序。
答案3
查看本指南启动器和桌面文件。
Unity Launchers 实际上是存储在计算机中的文件,扩展名为“.desktop”。在早期的 Ubuntu 版本中,这些文件仅用于启动特定应用程序,但在 Unity 中,它们还用于为每个应用程序创建右键单击菜单,您可以从 Unity Launcher 访问这些菜单。
文件中的行基本上是针对桌面环境的指令,指示当单击或从该 .desktop 文件启动应用程序/启动器时如何处理该应用程序/启动器。例如,“Exec=...”行是执行“=”字符后面的命令的指令。
您应该能够使用 vim、nano、gedit 或任何文本编辑程序打开这些文件。
答案4
这句话正是所发生的情况。
它说,使用 /bin/sh 解释器执行在 找到的程序或脚本/absolute-path/script
。
您甚至可以通过在终端中手动尝试,或者通过方便的alt-F2
对话框运行/absolute-path/script
。