我有一台运行在多用户模式下的服务器,连接了键盘和显示器。我想在另一台电脑上通过SSH连接到服务器并运行一个程序,该程序从键盘捕获输入并将文本打印到显示器上。键盘和显示器将永远不会用于其他任何目的。
现在,当服务器启动时,显示器上会显示一个(文本)登录界面。我知道可以写入相应的
如何捕获键盘事件并在Linux上使用显示器作为文本显示器?
我可能缺少有关Linux硬件接口的基础知识。我需要知道什么?
时间有限 - 如果有人愿意进一步完善这个问题,我会相应地奖励:
我执行了以下操作以防止任何登录程序启动:
这个解决方案是完全令人满意的,除了那个讨厌的
值得注意的是,这个解决方案确实满足我所有的需求 - 据我所知,我正在接管tty,因此可以访问其stdin(从键盘接收输出)和stdout(打印到显示器)。
现在,当服务器启动时,显示器上会显示一个(文本)登录界面。我知道可以写入相应的
/dev/tty
设备。但是,键盘也会写入同样的位置。如何捕获键盘事件并在Linux上使用显示器作为文本显示器?
我可能缺少有关Linux硬件接口的基础知识。我需要知道什么?
时间有限 - 如果有人愿意进一步完善这个问题,我会相应地奖励:
我执行了以下操作以防止任何登录程序启动:
systemctl mask serial-getty@ttyO0
systemctl mask systemd-logind
systemctl mask getty@tty1
需要时,我会使用以下命令来运行我的程序:
openvt -c 1 -f /path/to/my/program
这个解决方案是完全令人满意的,除了那个讨厌的
-f
。在tty1
上运行了什么?我能做些什么来停止它吗?我应该停止它吗?值得注意的是,这个解决方案确实满足我所有的需求 - 据我所知,我正在接管tty,因此可以访问其stdin(从键盘接收输出)和stdout(打印到显示器)。
openvt
的作用。 - Ignacio Vazquez-Abrams/etc/systemd/logind.conf
设置NAutoVTs=0
和ReserveVT=0
。现在没有登录提示将会被激活,我可以写入/dev/tty0
来打印我想要的内容。那么我如何查看键盘连接到了哪里呢?(例如Alt-F2仍然会尝试切换到tty2)。 - ToBeReplaced