2

У меня вопрос к вам, ребята. Я управляю сервером MC до сих пор так здорово. Чтобы сделать его автономным, я запускаю его при загрузке с загрузкой скрипта bash в rc.local, просто.

#!/bin/bash
cd /home/minecraft sudo java -Xms512M -Xmx1008M -jar /home/minecraft/spigot-1.9.jar nogui

Хорошо, проблема в том, что когда я подключаюсь через ssh, я не вижу сервер. Он работает, потому что я могу играть без проблем, но я не могу получить контроль над ним.

Когда я запускаю сервер с командой из сценария, но не при загрузке, сервер остается на экране, ожидая команды и показывая информацию, но когда я запускаю его из сценария загрузки, я ничего не вижу.

Как я могу получить контроль или увидеть экран сервера, если я запускаю его из загрузки и подключаюсь через ssh позже?

Я надеюсь, вы понимаете, о чем я. Заранее спасибо, и хорошего дня.

1 ответ1

3

Вывод на консоль для большинства вещей, запускаемых в сценариях rc будет вам недоступен, если вы не подключитесь к физической консоли для вашего устройства. То же самое будет, если вы запустили сервер MC вручную, а затем вышли из системы. Вы можете записать вывод в файл, но это не поможет вам вводить команды позже. Для решения этой проблемы доступны два инструмента: и . Любой из них будет удерживать дескрипторы ввода и вывода для вашего процесса и позволит вам присоединиться к ним позже. screen был вокруг всегда, но не был предназначен для автоматизации. tmux новее и не так хорошо известен, но его гораздо проще автоматизировать, поэтому я продемонстрирую, что:

tmux new-session -s demo -n tab_name -d "sudo top"

Начнется новый сеанс tmux с именем demo котором будет одна вкладка с именем tab_name запущенной командой sudo top . Когда вы запустите этот элемент управления, он вернется в оболочку, и вы сразу не увидите top . Это хорошо, потому что это означает, что вы можете поместить это в свои скрипты rc и это не остановит их в своих действиях. Тогда всякий раз, когда вы хотите добраться до него просто:

tmux attach

как тот же пользователь, с которым вы начали, и у вас будет доступ к вводу и выводу команды. Чтобы выйти из tmux нажмите ctrl - b, d, и вы вернетесь в свою оболочку за пределами tmux .

Это вступление, вы можете найти хороший следующий шаг в изучении tmux .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .