Vnc

VNC 似乎打破了 CLIPBOARD 和 PRIMARY

  • September 15, 2020

我在 Windows 10 機器上使用 VNC Viewer 5.3.2 (r19179) x64 連接到在 SUSE Linux Enterprise Server 11 上執行的 VNC 伺服器(虛擬模式)5.3.2 (r19476) x64。我的問題是關於複製和粘貼.

我知道Linux 有兩個不同的剪貼板,PRIMARY 和CLIPBOARD。如果我選擇了一些文本,它會被發送到 PRIMARY,我可以使用第三個按鈕滑鼠或使用 SHIFT+INSERT 來粘貼它。但是,選擇文本不應覆蓋剪貼板。當使用者選擇文本時使用剪貼板,然後使用 CTRL-C 複製它或右鍵點擊複製。在此之後,如果我使用 CTRL-V 粘貼,它應該粘貼駐留在 CLIPBOARD 中的內容,無論我是否在複製和粘貼操作之間選擇了一些文本(更改了 PRIMARY)。

當我使用 VNC 連接到我的遠端機器時,這一切工作得非常好:我可以使用 CTRL-C 複製一些文本,然後選擇任何內容並使用 CTRL-V 粘貼以粘貼我使用 CTRL-C 複製的內容。但是,如果我在 VNC 查看器之外複製一些文本,即在我的本地電腦 (Windows 10) 上的記事本中複製一些文本,然後在我的遠端電腦 (SLES 11) 中選擇一些文本並嘗試將其粘貼過來,它會粘貼我剛剛選擇的內容,即使我使用 CTRL-V。

此時,PRIMARY 和 CLIPBOARD 在我的遠端機器上搞砸了,直到我關閉會話並打開一個新會話。這意味著,如果我選擇一些文本並執行 CTRL-V,它會粘貼我剛剛選擇的文本。這變得非常煩人,因為如果我想複製某些內容然後將其粘貼到其他內容上,系統會粘貼我剛剛選擇的內容,然後我會鬆開剛剛製作的 CTRL-C。我不知道選定的文本是否被發送到剪貼板或初級,或者 CTRL-V 現在是否從初級或剪貼板粘貼,但有些東西搞砸了。

我知道 VNC Viewer 曾經有一個名為 SendPrimary 的選項,它可能會解決我的問題(請參閱this),但我在 VNC Viewer 5.3.2 中找不到此選項。

剛剛從 Real VNC 團隊得到了答案。顯然 SendPrimary 選項僅在 Linux VNC 查看器版本中可用。但是,最後,它已移至 VNC 伺服器。因此,要禁用 SendPrimary 選項,您必須將以下行添加到***.vnc/config.d/vncserverui-virtual***:

SendPrimary=0

如果要全域禁用它,請將其添加到***/etc/vnc/config.d/common.custom***。

**編輯:**請注意,您需要重新啟動 VNC 伺服器才能使其生效。

在 Linux 的右上角,剪刀位於。右鍵點擊並關閉預設剪貼板管理器,然後從 Tigervnc 剪貼板管理器開始:

$ vncconfig &

它將啟動 TigerVNC 剪貼板。因此,您可以與本地和遠端電腦共享剪貼板。

我已經在 Oracle Linux 上進行了測試和工作。

引用自:https://unix.stackexchange.com/questions/433612