<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=28235&amp;type=atom" />
	<updated>2013-05-15T08:39:24Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=28235</id>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345854#p345854" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Alexey_1]]></name>
				<uri>https://linuxforum.ru/profile.php?id=25955</uri>
			</author>
			<updated>2013-05-15T08:39:24Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345854#p345854</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345847#p345847" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Konstantin.Ivanov]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30006</uri>
			</author>
			<updated>2013-05-15T06:29:11Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345847#p345847</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345842#p345842" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Alexey_1]]></name>
				<uri>https://linuxforum.ru/profile.php?id=25955</uri>
			</author>
			<updated>2013-05-15T04:44:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345842#p345842</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345831#p345831" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Konstantin.Ivanov]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30006</uri>
			</author>
			<updated>2013-05-14T20:24:39Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345831#p345831</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345829#p345829" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Konstantin.Ivanov⇓ пишет:</cite><blockquote><p>Спасибо разобрался! Изменение прав для /tmp/my_tty работает. </p></blockquote></div><p>Ну и здорово )</p>]]></content>
			<author>
				<name><![CDATA[ormorph]]></name>
				<uri>https://linuxforum.ru/profile.php?id=221</uri>
			</author>
			<updated>2013-05-14T20:03:31Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345829#p345829</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345828#p345828" />
			<content type="html"><![CDATA[<p>Можно добавить команду <strong>chmod 666</strong>, на терминал.<br />Либо попробовать добавить пользователя в группу <strong>tty</strong>, по крайней мере у меня так.</p><p>Посмотрите что показывает команда <strong>ls -l /dev/pts/0</strong></p>]]></content>
			<author>
				<name><![CDATA[ormorph]]></name>
				<uri>https://linuxforum.ru/profile.php?id=221</uri>
			</author>
			<updated>2013-05-14T20:01:33Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345828#p345828</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345827#p345827" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Konstantin.Ivanov]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30006</uri>
			</author>
			<updated>2013-05-14T19:51:44Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345827#p345827</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345825#p345825" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Konstantin.Ivanov]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30006</uri>
			</author>
			<updated>2013-05-14T19:43:50Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345825#p345825</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345822#p345822" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[ormorph]]></name>
				<uri>https://linuxforum.ru/profile.php?id=221</uri>
			</author>
			<updated>2013-05-14T19:27:19Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345822#p345822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Bash автозапуск скрипта с выводом на экран (через .bashrc)]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=345819#p345819" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Konstantin.Ivanov]]></name>
				<uri>https://linuxforum.ru/profile.php?id=30006</uri>
			</author>
			<updated>2013-05-14T18:39:14Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=345819#p345819</id>
		</entry>
</feed>
