Автоматическая установка запуска на рабочем столе для пакета .deb Ubuntu

4149
Ton van den Heuvel

В настоящее время я упаковываю приложение в файл .deb Ubuntu. Пакет не будет распространяться публично.

В настоящее время я упаковываю файл .desktop, который установлен в /usr/share/applications. После установки пакета файл .desktop будет правильно выбран, и в меню «Приложения» будет добавлена ​​новая запись для моего приложения. Все идет нормально.

Однако помимо пункта меню «Приложения» я также хочу установить панель запуска приложений на рабочем столе пользователя. Проблема в том, что я заранее не знаю каталог рабочего стола пользователя. Как мне установить лаунчер на рабочий стол пользователя?

2

1 ответ на вопрос

3
alfplayer

https://stackoverflow.com/questions/119031/how-to-set-my-applications-desktop-icon-for-linux-kde-gnome-etc

РЕДАКТИРОВАТЬ: см. Комментарии для получения информации об использовании команды xdg-desktop-icon в сценариях postinst / postrm.

У меня уже есть файл .desktop, проблема в том, как его установить на рабочий стол пользователя. Я не использую Cmake, я использую инструменты упаковки Ubuntu, dh_make и debuild. Ton van den Heuvel 14 лет назад 0
Я не знаю, есть ли лучший способ, но вы можете установить его с помощью xdg-desktop-icon install ... / program.desktop из сценария постустановки debian / postinst, и удалить его, вызвав xdg-desktop-icon uninstall ... из сценария удаления поста debian / postrm alfplayer 14 лет назад 1
Я попытался с помощью `xdg-desktop-icon install`. Значок рабочего стола установлен на рабочий стол пользователя, но доступен только для чтения для пользователя root. Как убедиться, что значок на рабочем столе может использоваться пользователем? Ton van den Heuvel 14 лет назад 0
Переменные окружения $ SUDO_USER и $ HOME (я считаю, что оба присутствуют в postinst) полезны для этого, они оба ссылаются на пользователя, который выполнил установщик. После установки файла вы можете изменить его владельца на $ SUDO_USER и права доступа к файлу на 755. alfplayer 14 лет назад 1
Спасибо, я заставил его работать с помощью переменной окружения `$ SUDO_USER`. По какой-то причине `xdg-desktop-icon` настоял на внезапной установке файла .desktop в` / root / Desktop`. Теперь я вручную копирую файл .desktop на рабочий стол `$ SUDO_USER` и соответствующим образом настраиваю его разрешения. Ton van den Heuvel 14 лет назад 0
Страница man xdg-desktop-icon говорит, что она устанавливает файл на рабочий стол текущего пользователя, который является пользователем root на postinst и postrm. alfplayer 14 лет назад 0
postinst: `su - $ SUDO_USER -c" xdg-desktop-icon install /path/to/your/program.desktop "`. Для prerem, используйте то же самое, но «удалить» David Citron 13 лет назад 0
Именно поэтому это плохая идея устанавливать ярлыки на рабочем столе во время установки. Установка запускается пользователем root, она никогда не должна касаться пользовательских файлов. MestreLion 10 лет назад 0

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