GNU/Linux >> Linux の 問題 >  >> Linux

Vim / gvimがX11クリップボードをレジスタ「+または」*に入れられない?

標準のvinoサーバーではセキュリティが不足しているため、Linux(Xubuntu 14.04を使用)ボックスではx11vncを使用し、Windows側ではSSVNCを使用するように切り替えました。

vinoを使用すると、WindowsからLinuxにカットアンドペーストし、Windowsは2方向で不安定でした(1)が、機能すると、すべてのプログラムで機能しました。 vimを使用できます "+を登録します 問題なく。実行します(2)

autocutsel -fork 

通常は、「ミドルクリック」とctrl-c/vの選択が同じになるようにします。

x11vncを使用するようになりました(x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000で呼び出されます )安全で暗号化された接続を確立するには、問題が発生しました:

  1. Windowsにコピーして、リモートのLinuxターミナル、libreofficeなどに問題なく双方向に貼り付けることができます。

  2. vimで 、またはgvim"+pで貼り付けようとすると または"*p E353: Nothing in register *

  3. 再びvim またはgvim 、逆の方法でも機能します。"+yyの場合 次に、Windows側に貼り付けることができます。

誰かとしてこの問題について何か手がかりはありますか?奇妙なことに、貼り付けはチェックしたすべての場所で機能しますが、vim

Package                 Installed       Previous        Now             State
=======================-===============-===============-===============-=====
vim                     2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  install
vim-gnome               2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  2:7.4.052-1ubuntu3  install

脚注:

(1)現在バグを見つけることができません—報告されています。しばらくすると動作を停止します。

(2)使ってみました。変更はありません。

承認された回答:

使用しているx11vncがわからないため(3つの異なるバージョンがありますが、他にもあります)、これはこの特定の問題をトラブルシューティングするためのチュートリアルです。

まず、関係するクリップボードを理解することです。ほとんどの場合、そのうちの4つが関係しています。 (クリップボード管理ツールを使用すると、さらに多くのことが可能になります。)X11は、プライマリ、セカンダリ、およびクリップボードの3つのクリップボードを定義します。セカンダリはめったに使用されないので(そしてほぼ確実にあなたの問題ではありません)、それを無視します。ミドルクリックを使用して貼り付けるアプリケーション(xtermなど)は、通常、プライマリクリップボードを使用します。 Windowsスタイルの貼り付け([編集]、[貼り付け]、または[コントロールV]をクリック)を実行するアプリケーションは、クリップボードのクリップボードだけを使用する場合があります。一部のアプリケーションは両方を実行します(Google Chromeは、ミドルクリックでプライマリから貼り付け、コントロールVでクリップボードから貼り付けます)。次はVNCクリップボード(1つだけ)で、Windowsクリップボードがあります。 (X11で実行されているvncビューアを使用している場合、状況はより複雑になりますが、これを考えれば意味があります。)VNCクリップボードは、他のクリップボードのさまざまな更新を追跡して最新の状態に保つという点で特別です。日にち。プライマリクリップボードを無視すると、最近更新されたクリップボードが他のすべてのクリップボードにコピーされるという点で、これはかなり単純です。課題は、プライマリクリップボードの望ましい動作が明確に定義されていないことです。さまざまなvnc実装の次の動作を見てきました:

  1. プライマリを無視し、クリップボードのみを使用します。
  2. クリップボードを無視し、プライマリのみを使用します。
  3. UNIXからUNIXへのコピーには最新のものを使用し、WindowsからUNIXへのコピーには両方にコピーします。
  4. 賢くする:クリップボードが使用されるまでプライマリを使用し、その後クリップボードのみを使用します。
  5. 賢くする:クリップボードが変更されるまでプライマリを使用し、ウィンドウから変更が生じるまでプライマリを無視し、次に変更されたものを使用し、クリップボードの使用後に再びプライマリを無視します。
  6. さらに賢くなるようにしてください。 (私は彼らがこれで何をしようとしているのか理解できませんでしたが、通常は正しいことをしました)
関連:aptロックを保持しているプロセスを強制終了する方法は?

次はツールです。クリップボードの問題をデバッグするために不可欠だと思うツールは2つあります。テキストエディタ(メモ帳はこれに適しています)とxclipです。 Windowsのクリップボードビューアは便利ですが、必須ではありません。

手順:トラブルシューティングしているグループ内の各アプリケーションから、アクセス可能な3つのクリップボードすべてのステータスを確認するテキストを選択してコピーします。 (vncクリップボードは直接表示するのが非常に難しく、通常はデータを保存せず、メタデータのみを保存するため、直接有用ではありません。)次の質問に答えてください。各アプリケーションはどのクリップボードを使用しますか?それらはどのような順序で使用されますか?

うまくいけば、これはあなたが始めるのに十分な情報です。


Linux
  1. Windows 10にVim(vi)をインストールする方法

  2. Windowsの低ディスク診断

  3. Ubuntu 19.04 :vim を構成する

  1. クリップボードに連結しますか?

  2. VIM (gvim) でインテリセンスを有効にする方法

  3. 変更されていないクリップボードの内容

  1. バニラヴィムは楽しいです

  2. Vi を Vi に置き換える

  3. クリップボードから nano に貼り付けるには?