我在 Wine 中安装了 Lingoes 词典。它有一个由剪贴板更改触发的弹出式翻译器。当我复制或选择一个项目时,它必须翻译该单词,但在 Wine 中,当我复制或选择一个单词时,Lingoes 词典仍然没有响应,好像没有复制任何内容。我可以通过右键单击上下文菜单粘贴到 Lingoes 词典中,然后它会进行翻译。
如何在 Wine 和 X11 之间启用自动剪贴板同步?
答案1
解决方案列在此主题,即您需要创建注册表项
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"UsePrimarySelection"="1"
(一些消息来源表明"UsePrimarySelection"="y"
但效果相同)。
有关详细信息,请参阅这个帖子。特别是如果你想将文本从 VNC 服务器(例如 Linux)复制到 VNC 客户端(例如 Windows),你需要另外安装autocutsel
并添加~/.vnc/xstartup
如下内容:
autocutsel -s PRIMARY -fork
这是必要的,因为从历史上看VNC 协议使用旧的、已弃用的 CUTBUFFER(像传奇应用程序一样,xterm
自古以来就支持它),而像 Wine 这样的新应用程序默认使用 CLIPBOARD(使用上面的注册表选项切换为 PRIMARY)。autocutsel
应该用来同步所有这些类型的缓冲区。
答案2
谢谢dma_ks 答案我找到了一种适合我的变体。
- 打开终端窗口Ctrl++Altt
export WINEPREFIX=~/.wine32/
使用你定义的 WINEPREFIX- (选修的)
export WINEDEBUG=fixme-all
- (选修的)查询是否已设置
:~$ wine reg query "HKLM\Software\Wine\X11 Driver"
reg: The system was unable to find the specified registry key or value
:~$ wine reg query "HKCU\Software\Wine\X11 Driver"
reg: The system was unable to find the specified registry key or value
- 将注册表项添加到当前用户(HKCU)和本地计算机(HKLM),我读到的源代码似乎没有检查 HKLM,但是我可能在某个地方错过了它,将它们同时设置起来可能不会有什么坏处。
:~$ wine reg add "HKCU\Software\Wine\X11 Driver" /v UsePrimarySelection /t REG_SZ /d 1
The operation completed successfully
:~$ wine reg add "HKLM\Software\Wine\X11 Driver" /v UsePrimarySelection /t REG_SZ /d 1
The operation completed successfully
在示例中,我将其设置为1
定义 真的。其他有效选项,定义在源文件, 是
- 真的 :
y Y t T 1
- 错误的 :
n N f F 0
- 您现在可以关闭终端窗口并启动您的 wine 应用程序
注意 1:WINEPREFIX
必须设置为应用程序运行的 wineprefix 并与之一致,如果每个应用程序都在不同的前缀上运行,则可能需要修改每个前缀
注2:HKLM 和 HKCU 分别是 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 的注册表项快捷方式
注意 3:您也可以使用 GUI 应用程序 regedit 执行所有这些操作。您可以使用 启动它wine regedit
。
细节:
浏览源代码它看起来像葡萄酒
- 首先检查应用程序特定的值
HKCU\Software\Wine\AppDefaults\app.exe\X11 Driver\UsePrimarySelection
,如果存在则返回其分配的值 - 如果没有找到应用程序特定的值,它会检查当前用户的“常规”值
HKCU\Software\Wine\X11 Driver\UsePrimarySelection
,并返回其分配的值(如果存在)
有关的: