![无法在 Ubuntu 服务器上打开 X11 应用程序](https://linux22.com/image/1510733/%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%93%E5%BC%80%20X11%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我需要在 Ubuntu 上启用滚动锁定键,为此我需要使用 Xmodmap,它是 X11 工具的一部分,但所有 X11 工具都不起作用。它只是说
Unable to open display ''
或者
Can't open display:
我在 Windows 上的 VMware 上运行 Ubuntu。当我使用 Gnome 图形界面时,它运行良好,但它不适用于命令行界面。我只需要启用滚动锁定,我不明白这与图形界面有什么关系
我甚至尝试使用 export display="localhost" 或 ":0.0" 来更改显示,但没有效果
答案1
当我使用 Gnome gui 时,它工作正常,但它不适用于 cli。我只需要启用滚动锁定,我不明白这与 gui 有什么关系
一般来说,事实并非如此。但处理图形输出的同一子系统——Xorg——也处理许多高级鼠标/键盘输入功能,并且具体特征您尝试使用的 – 通过 Xmodmap 进行键重新映射 – 是 X11 的一部分(因此也是 Xorg 的一部分),正如其名称所示。
出于充分的理由,内核开发人员通常拒绝做用户空间可以做得更好的事情。因此,内核只提供基本的抽象——用于视频的 KMS、用于输入的 evdev——但只有非常最小支持布局、按键重新映射甚至鼠标等高级功能,因此 Xorg 需要处理这些功能,就像它处理绘制窗口和菜单一样。
另一方面,Xmodmap 不可能使能够内核本身还没有启用此功能。它所能做的就是重映射一个键对应另一个键。因此,如果Scroll Lock控制台不起作用,则您遇到了不同的问题。
在 Linux 控制台上,Scroll Lock 已经有目的 – 它会暂停并恢复控制台输出。如果这不起作用,您应该使用evemu-record
(直接测试内核的 evdev 层)或进行测试libinput-debug-devices
,以记录内核本身为其分配的键代码。如果您发现异常,则可以配置永久重新映射通过 udev。