Как мне заставить мой скрипт запустить экран как не-root?

Как мне заставить мой скрипт запустить экран как не-root?

Я запускаю Minecraft, запускаю его автоматически из /etc/rc.local. У меня есть этот запуск /home/kent-server/mc/spigot.shи внутри него находится screen -dms minecraft Java -jar -Xmx5120M -Xms5120M spigot.jar.

Сам код выполняет свою работу, но он запускает экран S-rootне под S-kent-server. Это проблематично, потому что когда я вхожу в систему под своим обычным пользователем, он не показывает никаких запущенных экранов. Но когда я переключаюсь на root с помощью suкоманды, он показывает их нормально.

решение1

Как и предполагалДрав Слоанвы можете использовать suкак:

su -l kent-server -c 'cd /home/kent-server/mc/ && screen -d -m -S Minecraft Java -jar -Xmx5120M -Xms5120M spigot.jar'

Аналогичного результата можно добиться и с помощью sudo:

sudo -u kent-server /home/kent-server/mc/spigot.sh

Связанный контент