![屏幕/键盘可以专用于独特的(后台/非root)进程吗?](https://linux22.com/image/183820/%E5%B1%8F%E5%B9%95%2F%E9%94%AE%E7%9B%98%E5%8F%AF%E4%BB%A5%E4%B8%93%E7%94%A8%E4%BA%8E%E7%8B%AC%E7%89%B9%E7%9A%84%EF%BC%88%E5%90%8E%E5%8F%B0%2F%E9%9D%9Eroot%EF%BC%89%E8%BF%9B%E7%A8%8B%E5%90%97%EF%BC%9F.png)
考虑工业计算机(称为“嵌入式系统”),
- 配备linux服务器操作系统(无桌面)
- 仅运行单个应用程序进程(单个非 root 用户)
- 连接到高分辨率屏幕
- 附有键盘
计算机完全专用于单个应用程序进程/用户,
- 在后台运行(待定义)并在启动时启动
- 运行一些 I/O 逻辑
- 从键盘获取一些用户输入(击键/数字)
- 必须在连接到计算机的屏幕上显示一些文本/图像
顺便说一句,有关文本显示详细信息另请参阅相关问题:在没有桌面环境的情况下显示大文本(在图形模式下?))。
linux server host (no desktop env)
+-------------------------------------------+
| |
| +--------> Digital inputs
| +--------------+ <--------- Digital outputs
| | graphic card | |
+---+------+-------+--------------------^---+
| |
| HDMI / VGA | USB
+--------------v---------------+ +-------+--------+
| Please contact the operator. | | |
+------------------------------+ +----------------+
screen (TTY console?) keyboard
(后台)进程如何在附加(专用)屏幕上打印文本(在文本终端模式或图形模式下),并从键盘获取击键?
输出
对于输出,我假设一个解决方案是该过程将输出文本打印为图像,直接写入帧缓冲区(例如使用程序)fbi
。
但是,如果我将屏幕用作stdout
(后台)进程怎么办?在这种情况下,我想我需要将根 TTY 与附加屏幕“分离”(这可能吗?),从而允许用户进程获得对屏幕的完全控制。有道理?
输入
如何从键盘上获取击键?使用标准输入?直接读取键盘设备?
顺便说一句,我认为可以通过 SSH 访问计算机以满足任何(根)需求。
有什么建议吗?
答案1
如果你问的话。如何设置一个只有一个图形应用程序但没有窗口管理器、开始按钮、任务栏等的系统?
然后。
您只需要不运行桌面:窗口管理器和面板。只是还有其他流程。启动 X11 服务器的进程也会启动这些。您只需要更改配置即可。