
VNC セッションを実行しており、2 つのシステム間でクリップボードを双方向に共有したいと考えています。失敗する操作は、デスクトップの Web ブラウザーから URL を取得し、VNC セッションに移動し、アドレス バーのテキストを強調表示し、古い URL を削除してから、Ctrl + V を押してデスクトップから URL を貼り付けるというものです。
失敗するのは、古い URL を削除する部分です。何らかの理由で、URL をハイライト表示し、思いつく限りの方法 (バックスペース、Delete キー、右クリックしてコンテキスト メニューから [削除] を選択するなど) で削除すると、そのテキストがクリップボードに切り取られ、クライアント コンピューターに送信されます (最初にコピーしようとしていた内容が上書きされます)。
ハイライトせずに、URL が消えるまでバックスペース キーを押し続けると、クリップボードが保持されるため、この特定の操作にのみ影響するように見えます。VNC サーバーからのクリップボード更新を無効にすることで (更新がクライアントからサーバーにのみ送信されるように)、この問題を (ある程度) 回避できますが、双方向のサポートが必要です。
コンテキスト メニューから削除するときにも発生するため、キー マッピングの問題ではないようです。たまたま VNC で実行しているため、関係がない可能性がありますが、X11 や GNOME (自宅で毎日使用) ではこのような動作は発生していません。 と の間でもこの問題が再現され、gedit
結果notepad
は同じです。したがって、ブラウザーの問題ではないようです。
- VNC サーバー: TigerVNC 1.1
- VNC クライアント: RealVNC 5.2
- サーバーデスクトップ: RHEL 6.6 上の GNOME 2.28
- クライアントデスクトップ: Windows 7
答え1
VNCサーバーがプッシュしているようですXウィンドウの選択クライアントのクリップボードに。
X ウィンドウの選択は、テキストを選択するたびに更新されます。あなたの場合、これはブラウザのアドレス バーでテキストを選択することによって行われ、vnc サーバーはこれをクライアント クリップボードにコピーし、ローカル クリップボードを上書きしました。選択したテキストを削除する操作は関係ないため、これをどのように削除したかは問題ではありません。
解決策は、「プライマリ選択を視聴者に送信する」オプションを無効にすることです。vncconfig
答え2
最後に、SendPrimaryオプションはVNCサーバーに移動されました。そのため、SendPrimaryオプションを無効にするには、次の行を追加する必要があります。.vnc/config.d/vncserverui-仮想:
SendPrimary=0
グローバルに無効にしたい場合は、/etc/vnc/config.d/common.custom。
これを有効にするには、VNC サーバーを再起動する必要があります。