The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Запуск собственной программы вместо getty (FreeBSD)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Запуск собственной программы вместо getty (FreeBSD)"  
Сообщение от nn_khv email(ok) on 10-Сен-08, 07:00 
Подскажите, пожалуйста, как решить такую проблему: нужно чтобы при старте FreeBSD на одной из виртуальных консолей запускалась вместо getty самописанная программка my_prog, которая рисует на экране некоторую табличку с данными (используя окна ncurses ) и ждёт нажатия определённых клавиш (getch();).

Раньше вместо FreeBSD стоял Linux, и там всё было очень просто - в /etc/inittab вместо
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
и т.п.

писали
1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/usr/local/bin/my_prog
3:2345:respawn:/sbin/mingetty tty3


и всё работало.

После того, как перекомпилировали my_prog под FreeBSD, она нормально запускается только тогда, когда сначала залогируешься в какой-нибудь виртуальной консоли, а потом её запустишь руками /usr/local/sbin/my_prog

а если я её прописываю в /etc/ttys :
ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv1   "/usr/local/sbin/my_prog"       cons25  on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure

то после старта если посмотреть ps -A , там есть строчка :
815 ?? S 0:00.44 /usr/local/sbin/my_prog ttyv1
но система вообще не реагирует на Alt+F2...

Очевидно я что-то не понимаю в процессах, которые запускаются на виртуальных консолях. Как мне организовать такой экран ? Каждый раз логироваться в системе после перезапуска невозможно - эта машина находится на удалении. Попробовала запускать через cron на консоли - в /etc/crontab прописала:
@reboot                        root    /usr/local/sbin/my_prog

- стартует, но экран не рисует - начинает только, но вместо рамочки ( my_win=newwin(23,80,1,0); box(my_win,0,0); ) рисует строчку "+--------------------------------------"
и всё - виснет - реагирует только на Ctrl+C - вываливается.

Нашла в интернете советы по запуску программки rungetty, но такого порта для FreeBSD нет, т.е она только для Линукса написана, а в Линуксе у нас и так всё работает...

Подскажите, пожалуйста, возможно это сделать на FreeBSD или нет ?

Наталья

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Запуск собственной программы вместо getty (FreeBSD)"  
Сообщение от LukLos on 10-Сен-08, 11:20 
В вашем случае необходимо создать пользователя (не root-a) От имени которого будет запускаться программа. И настроить процедуру автоматической регистрации пользователя в системе используя autologin.
Программу поставить пользователю в качестве сшела (ну или настроить ее автозапуск другим доступным способом).

----------- Далее выписка из инструкции по настройке.----------

Теперь, чтобы при включении компьютера выполнялся автоматический вход пользователя tuser . Создадим тип терминалла getty, добавив следующие строки в файл /etc/gettytab :

#
# autologin - automatically log in as trusted user
#

tuserlogin|tu.9600:\
        :al=tuser:tc=std.9600:


ГДЕ tuser - имя пользователя, от именим которого будет запускаться программа.

Теперь отредактируем файл /etc/ttys, задав вход на нулевой (или нужной) консоли и отключим лишиние консоли для экономии памяти:

ttyv0   "/usr/libexec/getty tuserlogin" cons25r on  secure
#ttyv0  "/usr/libexec/getty Pc  "       cons25r on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25r on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25r off secure
ttyv3   "/usr/libexec/getty Pc"         cons25r off secure
ttyv4   "/usr/libexec/getty Pc"         cons25r off secure
ttyv5   "/usr/libexec/getty Pc"         cons25r off secure
ttyv6   "/usr/libexec/getty Pc"         cons25r off secure
ttyv7   "/usr/libexec/getty Pc"         cons25r off secure
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру