web-dev-qa-db-ja.com

OSXのLinux用pbcopyのようなものです

OSXの端末では、出力をpbcopyにパイプ処理してからWebブラウザに移動して貼り付けることができます。私はxcopyを使ってLinuxでこれを試したが、ブラウザに切り替えると、ブラウザが最後に使われたときにクリップボードを上書きしてしまった。 Linuxのpbcopyのようなものは何ですか?

135
tony_sid

xがインストールされているなら、xselを試してみてください。

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

またはxclipの場合:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

今すぐあなたが使用することができます:

echo 'go to my clipboard' | pbcopy

私がXを持っていないとき、私はキーボードを使ってセッションで開いているシェルの間でコピーするためにGNUスクリーン機能を使います

コピーする:Ctrl-a -> Esc -> go to wanted position * -> Space (to begin selecting) -> press k to go forward mark text -> Enter

貼り付ける方法:Ctrl-a + ]

*動きはvimのようなキー割り当て(j、k、l&m)で行われます。

158
amized

このようなpbcopyというスクリプトをbinフォルダに入れます。

#!/bin/bash
xclip -i -sel c -f |xclip -i -sel p

これはあなたの選択バッファとクリップボードの両方にSTDINを入れます:

echo Hello world |pbcopy
9
Erik

@Erikと@xpixelzのソリューションを拡張する。これら2つのスクリプトは両方のプラットフォームで動作するはずです。

pbcopy:

#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
  cat | /usr/bin/pbcopy
else
  # copy to selection buffer AND clipboard
  cat | xclip -i -sel c -f | xclip -i -sel p
fi

pbpaste:

#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
  /usr/bin/pbpaste
else
  xclip -selection clipboard -o
fi
5
Wes Turner

この回答は、Windows用のLinuxサブシステムに関するものです。

簡単な答え:Windowsのクリップボードに何かを置くために、clip.exepbcopyのように使用します。魔法です。 bashまたはUbuntuのbash端末でecho "Hello Windows" | clip.exeを、次にWindowsプログラムで `ctrl-v 'を使用してください。

より多くの文脈:

上記の コメント で、この機能を有効にするためにWindows上でXmingを使用する場合、DISPLAY変数(export DISPLAY=:0、多くの場合)を設定する必要があると述べました。 xselおよびxclip解決策が機能する前に)。不愉快なことに、このソリューションは信頼できない確率的な方法で機能します - LinuxからWindowsに貼り付けるときにctrl-vを1回から10回押すと(1回)クリップボードが貼り付けられます(これは私のWindows 10 Surface Book 2です)。あなたの時間を無駄にしないで、clip.exeを使ってください。

注:.exeを忘れないでください。そうでなければUbuntu bashはあなたが望んでいるものではないLinuxパッケージgeomviewをインストールすることを提案するでしょう。

2
scottgwald