为什么不能粘贴到xterm(XQuartz)中?


26

我在Mac(OS 10.8.2)上,并且想开始使用xterm作为默认终端,而不是Terminal.app。不幸的是,我无法将文本粘贴到xterm窗口中,这是我经常想要做的事情。当我尝试时,它将粘贴奇怪的字符,而不是粘贴在剪贴板中的字符。例如,如果使用触控板在xterm命令提示符(gregory)中突出显示我的用户名,然后按cmd+ V进行粘贴,<00f6>则会显示文本。如果我复制的文本来自Web浏览器,则仅ö出现(变音为'o')。

我尝试过切换“粘贴板偏好设置”中的所有设置(启用同步,在剪贴板更改时更新剪贴板,在剪贴板更改时更新剪贴板,在选择新文本时立即更新剪贴板),但这些设置似乎均无效。当然没有人允许我粘贴。

我想要的行为是标准cmd+ C复制和cmd+ V粘贴,但我可以接受的替代键绑定。

这里有人可以解释我观察到的行为并推荐解决方案吗?


2
我无法回答您的问题,但是有两个提示:(1)您是否xterm仔细检查了文档?我已经xterm好几年没用了,但我记得它喜欢使用鼠标单击组合来粘贴,而不是(某种东西)+ V组合。(2)您是否注意到ö('o'umlaut)是U + 00F6(Unicode字符00F6)?可能不是巧合。
斯科特

2
看来该解决方案可能涉及创建〜/ .Xmodmap文件,但由于想出办法做到这一点而又不会无意间造成麻烦,因此我在shell命令pbpaste中发现了一句话。
格雷戈里

对于最新版本的OSX(我使用10.12),可以进行以下工作:stackoverflow.com/a/9525347/1353267
Samveen

Answers:


32

您需要单击鼠标中键以粘贴OS X粘贴板的内容(如X11设置所称。)。如果没有鼠标中键,请在“ X11首选项”下的“输入”选项卡,以及“粘贴板”选项卡下的“启用同步”和“当粘贴板更改时更新主”。然后,您可以通过按住Option键并单击,将复制的内容粘贴到Mac OS X的其余部分中。

如果要使用+ V,可以将以下行放入.Xdefaults文件中:

*VT100.translations: #override  Meta <KeyPress> V:  insert-selection(PRIMARY, CUT_BUFFER0) \n

然后,确保在X11首选项的“粘贴板”选项卡下启用了“在粘贴板更改时更新主要”。您可能需要确保.Xmodmap(或其他地方)中没有任何更改相关键映射的内容。要应用新设置,请退出并重新启动X11,或者运行xrdb -merge ~/.Xdefaults然后打开新的xterm。

如果已在“输入”选项卡下启用了“在X11下启用等效键”,并且在“粘贴板”选项卡下已启用了“在CLIPBOARD更改时更新粘贴板”,则在xterm中选择文本并单击+ C复制即可。


2
是的,我的触控
迈克尔

1
@Michael然后去XQuartz > Preferences > Input > Emulate three button mouse。或者,您可以安装诸如BetterTouchTool之类的工具,这是一种更通用的解决方案。
GDP2

2

你有三键鼠标吗?按下滚轮键,它将剪贴板的内容粘贴到光标位置。


5
我没有鼠标,因为我使用的是带触控板的MacBook。
格里高利

1
@Gregory然后转到XQuarts > Preferences > Input > Emulate three button mouse。或者,您可以安装诸如BetterTouchTool之类的工具,这是一种更通用的解决方案。
GDP2

0

尝试xrdb -merge ~/.Xdefaults按照Kundor的建议运行。与重新启动X11不同,xrdb要求我同意在新安装的El Capitan OS X 10.11上使用Xcode许可协议。完成后,我的.Xdefaults文件已正确实现,并且要粘贴到xterm中的⌘+ V再次起作用。


0

如果您正在从Mac终端访问/运行此程序以连接到Windows,这就是它对我很好用的原因

xfreerdp --no-nla --plugin cliprdr -g 1600x1000 -u "your_user_name" your_server_or_ip 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.