我用 Google 搜索过,但似乎找不到任何一致的教程或文档来描述如何执行此操作(就我而言,是在 Kubuntu 15.10 上)。我想将自定义脚本添加到 Dolphin 中的上下文菜单中(nautilus-scripts
Nautilus 也是如此)。出于某种原因,当我按照找到的任何说明进行操作时,我只能在右键单击相关文件时显示上下文菜单.desktop
。 我该如何解决这个问题?
答案1
KDE 服务菜单
用 KDE 的话来说,“服务菜单”是一个特殊条目,它会出现在文件(或目录)的上下文菜单(或其他基于上下文的界面)中,具体取决于所选文件的类型。
海豚服务菜单:
- https://develop.kde.org/docs/dolphin/service-menus/
- https://www.kubuntuforums.net/showthread.php?25740-Service-Menus-with-Dolphin
缺少服务菜单:https://forum.kde.org/viewtopic.php?f=223&t=128621
路径
KDE Frameworks 5 正在寻找以下服务:
kf5-config --path services
正在执行:
$ kf5-config --path services
/home/user26687/.local/share/kservices5/:/usr/share/kservices5/
那是:
用户服务菜单包括:
$HOME/.local/share/kservices5/ServiceMenus/
系统服务菜单位于
/usr/share/kservices5/ServiceMenus/
桌面文件
服务菜单使用 .desktop 文件定义。桌面条目规范:https://standards.freedesktop.org/desktop-entry-spec/latest/
一个例子-带有文件路径的简单服务菜单:
制作:$HOME/.local/share/kservices5/ServiceMenus/myFirstServiceMenu.desktop
如果目录不存在,用户可以创建它!
[Desktop Entry]
Type=Service
Icon=smiley-shape
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/allfiles;
Actions=helloWorld;
Encoding=UTF-8
[Desktop Action helloWorld]
Name=Hello with path information
Icon=smiley-shape
Exec=kdialog --msgbox "Path is %f"
关闭所有 Dolphin 窗口并启动一个新窗口。右键单击文件时:
答案2
以下内容在 Ubuntu 16.04 上对我有用
将脚本放在目录中~/.local/share/kservices5/ServiceMenus/
跑步kbuildsycoca5
脚本将在新的海豚实例中可见。
答案3
在带有 KDE (Kubuntu) 的 Ubuntu 16.04 上,有一个适当的目录用于*。桌面文件是/usr/share/kservices5/ServiceMenus/
(比较输出dpkg -L ark
以查找有关 ark 子菜单的类似文件位置)