无法在 Ubuntu 服务器上打开 X11 应用程序

无法在 Ubuntu 服务器上打开 X11 应用程序

我需要在 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

相关内容