<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=28235</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=28235&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Bash автозапуск скрипта с выводом на экран (через .bashrc)».]]></description>
		<lastBuildDate>Wed, 15 May 2013 08:39:24 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345854#p345854</link>
			<description><![CDATA[<div class="quotebox"><cite>Konstantin.Ivanov пишет:</cite><blockquote><div class="quotebox"><cite>Alexey_1⇓ пишет:</cite><blockquote><p>А sudo нельзя использовать?</p></blockquote></div><p>Первый скрипт под <em>root</em>&#039;ом, однако второму - и скрипту и пользователю не хотелось бы выделять привилегий. Тем паче, что пользователь не в группе <em>sudo</em> - т.е. туда его надо добавлять, так получается, что проще всего - это сделать его членом группы <em>tty</em> и не париться с правами. Я опасаюсь давать ему много привилегий - скрипт С2 ещё не проверен, да и на скорую руку сделан.</p></blockquote></div><p>su - user -c &#039;бла-бла-бла&#039;<br />man su</p>]]></description>
			<author><![CDATA[null@example.com (Alexey_1)]]></author>
			<pubDate>Wed, 15 May 2013 08:39:24 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345854#p345854</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345847#p345847</link>
			<description><![CDATA[<div class="quotebox"><cite>Alexey_1⇓ пишет:</cite><blockquote><p>А sudo нельзя использовать?</p></blockquote></div><p>Первый скрипт под <em>root</em>&#039;ом, однако второму - и скрипту и пользователю не хотелось бы выделять привилегий. Тем паче, что пользователь не в группе <em>sudo</em> - т.е. туда его надо добавлять, так получается, что проще всего - это сделать его членом группы <em>tty</em> и не париться с правами. Я опасаюсь давать ему много привилегий - скрипт С2 ещё не проверен, да и на скорую руку сделан.</p>]]></description>
			<author><![CDATA[null@example.com (Konstantin.Ivanov)]]></author>
			<pubDate>Wed, 15 May 2013 06:29:11 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345847#p345847</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345842#p345842</link>
			<description><![CDATA[<div class="quotebox"><cite>Konstantin.Ivanov пишет:</cite><blockquote><div class="quotebox"><cite>ormorph⇓ пишет:</cite><blockquote><p>Либо попробовать добавить пользователя в группу tty, по крайней мере у меня так.</p></blockquote></div><p>Отличное решение, даже с правами возиться не надо&nbsp; <img src="https://linuxforum.ru/img/smilies/bf.gif" alt="bf" /> <br />Все проверено - все работает отлично!</p></blockquote></div><p>А sudo нельзя использовать?</p>]]></description>
			<author><![CDATA[null@example.com (Alexey_1)]]></author>
			<pubDate>Wed, 15 May 2013 04:44:05 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345842#p345842</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345831#p345831</link>
			<description><![CDATA[<div class="quotebox"><cite>ormorph⇓ пишет:</cite><blockquote><p>Либо попробовать добавить пользователя в группу tty, по крайней мере у меня так.</p></blockquote></div><p>Отличное решение, даже с правами возиться не надо&nbsp; <img src="https://linuxforum.ru/img/smilies/bf.gif" alt="bf" /> <br />Все проверено - все работает отлично!</p>]]></description>
			<author><![CDATA[null@example.com (Konstantin.Ivanov)]]></author>
			<pubDate>Tue, 14 May 2013 20:24:39 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345831#p345831</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345829#p345829</link>
			<description><![CDATA[<div class="quotebox"><cite>Konstantin.Ivanov⇓ пишет:</cite><blockquote><p>Спасибо разобрался! Изменение прав для /tmp/my_tty работает. </p></blockquote></div><p>Ну и здорово )</p>]]></description>
			<author><![CDATA[null@example.com (ormorph)]]></author>
			<pubDate>Tue, 14 May 2013 20:03:31 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345829#p345829</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345828#p345828</link>
			<description><![CDATA[<p>Можно добавить команду <strong>chmod 666</strong>, на терминал.<br />Либо попробовать добавить пользователя в группу <strong>tty</strong>, по крайней мере у меня так.</p><p>Посмотрите что показывает команда <strong>ls -l /dev/pts/0</strong></p>]]></description>
			<author><![CDATA[null@example.com (ormorph)]]></author>
			<pubDate>Tue, 14 May 2013 20:01:33 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345828#p345828</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345827#p345827</link>
			<description><![CDATA[<div class="quotebox"><cite>ormorph⇓ пишет:</cite><blockquote><p>Можно просто использовать файл для передачи данных (в каком терминале запущен первый скрипт) второй же скрипт выводит на этот терминал.</p></blockquote></div><p>Спасибо разобрался! Изменение прав для <strong>/tmp/my_tty</strong> работает.&nbsp; <img src="https://linuxforum.ru/img/smilies/bp.gif" alt="bp" /></p><p><strong># добавлено позже</strong></p><p>Ан, нет. Это я поторопился. Если я под root выполняю </p><div class="codebox"><pre><code>echo &quot;$(tty)&quot; &gt;/tmp/my_tty</code></pre></div><p>И меняю права <em>/tmp/my_tty</em> на <em>777</em>, то из другого терминала команда </p><div class="codebox"><pre><code>echo &quot;Hello, Root&quot; &gt;$(cat /tmp/my_tty)</code></pre></div><p>выведет на первый терминал сообщение <em>&quot;Hello, Root&quot;</em>. Всё вроде бы правильно. Однако при запуске скрипта выдаёт ошибку описанную выше.<br />Причём даже при ручном логине, а не из скрипта. Права у <em>/tmp/my_tty</em> при этом <em>-rwxrwxrwx</em></p>]]></description>
			<author><![CDATA[null@example.com (Konstantin.Ivanov)]]></author>
			<pubDate>Tue, 14 May 2013 19:51:44 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345827#p345827</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345825#p345825</link>
			<description><![CDATA[<div class="quotebox"><cite>ormorph⇓ пишет:</cite><blockquote><p>Можно просто использовать файл для передачи данных (в каком терминале запущен первый скрипт) второй же скрипт выводит на этот терминал.</p></blockquote></div><p>А как быть с правами? Мне достаточно назначить права для файла /tmp/my_tty ?</p><p>Я проверил, он мне только что выдал </p><div class="codebox"><pre><code>bash: /dev/pts/0: Permission denied</code></pre></div><p>Как и какие права мне расширить? Я так понимаю мне нужно расширить права для записи для текущего терминала.</p>]]></description>
			<author><![CDATA[null@example.com (Konstantin.Ivanov)]]></author>
			<pubDate>Tue, 14 May 2013 19:43:50 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345825#p345825</guid>
		</item>
		<item>
			<title><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345822#p345822</link>
			<description><![CDATA[<p>Можно просто использовать файл для передачи данных (в каком терминале запущен первый скрипт) второй же скрипт выводит на этот терминал.</p><p>Команда <strong>tty</strong> возвращает адрес терминала в котором она запущена.</p><p>Пример решения:</p><p>скрипт1</p><div class="codebox"><pre><code>#!/bin/bash

echo &quot;$(tty)&quot; &gt;/tmp/my_tty</code></pre></div><p>запуск второго скрипта с пере направлением вывода на терминал в котором запущен первый скрипт. </p><div class="codebox"><pre><code>ruby /path/to/script/С2.rb &gt;$(cat /tmp/my_tty)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ormorph)]]></author>
			<pubDate>Tue, 14 May 2013 19:27:19 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345822#p345822</guid>
		</item>
		<item>
			<title><![CDATA[Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=345819#p345819</link>
			<description><![CDATA[<p>Доброго времени суток!</p><p>Есть два скрипта С1 и С2 (для краткости). С1 выполняется в терминале до определённого момента. В этот момент происходит логин другого пользователя из-под скрипта, и в его (этого другого пользователя) .bashrc внизу стоит запуск С2. С2 запускается - однако хотелось бы, чтоб вывод С2 был виден в том, же терминале, что и С1 - а его (вывода) нет вообще. С2 просто завершается (самоубийством через pkill - т.е. выход из оболочки этого пользователя) и продолжается С1. Всё выполняется нормально - только вот вывод С2 идёт куда-то мимо.</p><p>Хотелось бы отметить, что используется именно .bashrc, но вот как:<br /></p><ul><li><p>сначало происходит вход как обычно и считывается .bash_profile (вот он):</p></li></ul><div class="codebox"><pre><code>exec env -i HOME=$HOME TERM=$TERM PS1=&#039;\u:\w\$ &#039; /bin/bash</code></pre></div><ul><li><p>как видно .bash_profile запускает оболочку, которая считывает .bashrc<br />(все эти пляски с бубном для чистоты переменных окружения) (вот .bashrc):</p></li></ul><div class="codebox"><pre><code>set +h
umask 022
# экпорт переменных и прочее
# и прочее

# и собственно запуск скрипта С2 (скрипт на ruby)
ruby /path/to/script/С2.rb</code></pre></div><p>Подскажите как направить вывод скрипта C2 на тот же терминал, в котором выполнялся С1 (ну в смысле вообще вывести на терминал) или, если это невозможно, хотя бы запустить его в отдельном терминале - так чтобы при его (скрипта) запуске выплывал отдельный терминал с его выводом.</p><p>P.S.: Дело в том, что если я выполняю скрипт С1 до момента логина, а потом ручками логинюсь под этого пользователя - то само собой запускается С2 и его вывод идёт на терминал - что не происходит при логине из-под скрипта С1. Хотелось бы автоматизировать этот момент, чтобы не крутить руками.</p><p>P.P.S: Может проще открыть отдельный терминал, но как?</p>]]></description>
			<author><![CDATA[null@example.com (Konstantin.Ivanov)]]></author>
			<pubDate>Tue, 14 May 2013 18:39:14 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=345819#p345819</guid>
		</item>
	</channel>
</rss>
