2014-10-31 7 views
0

Я, как правило, следовал инструкциям here и пробовал использовать su - <myuser> -c "the command" в этом скрипте службы. Тем не менее, я пытаюсь запустить приложение Clojure через Leiningen, и кажется, что ни lein не может быть найден процессом. Я могу использовать что-то вроде su - <myuser> -c "/path/to/lein run ...", но затем я получаю сообщение об ошибке java не найден.Как вы получите команду запуска при запуске в качестве пользователя без полномочий root, на BeagleBone Black?

Как получить эту команду для запуска, чтобы она имела доступ к моей среде?

ответ

0

Это оказалось довольно простым. Я сделал

su - <myuser> -c "source ~/.bashrc; cd ~/chicken-coop; ~/bin/lein run"` 

Ключ к source ~/.bashrc;, который добавляет нормальные вещи в свой путь, так Lein знает, где java есть.

+0

Если вы видите проблемы с временем запуска или использованием памяти, вы можете захотеть запустить «lein uberjar» при обновлении кода и 'java -jar [your-project.jar]' для запуска. В противном случае можно использовать 'lein trampoline run' для сокращения использования ресурсов. – noisesmith

+0

Спасибо за подсказку. Я фактически использовал 'trampoline', но оставил это из ответа, так как он не имел никакого отношения к решению. Я буду рассматривать «ubarjar», хотя, если время запуска станет проблемой (на данный момент я не работаю). – metasoarous