Я Погуглил вокруг, но, может казаться, не нахожу последовательных учебных руководств или документации, которые описывают, как сделать это (в моем случае на Kubuntu 15.10). Я хочу добавить пользовательские сценарии к контекстному меню у дельфина (а-ля nautilus-scripts
для Наутилуса). По некоторым причинам, когда я следую любым инструкциям, я нахожу, я только могу заставить контекстное меню появиться при щелчке правой кнопкой по соответствующему .desktop
файл. Как я могу решить это?
На Ubuntu 16.04 с KDE (Kubuntu) один соответствующий каталог для *.desktop файлы /usr/share/kservices5/ServiceMenus/
(сравните вывод dpkg -L ark
для нахождения подобного расположения файлов относительно подменю ковчега)
Следующие, работавшие для меня на Ubuntu 16.04
, помещают, сценарии в каталоге ~/.local/share/kservices5/ServiceMenus/
работают kbuildsycoca5
, сценарии будут видимы в новых экземплярах дельфина.
Сервисные меню KDE
В KDE-говорят, "servicemenu" является специальной записью, которая появляется в контекстном меню (или другой основанный на контексте интерфейс) для файла (или для каталога), в зависимости от типа файлов, которые выбраны.
Создание (Konqueror) KDE Сервисные меню: https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus
Сервисные меню с дельфином: https://www.kubuntuforums.net/showthread.php? 25740-Service-Menus-with-Dolphin-> Сервисные меню KF5: https://www.kubuntuforums.net/showthread.php? 25740-Service-Menus-with-Dolphin&p=367207&viewfull=1#post367207
Пропавшие без вести Сервисных меню: https://forum.kde.org/viewtopic.php? f=223&t=128621
Пути
Платформы KDE 5 смотрят сервисы от:
kf5-config --path services
Выполнение:
$ kf5-config --path services
/home/user26687/.local/share/kservices5/:/usr/share/kservices5/
Это:
Пользователь servicemenus:
$HOME/.local/share/kservices5/ServiceMenus/
Система servicemenus в
/usr/share/kservices5/ServiceMenus/
Файлы на рабочем столе
Servicemenus определяются с помощью .desktop файлы. Настольная Спецификация Записи: https://standards.freedesktop.org/desktop-entry-spec/latest/
Изображение: Образец Настольных ключей/кодов Спецификации Записи
Пример - простой servicemenu с путем к файлу:
Создание: $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"
Изображение: servicemenu в правильном месте.
Закрытие всех окон дельфина и запуск нового. При щелчке правой кнопкой по файлу: