[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bluetooth и getty



On 2007.12.04 at 14:50:02 +0300, Victor Wagner wrote:

> А вот как был поднять getty на /dev/rfcommX?
> 
> Т.е идея такая - организовать что-то типа dun, только присоединившееся
> устройство получает не ppp-сессию, а login prompt и консольную сесию в
> случае успешной авторизации. 
> 
> Мануал по dund читал, там ничего интересоного не написано.
> В мануале по rfcomm(1) описана опция --listen,  но что произойдет,
> когда клиент таки придет, и куда лошадь (то есть getty) запрягать,  не
> написано.

Поэкспериментировал немного и получил следующие результаты.

1. Если на машине не выполняется rfcomm listen /dev/rfcomm0 - нифига не
работает.
2. Если оно выполняется, то в момент коннекта оно выводит в stdout
строчку "Connection from 11:11:11:11:11:11 to /dev/rfcomm0". То есть
даже не может корректно определить адрес, блин. Буферизацию stdout,
естественно не выключает. Повбивав бы авторов программ, которые не умеют
пользоваться setvbuf. Или, как рекомендует Джоэл Спольски, заставил лук
на подводной лодке чистить.
3. Если после вывода этой строчки запустить gettty 57600 /dev/rfcomm0,
 то на клиенте появляется Login: и все замечательно. За исключением
 того, что после логина bash ругается на no job control in this shell
 а при логауте getty (вернее, давно заместивший её через посредство
 login процесс bash) завершается, соединение не прерывается корректно.
 Впрочем можно вместо просто getty запускать getty ...; kill -INT `pidof rfcomm`
 тогда с точки зрения клиента всё будет почти нормально.

Единственная проблема - как отловить момент когда произошел коннект и
надо запускать getty (запуск getty до коннекта не помогает почему-то)
Пока не вижу вариантов кроме скрипта на expect или переписывания rfcomm
(а может сразу dund?)

Ну и надо понять что куда девается job control.
Логинился в cu, а на физический нуль-модемных кабелях такого за ней не
замечено.

> Поднять ppp-сессию и ходить по ней телнетом/ssh не предлагать.   
> 
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 



Reply to: