Обработка нажатия клавиш на удаленном сервере

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
alm604
проходил мимо
Сообщения: 1
Зарегистрирован: 2014-06-17 6:54:57

Обработка нажатия клавиш на удаленном сервере

Непрочитанное сообщение alm604 » 2014-06-17 7:04:18

Добрый день, форумчане.
Сейчас в работе проект, который никак не могу доделать по причине, думаю, плохого знания ОС FreeBSD.
Проект представляет собой одинокостоящую машинку с упомянутой ОС, без монитора, но с кастрированной клавиатурой - имеются только клавиши 1, 2, 3, 4, 5, 6, 7, 8, 9.
Кроме того, на морду машинки выведен один разъем USB. При подключении туда флешки происходит копирование файлов, а вот каких - должно определяться нажатиями тех самых клавиш.
Весь алгоритм работы описан shell-скриптом. При подключении флешки выполняется автомонтирование, далее необходим ответ от оператора. И вот тут проблема:
- вход в систему не выполнен, следовательно на экране, который не видно по причине его отсутствия, выведено приглашение к вводу имени пользователя.
- нажатие этой кастрированной клавиатуры будет восприниматься, как ввод логина, а мне нужно, чтоб это нажатие направлялось в работающий скрипт.
- клавиша Enter отсутствует, а значит ввод должен быть realtime или как это еще назвать...
Может еще что-то нужно подсказать, чтоб попросить помощи в решении проблемы?
Последний раз редактировалось f_andrey 2014-06-17 7:23:23, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

suspender
сержант
Сообщения: 160
Зарегистрирован: 2007-11-19 10:47:09

Re: Обработка нажатия клавиш на удаленном сервере

Непрочитанное сообщение suspender » 2014-06-17 12:18:23

Имхо не с той стороны заходишь

Автологин во фряху + автозапуск иксов (соответствующим образом кастрированных ) + автозапуск self_made_gui_tool, развернутой во весь экран с надписями на окне чё какая кнопка делает. В этой же self_made_gui_tool ловить нажатия клавиш и обрабатывать (да хоть шеллскрипты запускать соответствующие).

self_made_gui_tool я бы лично писал на python + PyQT (пара минут в qt designer + пару десятков строчек кода)
С тем же успехом можно заюзать c# mono + gtk#/winforms, си, плюсы, перловку etc
Особых знаний языков не нужно - реально нагуглить с нуля за полдня.

ps. Надо только как то опасаться клавиатур в USB вход подключаемых.

Гость
проходил мимо

Re: Обработка нажатия клавиш на удаленном сервере

Непрочитанное сообщение Гость » 2014-06-27 9:11:11

alm604,
полагаю, что вам необходимо в оси исключить иксы и всё, что связано с графикой, и напротив - так или иначе задействовать автологин для НЕпривилегированного пользователя, притом - при старте оси. Ну а ваш скрипт автоматом стартует в автозагрузке (ну или демоном его заделать...)
Поскольку в ТЗ как будто явно указано, что машинка будет работать без моника и нормальной клавы, всяческие телодвижения (включая и данные в ответе suspender) окажутся по меньшей мере лишним гимором, а по сути излишними сущностями, вообще никак не способствующими решению задачи...
Как то так навскидку

Гость
проходил мимо

Re: Обработка нажатия клавиш на удаленном сервере

Непрочитанное сообщение Гость » 2014-06-27 9:19:55

ЗЫ, но suspender абсолютно прав, что нужно как-то добиться невозможности подключения юсб-клавы (скорее всего выключением сервиса для клавы: только не спрашивате меня, как конкретно ето сделать... выступаю тут типичным консалтинговым филином! ;)) к етому... гм, недоПК - бо иначе кулхацкеры вам похозяйничают в нём (несмотря на непривилегированного юзера, попортить из консоли можно многое...)
Note. Должно быть, коли вы назвали хозяйство "сервером", управлять им будете по сетке (ssh?) через хорошо настроенную и крепко запароленную рутовую учётку... не правда ли?

Гость
проходил мимо

Re: Обработка нажатия клавиш на удаленном сервере

Непрочитанное сообщение Гость » 2014-06-27 10:05:56

А немного пораскинув мозгами, могу посоветовать простое и надежное решение насчёт безопасности: непривилег. юзара создайте без возможности шелла. Точка! Кулхацкер пусть хоть повесится на шнурке принесённой клавы, ничего навредить не сможет! :Yahoo!:
На в скрипт, считывающий нажатия цифровых клавиш, лучше заделать демоном... :oops: