Windows Subsystem for Linux 2 (WSL2) 上の Ubuntu 18.04 にて、Vim でクリップボード連携を行う方法について説明します。
また、こちらの記事はほぼ Gist にあげた記事の翻訳です。
環境
- Windows 10 Home
- Ubuntu 18.04 on Windows Subsystem for Linux 2 (WSL2)
手順
- Vim をクリップボードオプションを有効にしてビルド
- VcXsrv Windows X Serverをセットアップ
- VcXsrv に WSL2 上の Ubuntu から接続
Vim をクリップボードオプションを有効にしてビルド
まずは Vim のクリップボードオプションを有効にしてビルドするのに必要なライブラリを導入します。
sudo apt install ncurses-dev libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev
全部のライブラリが必要なわけではないので、不要なものは好きに削除してください。
個人的に色々と予め有効化しておきたいので、ガッツリ入れてしまっています。
そして Vim を公式ガイドに従いビルドします。
cd /usr/local/src
sudo git clone https://github.com/vim/vim.git
cd vim/src
sudo make distclean # if you build Vim beforesudo make
sudo make install
2. VcXsrv Windows X Server をセットアップ
VcXsrv Windows X Serverをダウンロードし、XLaunch を以下のオプションで起動します。
- Multiple windows (default)
- Start no client (default)
- Extra settings
- Clipboard (default)
- Primary Selection (default)
- Native opengl (default)
- Disable access control
基本的には、全ての Extra settings を有効化し、残りはデフォルトといった感じです。
最後に Save configuration ボタンをクリックし、C:\Users\<USER NAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
に設定を保存し、Windows 起動時に VcXsrv が立ち上がるようにします。
3. VcXsrv に WSL2 上の Ubuntu から接続
WSL2 上の Ubuntu に再度ログインし、環境変数 DISPLAY
を設定します。
LOCAL_IP=$(cat /etc/resolv.conf | grep nameserver | awk'{print $2}')export DISPLAY=$LOCAL_IP:0
以上です!