LINUX.ORG.RU

апуск скрипта при старте системы через screen


0

0

Добрый день! не могу Задача стоит запустить игрушку при загрузке системы из под пользователя gameuser в screen'e

#!/bin/bash

. . . if [ -z «$ps» ] then cd $cspath su -c `screen './hlds_run -game cstrike -nomaster +ip 192.168.1.6'` gameuser else echo «сервер уже запущен» fi;; . . .

на что получаю

[screen is terminating] bash: gameuser: команда не найдена

по моему мнению баш должен интерпритировать это как: запустить програму screen c аргументами './hlds_run -game cstrike -nomaster +ip 192.168.1.6' из под пользователя gameuser, но мое мнение не верно. на сколько я понимаю шел интерпритирует gameuser как отдельную команду. в общем понять не могу, помогите разобраться с кавычками )


Ответ на: комментарий от AnDoR

не слабо. найдете мой случай, честь вам и хвала

hnsk
() автор топика
Ответ на: комментарий от hnsk

ответ Cannot open your terminal '/dev/pts/0' - please check

Такая ошибка выдаётся только при запуске из init-скрипта или при ручном запуске тоже? Покажи точную команду, которой пытаешься запускать.

Deleted
()
Ответ на: комментарий от Deleted

ручками

# su -c «screen -m -S sessionname /usr/local/games/cs16/hlds_run -game cstrike -nomaster +ip 192.168.1.6» - gameuser Cannot open your terminal '/dev/pts/0' - please check

hnsk
() автор топика
Ответ на: комментарий от Deleted

нет не забыл. читая ман не так его понял, поэтому и убрал. думал что ключ -d просто запускает screen в фоне. поэтому убрал что бы посмотреть, что он мне отвечает так как видел это:

www:~# su -c «screen -d -m -S sessionname /usr/local/games/cs16/hlds_run -game cstrike -nomaster +ip 192.168.1.6» - gameuser

www:~# screen -list

No Sockets found in /var/run/screen/S-root.

hnsk
() автор топика
Ответ на: комментарий от hnsk

screen -list

Эта команда выводит только список сессий текущего пользователя, а у тебя сессия запускается у пользователя gameuser. По этому:

su -c 'screen -list' - gameuser

Deleted
()
Ответ на: комментарий от hnsk

Значит процесс hlds_run завершился, после чего сессия атвоматически закрылась.

Deleted
()
Ответ на: комментарий от hnsk

Для теста работоспособности самого screen'а попробуй запустить что-нибудь типа

su -c "screen -d -m -S sessionname ping 8.8.8.8" - gameuser

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.