Я хочу запустить Java-приложение при запуске. Я добавил файл сценария в init.d, и процесс начался.
Но владелец процесса - root. Поэтому, когда процесс Java пытается записать файл в моем доме, я получаю ошибку разрешения.
Как я могу запустить процесс из области пользователя, а не из корневой области?
У меня нет времени, чтобы перепечатать все, что я написал для этого вопроса о переполнении стека, но некоторые указатели, которые вы можете захотеть:
Во-первых, спецификатор @reboot
в crontab(5)
облегчает запускать программу от имени пользователя при загрузке.
Во-вторых, написание upstart
спецификации задания для запуска программы в качестве службы довольно просто. Документация скудная, но примеров в /etc/init.d/
много. start-stop-daemon(8)
это фантастика - обязательно прочитайте его справочную страницу, прежде чем пытаться заново изобрести колесо.
Вы можете сделать так, чтобы приложения автоматически запускались для вашего пользователя, добавив их в « Startup Applications » в Ubuntu 11.10 (ищите это в режиме поиска по принципу drush)
для более старых версий Ubuntu: Система> Предпочтения> Сессии