Я портирую код Qt Windows / VC ++ на Linux / GCC. Приложение может добавить свой собственный ярлык в папку автозапуска Windows, чтобы приложение запускалось после входа в систему.
Я хочу сделать то же самое в Linux. Я использую Kubuntu 15.10, но решение должно работать практически для всех (или, по крайней мере, для большинства) вариантов Linux. И он должен работать без прав суперпользователя (или он должен запрашивать права автоматически).
Я искал в Интернете и нашел два решения:
$HOME/.config/autostart
/etc/init.d/
Будут ли они оба работать во всех дистрибутивах Linux? Какие есть отличия? Что должно быть предпочтительным?
Также я хотел бы знать, должен ли я сделать это путем программного запуска команды оболочки или есть какой-нибудь нативный API, который я мог бы использовать в C / C ++ (включая простое обнаружение ошибок).
Вы можете добавить приложение различными способами.
Я думаю, что предпочтительнее использовать системный блок, потому что теперь это стандартный способ запуска процесса во время загрузки и для специального пользователя, если нужно.
Я поместил проект в GitHub для управления функцией автозапуска в разных ОС. Это написано в Qt.
Пожалуйста, проверьте его и дайте мне знать, если у вас есть какие-либо проблемы с его использованием:
https://github.com/b00f/qautostart