我在 MacBook 上使用 XQuartz 附带的 xterm。然而 OSC 52 控制序列似乎不起作用。重现方法如下:
- 打开xterm
- 在 shell 中,发出
printf '\e]52;c;%s\007' $(printf 'test off' | base64)
- 尝试“粘贴”到其他地方,例如 TextEdit
我没有看到文本“test off”被复制到 TextEdit 中。看来我的 xterm 的 OSC 52 支持被破坏了。
我该如何修复它或进一步找出它的根本原因?
从这些来源看来,xterm 确实支持 OSC 52:
答案1
正如 Stéphane 所评论的,xterm 确实支持此功能。您可以从“字体”菜单 ->“允许窗口操作”或通过 xresource 字符串启用它:
allowWindowOps: true
这记录在 xterm 的手册页中。
人们可以选择性地禁止窗口操作的子集,如 @cyqsimon 提到的:with disallowedWindowOps
(参见 man xterm)。然而,我还没有时间找出正确的操作来禁止仅允许复制/粘贴操作。