web-dev-qa-db-ja.com

Mac OSXクリップボードを内部Xサーバーと共有する

ネイティブ(Cocoa?)MacOSXアプリとMacの内部Xサーバーで実行されているアプリの間でコピーアンドペーストできるようにしたいと思います。

現在、個別にコピーして貼り付けることができます。 xtermウィンドウでテキストを選択すると、他のXベースのウィンドウに貼り付けることができます。同様に、Xの外部にある情報をコピーすると、Xの外部にあるアプリケーションに貼り付けることができます。

例として、私が(正確にこの順序で):

  • Xtermウィンドウで「X選択を使用してコピー」をコピー(マウスを使用して選択)
  • Firefoxの「Firefoxのテキスト」をコピー(編集|コピー)
  • Nanoに貼り付け(Shift Insert xmodmap)「X選択を使用してコピー」を取得
  • ここに貼り付け(編集|貼り付け)-> Firefoxのテキスト
  • MacVIMに貼り付け(編集|貼り付け)「Firefoxのテキスト」が表示されます
  • / usr/bin/vimに貼り付けます(グラフィカルではありません)「X選択を使用してコピー」が表示されます

XとCocoaの間で「クリップボード共有」を有効にするにはどうすればよいですか?

Xに貼り付けるために使用しているxmodmapは次のとおりです。

xmodmap -e "keycode 84 = Insert"

ここで、84はテンキーのEnterキーです。したがって、ShiftEnterを押すと貼り付けられます。

21
kwutchak

~/Library/Preferences/org.x.X11.plistを編集し、次の5つのブールキーを追加することでクリップボードの同期を有​​効にできます 1 (そしてそれらをチェックします)。

sync_clipboard_to_pasteboard
sync_pasteboard
sync_pasteboard_to_clipboard
sync_pasteboard_to_primary
sync_primary_on_select

X11を再起動すると、正しく同期されているはずです。

編集:プロパティリストエディタまたは次のターミナルコマンドを使用して、キーを追加できます。

defaults write org.x.X11 sync_clipboard_to_pasteboard -boolean true
defaults write org.x.X11 sync_pasteboard -boolean true
defaults write org.x.X11 sync_pasteboard_to_clipboard -boolean true
defaults write org.x.X11 sync_pasteboard_to_primary -boolean true
defaults write org.x.X11 sync_primary_on_select -boolean true

別の解決策は、 XQuartzの最新バージョン をインストールすることです。これにより、X11環境設定>>ペーストボードパネルからこれらのオプションが公開されます。

14
jtb

Vim-7.3を再コンパイルして、.vimrcに以下を追加することもできます。

set clipboard=unnamed

次に、vimで「yy」を実行し、Cmd + Vを使用してCocoaに貼り付けることができます。逆もまた同様です。CocoaでCmd + Vを使用してコピーし、「p」を使用してvimに貼り付けます。

2
user47498