Сделать запуск экрана как Daemon для сервера Minecraft

Я сделал сценарий, который работает отлично вручную, но не может заставить его работать с описанием в разделе Как запустить файл сценария при загрузке? , Я запустил update-rc.d -f minecraft.start defaults

Это то, что мой /etc/init.d/minecraft.start

 #!/bin/bash case "$1" in start) screen -S minecraft.start /home/phirephoenix/minecraft/bukkitserver/start_server.sh echo "Server started on screen minecraft" ;; stop) screen -X -S minecraft.start kill echo "Server shutting down" ;; *) echo "Usage: /etc/init.d/minecraft.start {start|stop}" exit 1 ;; esac exit 0 ~ 

Поскольку скрипт работает, я не буду добавлять его, так как он по умолчанию.

И это мой журнал запуска /var/log/boot.log

 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. Begin: Running /scripts/local-bottom ... done. done. Begin: Running /scripts/init-bottom ... done. fsck from util-linux 2.20.1 /dev/sda1: clean, 66452/4325376 files, 1205648/17301248 blocks * Starting configure network device [ OK ] * Starting Mount network filesystems [ OK ] * Starting Failsafe Boot Delay [ OK ] * Stopping Mount network filesystems [ OK ] * Starting Bridge socket events into upstart [ OK ] * Starting SMB/CIFS File Server [ OK ] * Starting configure network device [ OK ] * Stopping OpenSSH server [ OK ] * Starting OpenSSH server [ OK ] * Starting NetBIOS name server [ OK ] * Starting Mount network filesystems [ OK ] * Stopping Failsafe Boot Delay [ OK ] * Starting configure network device [ OK ] * Starting System V initialisation compatibility [ OK ] * Stopping Mount network filesystems [ OK ] * Starting SMB/CIFS File and Active Directory Server [ OK ] * Stopping cold plug devices [ OK ] * Stopping log initial device creation [ OK ] * Starting enable remaining boot-time encrypted block devices [ OK ] * Starting configure network device security [ OK ] * Starting configure virtual network devices [ OK ] * Stopping configure virtual network devices [ OK ] * Starting save udev log and update rules [ OK ] * Stopping save udev log and update rules [ OK ] Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd * Starting AppArmor profiles [ OK ] * Stopping System V initialisation compatibility [ OK ] * Starting System V runlevel compatibility [ OK ] * Starting ACPI daemon [ OK ] * Starting save kernel messages [ OK ] * Starting automatic crash report generation [ OK ] * Starting regular background program processing daemon [ OK ] * Starting deferred execution scheduler [ OK ] * Stopping save kernel messages [ OK ] * Starting CPU interrupts balancing daemon [ OK ] * Starting crash report submission daemon [ OK ] * Starting domain name service... bind9 [ OK ] **<BIG BLANK AREA RIGHT HERE, DON'T GET IT>** **[screen is terminating]** **Server started on screen minecraft** apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName * Starting web server apache2 [ OK ] * Stopping System V runlevel compatibility [ OK ] 

Он выполняет эхо в начале, но также говорит, что экран заканчивается.

Что вызывает здесь эту проблему? Я запускаю Ubuntu Server, кажется, что screen установлен и работает.

Таким образом, новый подход, используя функцию выскочки (или то, что я должен назвать). Я как-то понял, что происходит после нескольких коротких googeling, и теперь он должен начинаться с одного из четырех уровней времени выполнения, которые я установил или остановил, при остановке / перезагрузке и т. Д.

сделал /etc/init/bukkit.conf же, как и один сделанный колдуном . Все # добавляются для комментирования здесь и не находятся в подлинном скрипте.

 description "Bukktiserver" author "jthanto@fixedyour.net" start on runlevel [2345] stop on runlevel [016] pre-start script echo " * Bukkitserver started" # I don't know if this does anything at all end script exec sudo /home/phirephoenix/minecraft/bukkitserver/start_server.sh # Had to sudo, or else it would get permission denied. Any ideas? 

Теперь я могу запустить сервер, набрав sudo start bukkit, но он все равно не запускается автоматически. bukkit находится в моем initctl list bukkit stop/waiting (для всех, интересующихся bukkit, является программным обеспечением сервера minecraft.)

Так. Я использую .conf, чтобы сделать его выскочкой, нужно, чтобы сценарий работал без меня, чтобы что-либо делать (автоматически перед любым входом в систему). Есть ли проблема с исполняемым jarfile, который должен быть запущен, в моей домашней папке? Я не могу вспомнить, зашифрована ли моя домашняя папка или нет, но может быть. Это может быть проблема? Должен ли я использовать символические ссылки или что-то (если символические ссылки похожи на ярлыки, но это не так?)

Что мне здесь не хватает?

Ps: Я также удалил запуск экрана, а update-rc.d удалил.

Я не помню, чтобы screen имел режим демон, видимо, так и есть. Измените строку экрана на следующее:

 screen -dmS minecraft.start /home/phirephoenix/minecraft/bukkitserver/start_server.sh 

Новый параметр -dmS «Начать в качестве демона: сеанс экрана в отключенном режиме». Это комбинация -d -m и -S которую вы уже используете.