Вопрос или проблема
До версии 24.10 (Plasma 6 – которая включает изменение расположения файлов меню сервисов на ~/.local/share/kio/servicemenus
) я мог добавлять пользовательские сервисные меню для использования различных программ, таких как переименование в Thunar или поиск в Catfish.
Например, файл “пользовательского сервиса” .desktop
для массового переименования в Thunar выглядит так:
[Desktop Entry]
Actions=BulkRename;
Icon=edit-rename
MimeType=all/all;
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
[Desktop Action BulkRename]
Exec=thunar -B %U
Icon=org.xfce.thunar
Name=Bulk Rename
Но теперь такие действия вызывают эту ошибку:
https://develop.kde.org/docs/apps/dolphin/service-menus/
Когда сервисное меню устанавливается из Dolphin с помощью Get-Hot-New-Stuff, используется местная директория, потому что это не требует привилегий администратора. Однако, вам нужно отметить файл рабочего стола как исполняемый, чтобы он считался авторизованным, так как это расположение не является стандартным местом, авторизованным по умолчанию.
Ответ или решение
Теория
Вопрос, который вы поставили, связан с проблемами при использовании пользовательских сервисных меню в файловом менеджере Dolphin в KDE Plasma 6, особенно при попытке использовать программы Thunar и Catfish. Проблема заключается в выскакивающей ошибке, которая указывает, что пользователь не имеет прав для выполнения программы. Это возникает из-за изменений в способе, которым KDE обрабатывает сервисные меню, начиная с версии Plasma 6.
Plasma 6 переместила пользовательские сервисные меню в новую директорию: ~/.local/share/kio/servicemenus
. Это было сделано для более безопасного и управляемого хранения пользовательских настроек. Однако, с изменением расположения, было введено новое требование, чтобы .desktop
файлы были отмечены как исполняемые. Это сделано для предотвращения несанкционированного выполнения кода через установленные без администраторских прав расширения.
Пример
Вы указали пример пользовательского .desktop
файла, созданного для использования с программой Thunar:
[Desktop Entry]
Actions=BulkRename;
Icon=edit-rename
MimeType=all/all;
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
[Desktop Action BulkRename]
Exec=thunar -B %U
Icon=org.xfce.thunar
Name=Bulk Rename
Этот файл добавляет в контекстное меню возможность использовать массовое переименование файлов через Thunar. Тем не менее, без дополнительных установок и изменения свойств этого файла, он не будет считаться авторизованным для выполнения в новой системе Plasma 6.
Применение
Для решения этой проблемы требуется несколько шагов:
-
Проверка прав исполнения: Убедитесь, что ваш
.desktop
файл имеет права на исполнение. Это можно сделать с помощью команды:chmod +x ~/.local/share/kio/servicemenus/your_custom_service.desktop
Замена
your_custom_service.desktop
на фактическое имя вашего файла гарантирует, что он отмечен как исполняемый. -
Проверка синтаксиса и корректность путей: Убедитесь, что все пути в файле указаны корректно. Поскольку вы используете Plasma, убедитесь, что ваши программы установлены и доступны в
$PATH
. -
Обновление кэша и перезапуск Dolphin: После внесения изменений в
.desktop
файлы рекомендуется обновить кэшик конфигурационных файлов и перезапустить Dolphin, чтобы изменения вступили в силу. Это можно сделать следующими командами:kbuildsycoca5 --noincremental
-
Логирование и отладка: Если после выполнения вышеуказанных шагов проблема не решена, рекомендуется провести более детальную диагностику. Проверьте системный журнал и лог-файлы KDE на предмет дополнительных сообщений об ошибках, что может помочь в выявлении коренной причины проблемы.
-
Проверка зависимости и пакетов: Убедитесь, что все зависимости для работы Thunar и Catfish установлены. Возможно, потребуется установка дополнительных библиотек или модулей для корректной работы.
Следуя этим рекомендациям, можно добиться успешного разрешения проблемы с пользовательскими сервисными меню в новой версии Plasma 6. Если все шаги выполнены верно, Dolphin не должен выдавать ошибку об отсутствии прав на исполнение программ, таких как Thunar или Catfish.