背景
手元のMacBookPro上にtmuxを導入してクリップボード共有する記事はよく出てくる。 しかし、自分の場合VPS上で作業することが多いので、VPS上に環境構築をしたいと考えた。 (出先や、違うPCから作業することもあるため、手元のマシンに構築するのが面倒だった。) VPS上のCentOS7上にtmux2.5を導入した上でローカルマシンとクリップボードの共有しようとしたが、 意外と記事がなくハマったので記事として残しておこうと思う。
前提条件
ローカルマシン | MacBookPro |
---|---|
リモートマシン | CentOS7.3 |
tmux | 2.5 |
※tmuxはすでに導入済みとする
手順
リモートマシン CentOS側
xsel をインストールする
$ sudo yum install -y xsel --enablerepo=epel
ssh して使うのでsshの設定を編集
$ vim /etc/ssh/sshd_config X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes
のようにしておく
sshd リスタート
$ sudo systemctrl restart sshd
tmuxから使えるように設定する
$ vim .tmux.conf bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel “xsel -ib”
ローカルマシン Mac側
x11 接続するために xquartz
をインストール
$ brew update $ brew cask install xquartz
インストール後 Mac再起動する(しないと環境変数DISPLAYがセットされない)
Xauthの作成
$ open /Applications/Utilities/XQuartz.app # ~/.Xauthorityを作成してくれます
xhostに追加
$ sudo xhost your.server.name
動作確認
リモートマシンにログインして動作確認する。
リモート→ローカル
$ cat /etc/redhat-release | xsel -bi
実行後にローカルマシンで貼り付けして CentOS Linux release 7.3.1611 (Core)
のように出ていれば問題ない
ローカル→リモート
ローカルで適当なものをコピーしてリモートで xsel -bo
でコピーしたものが出力されていれば問題ない
tmuxで使う
上記の手順でtmuxの設定もしてあるので、そのままtmux上のキーバインドでコピペできます。
※tmuxの設定再読み込みしておくことをお忘れなく
お疲れ様でした。