Можно ли использовать клавиатуру личного портативного компьютера для настольного компьютера в интрасети?

В:

cmd1 | cmd2

Большинство оболочек (оболочка Bourne, (t)csh, а также yash и некоторые версии AT&T ksh, при некоторых условиях являющиеся заметными исключениями) ждут обоих cmd1 и cmd2.

В bash вы заметите, что

sleep 1 | uname

возвращается через одну секунду.

In:

btmon | grep -m 1 '@ Device Disconnected'

grep завершится, как только найдет одно вхождение шаблона, но bash все равно будет ждать btmon.

btmon обычно умирает из-за SIGPIPE при следующей записи в канал после возврата grep, но если он никогда больше ничего не записывает, он никогда не получит этот сигнал.

Вы можете заменить #! /bin/bash с #! /bin/ksh93, так как это оболочка, совместимая с bash и ожидающая только последнего компонента конвейера. Затем в

btmon | grep -m 1 '@ Device Disconnected'

после возврата grep btmon останется работать в фоновом режиме, а оболочка продолжит работу с остальной частью скрипта.

Если вы хотите убить btmon, как только grep вернется, POSIXly, вы можете сделать что-то вроде:

sh -c 'echo "$$"; exec btmon' | (
   read pid
   grep -m1 '@ Device Disconnected' || exit
   kill "$pid" 2> /dev/null
   true)
1
14.02.2017, 14:23
2 ответа

Вы можете войти по SSH, но я предполагаю, что это не то, что вам нужно.

Я бы порекомендовал попробовать Synergy - это программное обеспечение для совместного использования клавиатуры и мыши, которое работает на большинстве * nix-боксов, Windows и Mac.

Если вы предпочитаете бесплатную версию, которую они предлагают, это здесь , но имейте в виду, что он не поддерживается.

Вам нужно будет установить машину, на которой вы хотите использовать клавиатуру, в качестве сервера, а модуль centos - в качестве клиента.

0
28.01.2020, 01:00

Воспринимайте это как PoC, но поскольку USB-клавиатуры часто работают из коробки, вы можете взглянуть на эту, основанную на Arduino: http: / /hackaday.com/2012/06/29/turning-an-arduino-into-a-usb-keyboard/

Следующим шагом будет использование arduino в качестве сервера, получающего входные данные с вашего ноутбука с защитой Ethernet.

0
28.01.2020, 01:00

Теги

Похожие вопросы