Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Перенаправление вывода в tty1


Автор: meteor2312 20.1.2014, 13:47
Привет всем! Столкнулся с проблемой перенаправления вывода в tty1 из tty7. В автозапуске Ubuntu 12.04 запускаю скрипт (добавил в rc.local). Загрузка идет в консольном режиме. Так установил автолог для tty1.
Текст скрипта:
Код

exec > /dev/tty1
fdisk -l #вставлено для самопроверки
Здесь запускаю приложение с выводом некоторых строк

Скрипт отрабатывает, но проблема в том, что результат команды "fdisk -l" выводит в tty1, а результат приложения выводит в tty7, где должна запускаться графика. Как перенаправить вывод приложения в tty1?
И еще вопрос - rc.local запускается до авторизации пользователя (автолог сделал изменение строки в /etc/init/tty1.conf), а как организовать автозапуск после авторизации пользователя в tty1?
Заранее спасибо за советы!

Автор: tzirechnoy 20.1.2014, 14:47
Цитата
 а результат приложения выводит в tty7, где должна запускаться графика.


Вероятно, приложэние либо пишэт в stderr, либо переоткрывает терминал от stdin. Проще всего -- перенаправить stdin и stderr тожэ на tty1, как Вы сделали это с stdout. 

Цитата
, а как организовать автозапуск после авторизации пользователя в tty1?


Выяснить, кому передаёт управление программа авторизацыи пользователя на tty1 -- и либо изменить этого "кому" на то, что Вам нужно, либо узнать в документацыи этого "кому" -- как в нём сделать запуск конкретной программы.

Автор: meteor2312 20.1.2014, 20:11
Цитата

перенаправить stdin и stderr тожэ на tty1

а нельзя ли примерчик или поправьте меня:
Код

exec > /dev/tty1 2>&1 0>&1

Цитата

Выяснить, кому передаёт управление программа авторизацыи пользователя на tty1

а как это можно сделать?

Автор: tzirechnoy 20.1.2014, 23:19
Цитата
exec > /dev/tty1 2>&1 0>&1


Скорее 
Код
exec >/dev/tty1 2>/dev/tty1 0</dev/tty1


В твоём -- во-первых, stdin ты открываешь на write зачем-то, во-вторых, на read он не очень откроется.

Цитата
а как это можно сделать? 


Например, прочитав документацыю на соответствующие программы.

Автор: meteor2312 21.1.2014, 06:59
tzirechnoy, спасибо! Первый вопрос решен, а со вторым буду разбираться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)