На настоящее время реализация ярлыков в linux на уровне windows 3.1, где небыло удобныхз средств редактировая ярлыков, то есть позволяют создавать или удалять ярлыки, а редактировать их по месту уже не умеет, а KDE даже на рабочем столе размещать не умеет их. Я это связываю только с ленью разработчиков, так как ярлык в linux - это обычный текстовый ini файл.
Файлы ярлыков в linux имеют расширение "desktop" и содержат единственную секцию "Desktop Entry", в которой обязательндолжны быть следующие ключи.
| Имя | Предназначение |
| Type | Application (программа), Link (ссылка в интернете), Directory (описание пункта меню) |
| Name | Отображмое имя ярлыка |
| URL | URL для ярлыка типа "Link", вконце обязательно должно быть "/" |
| Exec | исполняемая команда для ярлыка типа "Application" |
Магические коды ключа Exec.
| Код | Предназначение |
| %f | Для каждого выбранного файла запускает отдельную копию приложения с подстановкой в командную строку пути к файлу |
| %F | Заменяется на список файлов |
| %u | аналог %f, только вместо пути к файлу может быть адрес в сети интернет |
| %U | аналог %F, только вместо путей к файлам могут быть адреса в сети интернет |
| %i | заменяется на "--icon" + значение ключа icon |
| %c | подставляется значение ключа "Name" или "Name[xx]" |
| %k | заменяется на путь к этому файлу ярлыка |
Почти всегда существующие
| Имя | Предназначение |
| Actions | Окончания названия секций (Desktop Action ) в файле ярлыка, описывающее альтернативную команду |
| Categories | Метки используемые для размещения ярлыка в нужном месте меню |
| Comment | Всплывающая подсказка |
| Comment[xx] | Всплывающая подсказка на языке xx |
| Encoding | Кодировка файла ярлыка |
| GenericName | Обобщенное имя ярлыка, например Spreadsheet |
| GenericName[xx] | Обобщенное имя ярлыка, например Spreadsheet на языке xx |
| Icon | Отображаемая пиктограмма, должна быть путем к файлу типа png, svg, svgx, xpm, gif, ico, icns. По умолчанию беруться из папки "/usr/share/icons/" |
| InitialPreference | Приоритет ярлыка относительно других способных выполнить это же действие |
| Keywords | Метки используемые для поиска ярлыка |
| Keywords[xx] | Метки используемые для поиска ярлыка на языке xx |
| MimeType | Типы файлов обрабатываемые командой описанной этим ярлыком |
| Name[xx] | Отображаемое имя ярлыка на языке xx |
| NoDisplay | Ярлык не отображается, но запускается автоматически для обработки файлов типа указанного в ключе MimeType |
| OnlyShowIn | Метки соответствующие именам окружений рабочего стола в которых дейстует ярлык |
| NotShowIn | Метки соответствующие именам окружений рабочего стола в которых не дейстует ярлык |
| Path | Рабочий каталог для ярлыка типа applications |
| StartupNotify | Назначение не понял, но обычно имеет значение true, может быть изменено на false |
| StartupWMClass | Имя класса окна приложения запускаемого этим ярлыком, используется вместе с StartupNotify=true |
| Terminal | true - запускать в окне терминала, false - нет |
| Version | Версия ярлыка |
| X-GIO-NoFuse | Запрет монтирования файловой системы, false - разрешение, испольуется при проблемах работы с сетевыми дисками |
Редко используемые
| Имя | Предназначение |
| Hidden | true - ярлык не отображается и не исполняется, используется в случае необходимости удалить программу, которую пользователь неимеет права удалять |
| DBusActivatable | true - активация DBus - слежения за изменениями в компьютере |
| TryExec | путь к испольняемому файлу, при наличии которого ярлык действует |
| Implements | Названия интерфейсов DBus |
Специфические для разннобразных окружений рабочего стола. Это аналог приложения explorer в windows, который там кнопку пуск реализует.
| Имя | Предназначение |
| X-GNOME-Autostart-Phase | Указывает на каком этапе загрузки gnome активировать ярлык. Возможные значения: EarlyInitialization, DisplayServer, Initialization, WindowManager, Panel, Desktop, Application. По умолчанию равно Application. |
| X-GNOME-Provides | Запуск только если уже незапущено приложение того же класса. Возможные значения: panel, windowmanager, filemanager. |
| X-GNOME-AutoRestart | Запускает приложение вновь после его завершения работы. |
| X-GNOME-Autostart-startup-id, X-GNOME-Autostart-Notify, X-GNOME-DBus-Name, X-GNOME-DBus-Path, X-GNOME-DBus-Start-Arguments, X-GNOME-Autostart-discard-exec, X-GNOME-Autostart-Delay, X-GNOME-DocPath, X-GNOME-Bugzilla-Bugzilla, X-GNOME-Bugzilla-Product, X-GNOME-Bugzilla-Component, X-GNOME-Bugzilla-Version, X-GNOME-WMName, X-GNOME-WMSettingsModule, X-GNOME-FullName[xx], TargetEnvironment, X-KDE-Priority, X-KDE-StartupNotify | Непонятное назначение |
| ServiceTypes | Реализовано в KDE, используется вместе с "Type=Service". Означает имя программы в которой действует. Необходимо для реализации контекстного меню. |
| X-KDE-Submenu | Имя контекстного подменю, используется совместно с ключом "Action". |
| X-KDE-Submenu[xx] | Имя контекстного подменю на языке xx, используется совместно с ключом "Action". |
| Dev | KDE: устройство которое монтируется при запуске командой mount. Действует при "type= FSDevice". |
| FSType | KDE: тип файловой системы для mount. Действует при "type= FSDevice". |
| MountPoint | KDE: каталог монтирования. Действует при "type= FSDevice". |
| ReadOnly | KDE: монтировать только для чтения. Действует при "type= FSDevice". |
| UnmountIcon | KDE: пиктограмма отображемая при несмонтированном устройстве. Действует при "type= FSDevice". |
Ярлыки, используемые для реализации меню "пуск", распологаются в каталогах: "/usr/share/applications", "/usr/local/share/applications", "~/.local/share/applications". Размещенные на рабочем столе в каталоге "~/" или "~/Desktop".
no subject
Date: 2017-07-22 01:14 am (UTC)но нужно уточнить что это ярлыки в какой то оболочке линукса.
в какой то другой их может и не быть - а будет также называться линуксом.
no subject
Date: 2017-07-22 10:30 am (UTC)https://ru.wikipedia.org/wiki/Freedesktop.org
Небольшая поправка и imho:
X-KDE-SubstituteUID=false [false]- запрет выполнения приложения от имени (UID) другого пользователя [true] -разрешение выполнения приложения от имени (UID) другого пользователя.
X-KDE-Username=%Username% -собственно имя пользователя от имени и c правами которого запускается приложение.
PS Не работает с приложениями Dolphin ver 17 ,Kwerite ver 17 ,Kate ver 17 c UID root т.к разработчики отключили в программно возможность запуска данных приложений посчитав данное действия опасными для о.с и ненужными
imho :Мне кажется автор не знаком и с приложениями kdemenu gnomemenu ,которые неплохо справляются с задачей по правке и редактировании ярлыков и пакетом xdg хотя их развитие и функциональность ограниченна и могла-бы быть и выше (по крайней мере в Russian Fedora Remix 26.) Насчёт добавления ярлыков на рабочий стол (вернее в панель задач ) то легко реализуется в меню запуска приложений (меню запуска приложений-->нужная категория приложений --->нужное приложение (действие щелчок левой кнопкой мыши ---> пункт меню Add to Pahel .(ярлык добавляется в трей) пункт меню добавить значок на рабочий стол. (ярлык добавляется на рабочий стол (вот всё ничего, но зачем стрелка на *.desktop ??) . Уважаемый автор может быть у Вас дистрибутив Linux раритетный ??? :-) :-)
Re: Небольшая поправка и imho:
Date: 2018-11-25 02:08 am (UTC)https://zepete.livejournal.com/151355.html
С другой стороны, Linux является дурным примером, который заразителен, так как windows стал деградировать до уровня Linux.