
В настоящее время я пишу программу для проекта.
Это для системы чтения шрифта Брайля, где у меня есть дисплей Брайля, подключенный через USB и управляемый программой под названием brltty.
Одним из требований этого проекта является возможность подключения более одного дисплея Брайля, при этом управление системой должно осуществляться только главным дисплеем.
Я подумал, что самый простой способ сделать это — вместо того, чтобы отправлять команды каждому экземпляру brltty в моей программе, просто зеркально отобразить то, что выводится на основной USB, на каждом USB-порту.
Это возможно?
решение1
Я не думаю, что зеркалирование USB-интерфейса — самое простое решение вашей проблемы.
Я раньше не пользовался brltty
, но, насколько я понимаю, вы сможете использоватьtmuxдля мультиплексирования терминала снаружи brltty
вообще.
Честно говоря, я тоже не особо пользовался tmux, но исходя изэтот урок...
- запустите tmux на главном терминале:
tmux -S /tmp/shared
- разрешить другим пользователям подключаться к мастеру:
chmod +r /tmp/shared
- запустите tmux на клиентских терминалах:
tmux -S /tmp/shared attach -r
В руководстве также даются некоторые предложения о том, как автоматически присоединить клиентские терминалы к главному терминалу при входе в систему. Это может иметь для вас значение, а может и нет; но если это так, вы, вероятно, могли бы просто прикрепить его в конце клиентской учетной записи .profile
, предполагая, что у вас нет проблем с безопасностью, о которых стоит беспокоиться.
exec /usr/bin/tmux -S /tmp/shared attach -r
решение2
Linux? Если да, то см.тройник(2)или старыйразветвление(Машина пути).
Но я бы выбрал старую классику.
for (dev in devs)
send (dev, command)