<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как запустить программу в screen от простого пользователя?</title>
    <link>https://opennet.me/openforum/vsluhforumID1/79679.html</link>
    <description>Имеем: сервер на linux Fedora Core 6 с установленными на нем игровыми серверами.&lt;br&gt;Задача: при старте/рестарте машины запустить игр. сервера в screen от непривилегированного пользователя (админа игр. серверов), чтобы последний мог зайти по ssh на сервак и админить игрушки, используя соотв. screen.&lt;br&gt;Попытался сделать следующее (на примере BattleField):&lt;br&gt;в /etc/rc.d/rc.local добавляю такую строку запуска -&lt;br&gt;su -l gameadmin -c &apos;/usr/bin/screen -AmdS bf2 &amp;&amp; cd /game/bf2 &amp;&amp; ./start_bf.sh&apos; &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp;&lt;br&gt;Софтина стартует, НО! При попытке зайти в screen пользователем gameadmin, командой screen -dr bf2, оказывается что screen &quot;пустой&quot;..&lt;br&gt;Смотрю процессы, связанные с данным сервисом. Их всего 4. Первый содержит всю ком. строку, но запущен от root-а, второй содержит тоже самое, но от юзера gameadmin. В третьем запуск screen от юзера gameadmin и в четвертом запуск собственно скрипта start_bf.sh, вернее его содержимое (ком. строка запуска собственно игры).&lt;br&gt;Вопрос - где накосячил и как лечить??? &lt;br&gt;</description>

<item>
    <title>Как запустить программу в screen от простого пользователя? (KovAl)</title>
    <link>https://opennet.me/openforum/vsluhforumID1/79679.html#5</link>
    <pubDate>Wed, 18 Jun 2014 13:35:53 GMT</pubDate>
    <description>...&lt;br&gt;&amp;gt; Все же очевидно и просто: &lt;br&gt;&lt;br&gt;Гм.. Вы на дату поста смотрели? ;)&lt;br&gt;</description>
</item>

