Как сделать мое приложение .desktop глобальным?

У меня есть приложение .desktop , которое запускает сценарий оболочки, этот сценарий оболочки запускает код python при двойном щелчке по приложению, и я хочу иметь возможность запускать его из всех каталогов на моем ноутбуке и поддерживать стабильный значок, даже если каталоги изображения или значок или приложение были изменены!

Как сделать мое приложение глобальным?

4
задан 8 September 2020 в 20:44

2 ответа

Как видно из ответа Zany_Zachary, средства запуска в / usr / share / applications доступны для всех пользователей. Программы запуска под ~ / .local / share / applications доступны только для текущего пользователя. Когда средство запуска находится в этих местах, оно будет выбрано меню рабочего стола или средством запуска. Местоположение / usr / share / applications - это каталог, используемый APT системы управления программным обеспечением операционной системы, поэтому, хотя он будет работать, вы не должны размещать свой собственный .desktop ] файлы там. Вместо этого используйте папку / usr / local / share / applications . Эта папка не существует по умолчанию в Ubuntu, поэтому вам может потребоваться сначала создать ее.

Вот как наиболее легко понять «глобальный» из вашего заголовка. Однако в вашем вопросе вы предлагаете, чтобы под словом «глобальный» вы понимали также что-то «переносимое», т.е. оно должно продолжать работать, даже если значок или приложение изменили местоположение. Тем не менее, вы должны соблюдать соглашения операционной системы, где разместить значок или исполняемый файл. Таким образом, не существует такой вещи, как «глобальная» .desktop программа запуска, которая продолжала бы работать независимо от того, где вы разместили значок или исполняемый файл.

У этой «переносимости» есть ограничения. Во-первых, имя значка или имя исполняемого файла не может измениться, потому что имя жестко запрограммировано в файле .desktop . Однако вы можете опустить путь в файле .desktop , но тогда вам нужно будет разместить значок и исполняемый файл в определенных местах, которые ищет операционная система.

Значок

Значок определяется в файле .desktop в строке Icon = .

Если вы укажете только имя значка (без расширения), операционная система будет искать ~ / .icons и сначала ~ / .local / share / icons , а затем поиск в общесистемных каталогах значков в основном в каталогах / usr / share / icons и / usr / local / share / icons . Графический файл с расширением .png или .svg в одной из этих папок будет выбран системой меню. Если соответствующий графический файл не найден, система вернется к значку возврата по умолчанию.

Приложение

Исполняемый файл определен в файле .desktop в Exec = ] строка

Также здесь система будет искать предопределенные пути для исполняемого файла с совпадающим именем, если не указан полный путь к файлу. Вы можете увидеть папки и их порядок, в котором выполняется поиск, с помощью команды echo $ PATH .

7
ответ дан 4 January 2021 в 08:23

Приветствую!

Чтобы сделать ваш файл .desktop глобальным, просто:

Поместите его в / usr / share / applications

Для только одна учетная запись, поместите ее в /home/$USER/.local/share/applications


К сожалению, вы не можете сохранить значок неизменным при перемещении файла изображения. Я рекомендую сделать папку с иконкой вашего приложения в ней. Поместите эту папку в / usr / share .

6
ответ дан 4 January 2021 в 08:23

Другие вопросы по тегам:

Похожие вопросы: