Автозапуск Screen

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Kopilov
Сообщения: 949
ОС: [K]Ubuntu, Debian

Re: Автозапуск Screen

Сообщение Kopilov »

Bookkc писал(а):
07.08.2015 11:44
Ну хотя бы для того, что бы посмотреть что происходит на сервере

Ещё раз: почему это нельзя сделать с помощью текстовых логов (если сервер не создаёт их сам -- создать искуственно)?

Bookkc писал(а):
07.08.2015 11:44
и для того что бы перезапустить его на работе без входа в игровой клиент

А для этого Screen зачем? Или у этого сервера нет консольной команды остановки, а есть только непрерывно висящий псевдографический интерфейс, отключить который невозможно?
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Читать текстовики - не так уж и удобно, учитывая то, что в минуту в него записывается около 100 строчек, и найти что-то или отследить - неудобно вообще!

Например мне нужно отправить команду на сервер, как это сделать не запуская клиент ? Как перезапустить его, если я не вижу консоли самого сервера?
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Автозапуск Screen

Сообщение Hephaestus »

Bookkc писал(а):
07.08.2015 14:35
Читать текстовики - не так уж и удобно, учитывая то, что в минуту в него записывается около 100 строчек, и найти что-то или отследить - неудобно вообще!
Команды grep, tail, head Вам в помощь.

Bookkc писал(а):
07.08.2015 14:35
Например мне нужно отправить команду на сервер, как это сделать не запуская клиент ? Как перезапустить его, если я не вижу консоли самого сервера?
Если уж так нужно рулить удалённой машиной, обычно используют доступ по ssh. Там будет доступно всё, а не только интерфейс конкретного сервиса.
Screen, о котором здесь шла речь, решает немного другие задачи.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Kopilov
Сообщения: 949
ОС: [K]Ubuntu, Debian

Re: Автозапуск Screen

Сообщение Kopilov »

Я не знаю, как выглядит пользовательский интерфейс сервера q3. Может, он настолько извращенский, что без Screen никак,
Что есть "консоль самого сервера"? Потоковый вывод в standart output, перенаправляемый в файл, или псевдографический интерфейс, без которого не обойтись?

Расскажу, как я работаю, например, с сервером Java-приложений GlassFish 4 (который так же не является стандартным Linux-демоном).
У него есть два способа управления: через красивый web-интервейс (пусть будет аналог Вашего "игрового" клиента) и через консоль.
Запустить его можно только через консоль, конечно. Для этого я подключаюсь к удалённой машине по SSH, запускаю некоторую команду (стандартную я завернул в скрипт gf4 start). Сервер запускается, начинает вести лог. В стандартный вывод пишется только одно короткое сообщение, SSH можно отключить, Screen не нужен.
Проверить состояние сервера, развернуть новое приложение можно через браузер, а можно повторно подключившись через SSH (запустив SSH-клиент, но не Screen) и выполнив команды gf4 status и deploy myapp.war. В любой момент можно почитать логи, остановить сервер командой gf4 stop. Клиент (SSH, терминал) нужен, Screen -- нет.

Есть ещё один серверок (самописный, на Netty.io), который не умеет сам демонизироваться и писать лог в файл. За него это делает GNU/Linux, с помощью операторов перенаправления вывода (">"), запуска в фоне ("&") и команды disown. Status и stop сперва работали через фильтрацию вывода ps -A -f и kill, потом я осилил написать более приличные. Screen так ни разу и не пригодился.

Итого, я вижу единственный случай его реальной необходимости: вывод сервером q3 интерактивного псевдографического интерфейса. Если цель запустить сервер, сохранив его -- проблема, действительно есть. Если цель запустить сервер, имея возможность управлять им и следить за его состоянием -- лучше псевдографический интерфейс отключить (если он был и проблема не надумана) и использовать традиционные для серверов методы. Если его невозможно отключить, и отсутствуют консольные команды для управления -- претензии к авторам q3 (только извращенцы могли сделать сервер интерактивным (и только интерактивным) приложением).



Hephaestus писал(а):
07.08.2015 15:17
Команды grep, tail, head Вам в помощь.
Верно.

Hephaestus писал(а):
07.08.2015 15:17
Если уж так нужно рулить удалённой машиной, обычно используют доступ по ssh. Там будет доступно всё, а не только интерфейс конкретного сервиса.
Screen, о котором здесь шла речь, решает немного другие задачи.
Гм. А как можно использовать Screen без SSH?
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Автозапуск Screen

Сообщение Hephaestus »

Kopilov писал(а):
07.08.2015 15:48
Гм. А как можно использовать Screen без SSH?
Не знаю. Вот ТС вроде бы пытается.
А если есть ssh, тогда и screen не сильно нужен.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Думаю новичок не разберется в этом самолично :-)

Сервер выглядит как сервер, точно так же как и сервер по Counter-Strike и другим играм. консоль которая выводит всё что просиходит на сервере (на игровой карте) вот и всё. нужно частенько открывать эту самую консоль что бы прописать команду restart (допустим) или корректно отключит сервер командой quit. что можно сделать через rcon, но! подключиться к серверу не всегда получается через rcon по этому нужно смотреть что на нем происходит через консоль, а читать текстовики тоже не вариант. вот как то так.

Со скрином я могу это все сделать без всяких проблем. прописав команду screen -r serverquake1 и попадаю в консоль сервера, после чего CTRL+A, D и выхожу в линукс. всё! вот что мне нужно.

Если есть ещё какие то способы что б попадать в консоль сервера, было бы отлично...
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Автозапуск Screen

Сообщение Stauffenberg »

Hephaestus писал(а):
07.08.2015 15:58
А если есть ssh, тогда и screen не сильно нужен.

Как открыть 5 терминалов через одну ssh сессию без screen (и ему подобных)?

s.xbatob писал(а):
06.08.2015 09:28
И вообще, время screen вышло уже лет 15 назад вместе с BBS. Именно поэтому он у меня не установлен. :)

Какой конкретно смысл Вы вкладываете во фразу "время screen вышло"? Куда оно вышло? И почему? (:
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Автозапуск Screen

Сообщение Hephaestus »

Bookkc
Если у игрового (или другого какого-то сервера) есть какая-то рулилка, админка... управляющая консоль, одним словом, то вот эту "рулилку" и нужно запускать в screen, а не весь сервер целиком.
Тогда она будет постоянно запущена и прицеплена к серверу, а Вы сможете через screen в неё заглядывать.
Только смысла большого в этом нет. Дать команду на запуск управляющей консоли или дать команду на запуск screen - не всё ли равно? Если управляющая консоль запускается какой-то чересчур сложной командой с кучей опций, то можно сделать алиас. Но и через screen, в принципе тоже можно. Просто нужно понимать, что именно нужно запускать в screen. А запускать нужно именно управляющую консоль, но не сам сервер.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Автозапуск Screen

Сообщение Hephaestus »

Stauffenberg писал(а):
08.08.2015 22:16
Как открыть 5 терминалов через одну ssh сессию без screen
Не знаю. А зачем так изворачиваться?
Кто-то запрещает использовать screen?
Я говорю, что он не очень нужен, потому что на сервере редко надо больше одной консоли сразу. Но это не значит, что screen использовать нельзя.
Я вот, например, по ssh рулю роутером, на котором стоит Linux-система, мне ни разу не понадобилось несколько консолей одновременно. Раньше точно так же рулил шлюзом на базе Linux-системы и тоже обходился одной консолью. Но если уж так нужно, задействовал бы screen, не вижу в этом ничего криминального.
Другое дело, что не всё одинаково пригодно для запуска в screen и это нужно понимать.

А ТС просто надо было с самого начала внятно обрисовать задачу, дескать, есть несколько программ-серверов, хочу рулить всеми сразу, пробую это делать через screen, тогда и решение нашлось бы быстрее.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Автозапуск Screen

Сообщение Stauffenberg »

Hephaestus писал(а):
08.08.2015 22:51
Stauffenberg писал(а):
08.08.2015 22:16
Как открыть 5 терминалов через одну ssh сессию без screen
Не знаю.

+1 за честность :blush:

Hephaestus писал(а):
08.08.2015 22:51
А зачем так изворачиваться?
Кто-то запрещает использовать screen?

Видите ли... если бы Вы процетировали не только моё сообщение, но и сообщение, на которое я ответил, было бы понятней почем вопрос стоит именно так.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Автозапуск Screen

Сообщение Hephaestus »

Stauffenberg писал(а):
09.08.2015 00:55
Видите ли... если бы Вы процетировали не только моё сообщение, но и сообщение, на которое я ответил, было бы понятней почем вопрос стоит именно так.
Если Вы мою фразу поняли так, что ssh есть замена для screen, отвечаю: я не это имел в виду.
Ещё раз повторяю: screen не сильно нужен (об этом я говорил выше), но это не значит, что его нельзя использовать.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Автозапуск Screen

Сообщение Goodvin »

Bookkc писал(а):
08.08.2015 21:48
Думаю новичок не разберется в этом самолично :-)

Сервер выглядит как сервер, точно так же как и сервер по Counter-Strike и другим играм. консоль которая выводит всё что просиходит на сервере (на игровой карте) вот и всё. нужно частенько открывать эту самую консоль что бы прописать команду restart (допустим) или корректно отключит сервер командой quit. что можно сделать через rcon, но! подключиться к серверу не всегда получается через rcon по этому нужно смотреть что на нем происходит через консоль, а читать текстовики тоже не вариант. вот как то так.

Со скрином я могу это все сделать без всяких проблем. прописав команду screen -r serverquake1 и попадаю в консоль сервера, после чего CTRL+A, D и выхожу в линукс. всё! вот что мне нужно.

Если есть ещё какие то способы что б попадать в консоль сервера, было бы отлично...


Сервер чего именно Вы запускаете таким образом?
Это игра "Quake III Arena" или что другое?
С ним (Вашим сервером) в комплекте документация есть?
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Да какая документация ? о чем вы? игра конца 90х... тогда ещё и скрин не было вовсе... (наверное)

В итоге я обрисовал ситуацию, но решения проблемы моей так и нет. что делать ?
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Автозапуск Screen

Сообщение s.xbatob »

Bookkc писал(а):
11.08.2015 20:22
Да какая документация ? о чем вы? игра конца 90х... тогда ещё и скрин не было вовсе... (наверное)

Вы будете смеяться, но screen гораздо старше:
Screen was originally designed by Oliver Laumann and Carsten Bormann and published in 1987.
Я им в 90-е вовсю пользовался.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Автозапуск Screen

Сообщение Bizdelnick »

Bookkc писал(а):
11.08.2015 20:22
Да какая документация ? о чем вы? игра конца 90х...

А что, тогда документацию писать не было принято, язык так сильно изменился, что перевести сложно, или папирус, на котором она написана, совсем истлел?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Автозапуск Screen

Сообщение Bizdelnick »

Bookkc писал(а):
04.08.2015 14:25
Сделал по этому мануалу: http://mycyberuniverse.com/ru/linux/avtoza...ka-v-linux.html

В итоге все равно не запускается. Вот содержание файла

Код: Выделить всё

#!/bin/bash

screen -S q3-1 ./root/q3s/ioq3ded +set dedicated 2 +set fs_game excessiveplus +set com_hunkmegs 26 +set net_port 7777 +exec rail.cfg

Мануал Вы нашли правильный, но сделали всё неправильно. Только используйте «полноценный» вариант и выкиньте screen на фиг.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

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

Если не трудно, набросайте?

Запускаю сервер с дирректории /root/q3s

Имя бинарника ioq3ded
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Автозапуск Screen

Сообщение Bizdelnick »

Bookkc писал(а):
13.08.2015 10:53
Если не трудно, набросайте?

Давайте Ваш skeleton, у меня нет Debian 6 под рукой.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Автозапуск Screen

Сообщение s.xbatob »

Bizdelnick писал(а):
11.08.2015 22:52
... и выкиньте screen на фиг.

А что взамен?
Тут требуется буквально следующее. Запустить этот как бы сервер, на самом деле требующий терминал для двухстороннего общения, и предоставить ему псевдотерминал, который обычно ни с чем не соединён, но к которому периодически можно подключаться по сети для того самого задушевного общения. Screen предназначен для другого (вероятно, поэтому он из стартовых скриптов и не запускается), но он умеет и это. Вы знаете ещё что-то, что так умеет?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Автозапуск Screen

Сообщение Bizdelnick »

s.xbatob писал(а):
13.08.2015 11:48
Запустить этот как бы сервер, на самом деле требующий терминал для двухстороннего общения

Интересно, почему другие его могут запускать без терминала для двустороннего общения, а ТС не может?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Автозапуск Screen

Сообщение s.xbatob »

Bizdelnick писал(а):
13.08.2015 12:01
s.xbatob писал(а):
13.08.2015 11:48
Запустить этот как бы сервер, на самом деле требующий терминал для двухстороннего общения

Интересно, почему другие его могут запускать без терминала для двустороннего общения, а ТС не может?

Наверное, он не умеет его готовить. Или сервис действительно такой. За игровыми серверами, портированными с вражеских систем, подобные капризы водятся.
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Спасибо за мануал, попробую поковырять. Если нет. то придется в ручную всё запускать :-(
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Автозапуск Screen

Сообщение Goodvin »

Bookkc писал(а):
11.08.2015 20:22
Да какая документация ? о чем вы? игра конца 90х... тогда ещё и скрин не было вовсе... (наверное)

В итоге я обрисовал ситуацию, но решения проблемы моей так и нет. что делать ?

Вы не ответили на вопрос:
Это игра "Quake III Arena" или что другое?
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Да, это сервер по игре Quake 3 Arena. Будет несколько серверов под одним юзером. На сервере нет УПС, по этому бывает отключают электричество и не хотелось бы в ручную запускать все сервера, хочется автозапуск
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Автозапуск Screen

Сообщение Goodvin »

Bookkc писал(а):
14.08.2015 10:45
Да, это сервер по игре Quake 3 Arena. Будет несколько серверов под одним юзером. На сервере нет УПС, по этому бывает отключают электричество и не хотелось бы в ручную запускать все сервера, хочется автозапуск

В таком случае, у Вас должен быть официально приобретённый дистрибутив игры Quake III Arena.
С которым должна поставляется официальная документация по запуску, в том числе и dedicated-сервера.
Вы её читали?
Что в ней написано про запуск серверной части?
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Боже... ну зачем все эти документации 90х годов ?... Меня интересует вопрос почему Скрин не запускается с автозапуска, а дальше я уже сам все разберусь...В документации о Скрине ничего не будет сказано, я более чем уверен.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Автозапуск Screen

Сообщение Bizdelnick »

Bookkc писал(а):
14.08.2015 15:16
В документации о Скрине ничего не будет сказано, я более чем уверен.

Разумеется. Потому что он для автозапуска сервера совершенно не нужен.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

И так... сделал по этому мануалу http://notes.splitbrain.org/q3aserver

Код: Выделить всё

#! /bin/sh
set -e

BASEPATH="/root/q3s"
BINARY="ioq3ded"
DAEMON="$BASEPATH/$BINARY"
OPTIONS="+set dedicated 2 +set fs_game excessiveplus +set com_hunkmegs 26 +set net_port 7777 +exec rail.cfg"
RUNAS="root:root"
PIDFILE="$BASEPATH/$BINARY.pid"

test -x $DAEMON || exit 0

export HOME=$BASEPATH

case "$1" in
  start)
        echo -n "Starting Q3A"
        cd $BASEPATH
        start-stop-daemon --start --quiet -c $RUNAS --pidfile $PIDFILE \
                -N -10 -m -b -d $BASEPATH --exec $DAEMON -- $OPTIONS
        echo "."
        ;;
  stop)
        echo -n "Stopping Q3A"
        start-stop-daemon --stop --quiet --pidfile $PIDFILE \
                --exec $DAEMON
        echo "."
        ;;
  restart|force-reload)
        $0 stop
        sleep 3
        $0 start
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0


Содержание файла /etc/init.d/q3s1

Запускаю так: service q3s1 start и сервер стартует на ура, конечно консоли уже не вижу... но после перезапуска серверной машины он все равно в автозапуск не стартует. что не так?

И даже в rc.local такое прописал sudo service q3s1 start
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20792
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Автозапуск Screen

Сообщение Bizdelnick »

Bookkc писал(а):
14.08.2015 15:27
что не так?

Видимо, Вы его не включили. update-rc.d q3s1 enable
Хотя эта команда может отработать неправильно, поскольку у Вас отсутствуют LSB-заголовки. Перенесите их из skeleton и поправьте как минимум поле Provides.

Bookkc писал(а):
14.08.2015 15:27
И даже в rc.local такое прописал sudo service q3s1 start

А этого не надо.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Bookkc
Сообщения: 245
ОС: Ubuntu, Gentoo, Debian

Re: Автозапуск Screen

Сообщение Bookkc »

Код: Выделить всё

root@debian:~/q3s# update-rc.d q3s1 enable
update-rc.d: using dependency based boot sequencing
update-rc.d: error: q3s1 Default-Start contains no runlevels, aborting.
root@debian:~/q3s#


Вот такое

Обоже. я же новичок, зачем вы меня грузите какими то заголовками и скелетонами. просто скажите где и что исправить? :laugh: :wacko:
Спасибо сказали:
Ответить