<item>
    <title>Как запустить программу в screen от простого пользователя? (METAJIJI)</title>
    <link>https://opennet.me/openforum/vsluhforumID1/79679.html#4</link>
    <pubDate>Mon, 16 Jun 2014 15:55:40 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Да и вызывает сомнение на правильность вот этого &quot;участка&quot; &lt;br&gt;&amp;gt;&amp;gt; start_bf.sh&apos; &quot; &lt;br&gt;&amp;gt; Если учесть то, что сначала открываются одинарные кавычки, затем двойные, а впоследствии &lt;br&gt;&amp;gt; закрываются наоборот...&lt;br&gt;&amp;gt; Пробовал изменить на &lt;br&gt;&amp;gt;&amp;gt; su -l gameadmin -c &apos;/usr/bin/screen -AmdS bf2 &quot;cd /game/bf2 &amp;&amp; ./start_bf.sh&quot;&apos; &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp; &lt;br&gt;&amp;gt; результат почти аналогичный (долго рассказывать какой, но одним словом - не работает)... &lt;br&gt;&amp;gt; :( &lt;br&gt;&amp;gt; P.S. Прочесть man screen не хватает духу - 177Кб текста на инглиш!! &lt;br&gt;&amp;gt; :-( &lt;br&gt;&lt;br&gt;Все же очевидно и просто:&lt;br&gt;su -l gameadmin -c &quot;cd /game/bf2; /usr/bin/screen -AmdS bf2 ./start_bf.sh;&quot;&lt;br&gt;&lt;br&gt;По порядку:&lt;br&gt;su -l gameadmin -- переключается на пользователя, будто бы он вошел в систему.&lt;br&gt;/usr/bin/screen -AmdS bf2 -- команда screen, с опциями, а в качестве аргумента принимает команды для запуска.&lt;br&gt;./start_bf.sh -- собственно команда, которую хотим запустить в screen.&lt;br&gt;cd /game/bf2 -- костыль, который нужен для скрипта start_bf.sh очевидно в котором прописаны относительные</description>
</item>

<item>
    <title>Как запустить программу в screen от простого пользователя? (KovAl)</title>
    <link>https://opennet.me/openforum/vsluhforumID1/79679.html#3</link>
    <pubDate>Mon, 07 Apr 2008 13:47:06 GMT</pubDate>
    <description>&amp;gt;Почитать man screen, потом man bash на тему передачи параметров. Затем использовать &lt;br&gt;&amp;gt;двойные кавычки, например так: &lt;br&gt;&amp;gt;su -l gameadmin -c &apos;/usr/bin/screen -AmdS bf2 &quot;cd /game/bf2 &amp;&amp; ./start_bf.sh&apos; &quot; &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp;&lt;br&gt;&lt;br&gt;Неа.. Не катит.. Ваш пример при старте с консоли выводит &quot;&amp;gt;&quot; и успешно висит, не создавая никаких процессов.. Последующее Ctrl-C его просто убивает.. Да и вызывает сомнение на правильность вот этого &quot;участка&quot;&lt;br&gt;&amp;gt; start_bf.sh&apos; &quot; &lt;br&gt;&lt;br&gt;Если учесть то, что сначала открываются одинарные кавычки, затем двойные, а впоследствии закрываются наоборот... &lt;br&gt;Пробовал изменить на&lt;br&gt;&amp;gt; su -l gameadmin -c &apos;/usr/bin/screen -AmdS bf2 &quot;cd /game/bf2 &amp;&amp; ./start_bf.sh&quot;&apos; &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp;&lt;br&gt;&lt;br&gt;результат почти аналогичный (долго рассказывать какой, но одним словом - не работает)... :(&lt;br&gt;&lt;br&gt;P.S. Прочесть man screen не хватает духу - 177Кб текста на инглиш!! :-(&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как запустить программу в screen от простого пользователя? (angra)</title>
    <link>https://opennet.me/openforum/vsluhforumID1/79679.html#2</link>
    <pubDate>Mon, 07 Apr 2008 13:07:54 GMT</pubDate>
    <description>Почитать man screen, потом man bash на тему передачи параметров. Затем использовать двойные кавычки, например так:&lt;br&gt;su -l gameadmin -c &apos;/usr/bin/screen -AmdS bf2 &quot;cd /game/bf2 &amp;&amp; ./start_bf.sh&apos; &quot; &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp;&lt;br&gt;</description>
</item>

<item>
    <title>Как запустить программу в screen от простого пользователя? (KovAl)</title>
    <link>https://opennet.me/openforum/vsluhforumID1/79679.html#1</link>
    <pubDate>Mon, 07 Apr 2008 10:26:22 GMT</pubDate>
    <description>Еще немного поисследовал и понял, что проблема собственно не в том, что нужный процесс запускается от рута (он как раз запущен от gameadmin-а), а в том, что он запущен ОТДЕЛЬНО, а не внутри screen. Т.е. screen и сама игрушка существуют по-отдельности. А надо именно запустить игру в screen. &lt;br&gt;&amp;gt;&#091;root&#064;games ~&#093;# ps auxw &amp;#124; grep bf&lt;br&gt;&amp;gt;root      9841  0.0  0.0   4792  1144 pts/1    S    11:44   0:00 su -l gameadmin -c /usr/bin/screen -AmdS bf2 &amp;&amp; cd /game/bf2 &amp;&amp; ./start.sh&lt;br&gt;&amp;gt;gameadmin   9842  0.0  0.0   4488  1232 ?        Ss   11:44   0:00 -bash -c /usr/bin/screen -AmdS bf2 &amp;&amp; cd /game/bf2 &amp;&amp; ./start.sh&lt;br&gt;&amp;gt;gameadmin   9861  0.0  0.0   4864   968 ?        Ss   11:44   0:00 /usr/bin/SCREEN -AmdS bf2&lt;br&gt;&amp;gt;gameadmin   9863  5.2  2.8 180956 116300 ?       Rl   11:44   8:07 /game/bf2/bin/ia-32/bf2&lt;br&gt;&lt;br&gt;Вот как его туда &quot;загнать&quot;, пока не знаю, как осуществить.. :(&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
