我找到了一个 Ubuntu OS 命令,即使程序在后台运行,它也能让程序从键盘读取数据。我试图搜索它很多但没有成功。如果任何 Ubuntu/Linux 程序员知道允许程序执行此操作的操作系统命令,请与我分享。
我是 Ubuntu 编程的初学者。
最佳答案
您可以使用 Linux 输入子系统从鼠标和键盘读取事件。只有当您的应用程序具有必要的权限时,它才会起作用。基本上,您必须以 root 身份运行该应用程序才能正常工作。
如果您不能以 root 用户身份运行,那么无论如何您都不应该尝试监视键盘。
您可以创建一个 X11 应用程序来监控当前 session 中的键盘事件。它只适用于当前用户,在当前图形环境中,可能无法观察特权对话框,例如密码输入。有关详细信息,请查看适用于您的桌面环境的应用程序快捷方式启动器;我听说过的所有 Linux DE 都有一个。
我觉得Linux Journal 的旧文章,The Linux USB Input Subsystem和 Using the Input Subsystem , 仍然是 Linux 输入子系统的最佳介绍之一。现在大多数 Linux 发行版也支持 uinput,这是一种类似的设备,允许将输入事件注入(inject)回内核子系统,旨在允许用户空间输入设备驱动程序。它们的接口(interface)在 /usr/include/linux/input.h
和 /usr/include/linux/uinput.h
中描述。我建议你从上面的文章开始,然后再看一些input和 uinput示例。
关于c++ - 如何在 Ubuntu 的后台进程中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744064/