LoginSignup
5
3

More than 5 years have passed since last update.

Bash on Ubuntu on WindowsとWindowsでクリップボード共有っぽいことする

Last updated at Posted at 2017-05-07

初投稿です.既出だったら許してください.

Windows10は2017年4月11日にCreators Updateが配信されました.
そこで新しく追加された機能の中に「Windowsアプリケーションとの相互運用」があります.

今回はこれを利用して,Bash on Ubuntu on Windows(以下BoW)とWindowsとのクリップボード共有まがいのことをしてみようと思います.

準備

Windows10側での準備

まずはWindows10でのCreators Updateを行ってください.

そのあとghuntley/pasteboardreleasesから「pasteboard-v1.1.0.zip」をダウンロードしてください.この中の pbpaste.exe を使います.

ダウンロードし,展開したフォルダpasteboard-v1.1.0pasteboard にリネームした後,任意の場所に移動,コピーして環境変数にpasteboard-v1.1.0 までのパスを追加します.

ここでは C:\app\pasteboard を環境変数に追加しました.

コマンドプロンプトでpbpaste と打って動くか確認したら準備は終了です.

BoW側での準備

改行コードや文字コードの変換に必要なnkf をインストールします.

sudo apt-get install nkf でインストール出来ます.Linuxはコマンド一つでインストール出来てとても楽ですね.

nkf --help と打ってヘルプが表示されたら準備は終了です.

作業

さぁ,実際に使うための作業をしましょう.

BoWを起動し,vim ~/.bashrc などで.bashrc を開きます.

ここに以下のコードを追加してください.

.bashrc
alias wcopy='clip.exe'
alias wpaste='pbpaste.exe'

保存して,source ~/.bashrc するかBoWを再起動してください.

使ってみる

windowsで適当なテキストファイルを作りましょう.ここではデスクトップにhoge.txt を作ってみます.

hoge.txt
ばっしゅおんうぶんつおんうぃんどうず

ぽよよ

BoWで/mnt/c/Users/{Windowsのユーザ名}/Desktop に移動します.

cat hoge.txt | wcopy と入力するとコピーが出来ます.

その後pbpaste と打つとターミナルにコピーした内容が表示されますが,文字化けしていると思います.そこで間にnkf をはさみ,文字コードを変換してからコピーするようにします.

nkf -w hoge.txt | wcopy

(ちなみに,ここで改行コードをLFに変換してもclip.exe の仕様のせいかCRLFになってしまうっぽいのでwpaste したあとに改行コードを変換する必要があります)

wpaste で確認すると文字化けが解消されているかと思います.

また wpaste > out.txt とすることで wpaste の内容をout.txt に保存することが出来ます.

使い方まとめ

  • cat ファイル名 | wcopy でコピー
    • 文字コード問題はnkf -w ファイル名 | wcopy で解決
  • wpaste でコピーした内容が見れる
    • wpaste > ファイル名 でファイルに出力できる

以上でクリップボード共有まがいを実現する計画は完了です.

もし何かあったら,コメントかTwitterでリプしてくださると助かります.

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3