В настоящее время я разрабатываю приложение с QT 4.8 с опцией «Запуск при входе в систему». Моя главная проблема в настоящее время заключается в том, что я не могу найти правильный способ заставить программу запускаться после входа в Linux (в моем случае Fedora 20).
Моя программа должна работать в фоновом режиме, не останавливая Fedora для запуска.
Я также хотел бы избежать необходимости запрашивать какие-либо привилегии администратора, поскольку мое приложение не требует их (за исключением, возможно, этой опции).
Наконец-то узнал про «home / .config / autostart / .desktop».
Мне придется создать автозапуск, если он не создан, но оттуда я могу выбрать создание или удаление файла в зависимости от того, что решил сделать мой пользователь.
Файл .desktop должен соответствовать определенному синтаксису (для меня это не проблема)
[Desktop Entry]
Type=Application
Exec=</path/to/binary or command to execute>
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=<Name_to_be_displayed>
Comment=<optional comment>
В моем случае я могу просто удалить строку «комментарий», так как пользователю достаточно будет просто узнать имя приложения.
Вы можете сохранить исполняемый файл в боковой папке /etc/rc.d/rs или в папке /etc/init.d, чтобы он мог автоматически запускаться после запуска устройства.
Надеюсь это поможет.
У каждого пользователя есть .bashrc
файл, расположенный в их домашнем каталоге, вы можете добавить команду для запуска приложения до конца этого.
Это будет работать, когда только этот пользователь войдет в систему (я думаю, с графической или терминальной сессии)
Чтобы запустить для всех пользователей, посмотрите на создание службы systemd, если хотите, или добавьте строку в конец /etc/rc.local. Вы должны быть root для этого, хотя.
РЕДАКТИРОВАТЬ: Не забудьте поставить амперсанд в конце команды для запуска в фоновом режиме.