2012-07-04 3 views
0

Я связываю свое приложение Java как пакет Debian, и мне нужно, чтобы мое приложение запускалось при запуске. Вот моя структура пакета DEB:Регистрация приложения для запуска при входе в пакет Debain

+ 
    | 
    +--+control 
    | | 
    | +--+control 
    | | 
    | +--+md5sums 
    | | 
    | +--+postinst 
    | | 
    | +--+prerm 
    | 
    +--+data 
     | 
     +--+usr 
     | 
     +--+share 
      | 
      +--+applications 
      | | 
      | +--+MyApp.desktop 
      | 
      +--+myapp 
       | 
       +--+bin 
       | | 
       | +--+application.sh 
       | 
       +--+application.jar 

Мой файл Jar выполняется с помощью сценария application.sh. Мой сценарий установки postinst содержит только:

#!/bin/sh 
ln -s /usr/share/myapp/bin/application.sh /usr/bin/myapp 

Я хотел бы выполнить myapp скрипт при входе пользователя на компьютере. Что я должен добавить к этому скрипту, чтобы приложение запускалось автоматически.

Спасибо.

(Это мой первый раз Builing пакеты DEB и то, что я узнал до сих пор роя через несколько проектов по SourceForce, но я еще немного потерял с функцией старт-на-старте.)

+0

При запуске, при входе в систему или при графическом входе в систему? –

+0

При графическом входе. Это приложение в системном трее. –

ответ

1

Desktop Application Autostart Specification

размещая .desktop подать заявку в одном из Autostart каталоги приложение будет автоматически запускаться при запуске рабочего окружения пользователя после того, как пользователь вошел в систему.

+0

Так что файл '.desktop' подобен файлу ярлыков Windows. Означает ли это, что нужно скопировать файл '.desktop' в каталог' apps', а также в '$ XDG_CONFIG_DIRS'. Копирование его в '$ XDG_CONFIG_DIRS' приведет к автозапуску и копированию в каталог' applications', что приведет к его появлению в меню. Я исправлю Игнасио? Благодарю. –

+0

Правильно. Но они не обязательно должны быть одинаковыми. –

+0

Извините, что снова потревожил вас Ignacio, но в сценарии 'postrm' мне нужно удалить оба файла' .desktop' или они будут удалены автоматически каким-то образом? (Это может быть отдельный вопрос, но он чувствовал себя тривиальным.) Еще раз спасибо. –