【问题标题】:Xterm*selectToClipboard doesn't work when put in Xresources放入 Xresources 时 Xterm*selectToClipboard 不起作用
【发布时间】:2015-04-10 00:04:56
【问题描述】:

我的 Xterm 有问题,我不知道出了什么问题:

我需要在我的 Xterm 中启用选项 *selectToClipboard 才能在终端中复制文本。

为此,我首先尝试使用以下命令的选项“手动”启动 xterm:xterm -xrm 'xterm*selectToClipboard: true',效果很好。

然后为了在每次启动 xterm 时启用该选项,我将以下行 xterm*selectToClipboard: true 放入我的 ~/.Xresources 并使用命令 xrdb -merge ~/.Xresources 更新设置但它不起作用:Xterm 启动但选项未启用,我无法从终端复制文本,而 Xresources 中的所有其他选项均已启用并且工作正常。

有没有人知道什么会导致这个问题?

【问题讨论】:

  • 你能确认合并与xrdb -query一起工作吗?
  • 我确认:xterm*selecttoclipboard: true 选项行出现在两种情况下(xterm“手动”启动或使用 Xresources 中的选项启动 xterm)

标签: terminal xterm modx-resources


【解决方案1】:

X 资源区分大小写xterm manual 将此记录为

selectToClipboard(类SelectToClipboard

告诉 xterm 是使用 PRIMARY 还是 CLIPBOARD 进行 SELECT 选择机制中的令牌。 set-select 动作可以 在运行时更改它,允许用户使用程序 只处理其中一种机制。默认是 "false",告诉它使用 PRIMARY。

该功能已在 patch #209 (2006) 中添加到 xterm。它不是可选功能。所以(假设你已经按照给定的方式输入了命令行),有几种可能性可以检查:

  • 可能正在运行旧版本的 xterm。要检查这一点,请运行

    xterm -v

xterm 的 -v 版本选项将让它打印一条消息,显示补丁级别以及编译它的配置,例如,

XTerm(261)
  • 可以使用转义序列设置/重置该功能,如XTerm Control Sequences 中所述:

    CSI ?下午 DEC 私有模式设置 (DECSET)。 ... Ps = 1 0 4 1 -> 使用剪贴板选择。 (这使 selectToClipboard 资源)。

你的 shell 初始化可能有一些发送这个序列的东西。

xrdb -query 是检查资源设置的一种方法,但它并非万无一失。更好的工具是appres,例如,

appres XTerm
appres UXTerm

取决于 xterm 是否在有或没有 UXTerm 应用程序默认值的情况下运行。与xrdb 相比,appres 在考虑“app-defaults”文件后显示资源设置。 (它不会看到仅应用于 xterm 实例的资源,例如 -xrm 选项。

tmux 有一个功能可以干扰选择(无论是主要还是剪贴板)。这称为set-clipboard,并在此处进行评论:

【讨论】:

  • 我错了,我在我的问题中拼错了,但我在Xresources 中用大写字母写了它(我编辑了我的问题)。它仍然不起作用。我也尝试了xterm*XTerm*,因为我在互联网上都看到过,但都不能正常工作。
  • xterm -v 给了我 Xterm(278) 因此必须包含该功能。实际上,我知道当 xterm 启动时某些东西可能会发送不需要的序列,但我不知道如何弄清楚谁能做到这一点。我家没有 .Xinitrc 只有一个 .Xresources 似乎没有这样做。
  • 如果我有类似的无法解释的事情,我会在打开调试跟踪的情况下编译 xterm,然后看看原因。
  • 其实我发现是 Tmux 与 selectToClipboard 设置混淆了。它与 rxvt 相同,当我从 tmux 会话中分离时,剪贴板的选择工作正常。所以我必须找出为什么它会覆盖设置。
【解决方案2】:

简答: 只需在/etc/X11/app-defaults/XTerm 文件中添加以下行

*selectToClipboard: true

长答案: 如果您查看手册页 xterm(1):

man xterm

FILES
   The actual pathnames given may differ on your system.

...
   /etc/X11/app-defaults/XTerm
        the xterm default application resources.

   /etc/X11/app-defaults/XTerm-color
        the xterm color application resources.  If your display supports color, use this
                  *customization: -color
        in your .Xdefaults file to automatically use this resource file rather than /etc/X11/app-defaults/XTerm.  If you do not do this, xterm uses its compiled-in default resource settings for colors.
...

除了XTerm-color 之外,我没有找到任何对用户配置文件的引用来设置 XTerm 应用程序默认值,所以我认为它不存在。

【讨论】:

  • 谢谢!这应该是许多 Xterm 复制粘贴问题的公认答案。
猜你喜欢
  • 1970-01-01
  • 2014-03-11
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多