LoginSignup
3
1

More than 5 years have passed since last update.

Cygwin (mintty) でサーバ上で実行しているtmuxからマウス選択範囲をコピー

Last updated at Posted at 2017-10-30

結論

mintty >= 2.6.1 (2016/09/20 リリース) を利用して、

  • /etc/minttyrc
  • $APPDATA/mintty/config
  • ~/.config/mintty/config
  • ~/.minttyrc

のどれかに

AllowSetSelection=yes

を記載する (Win7 + mintty 2.7.6 で動作)

背景

ローカルマシン (Cygwin(mintty)) から ssh で作業用&踏み台サーバにアクセス
→ tmux を起動し各種サーバへログインしている環境で、
表示されている内容をマウスで選択 (or 選択モードで選択) してクリップポードに入れたいと常々思っていました。

検索すると、 ローカルマシンで tmux を実行している場合は putclip とかを tmux の copy-pipe に渡す等の解決策がたくさん見つかりました。 しかし、 サーバで実行している場合はXの機能を使ったりやローカルマシンで tcp で待ち受けしているサーバプログラムを立ち上げて ssh 経由で流し込んでクリップポードに.. 等の中々環境が一般的でなかったり、 大変そうな方法で解決されていました。 (日本語で検索する限り)

OSC 52 というターミナルエミュレータの制御コードに対応していれば簡単にやりたいことが実現できるようです。 mintty >= 2.6.1 であれば、 AllowSetSelection=yes を設定することができるようになっています。
前述した記事は2016/09以前に書かれていたもので、 かつ AllowSetSelection mintty 等で調べても日本語の記事が見つからなかった(2017/10現在)のでこの記事を書いています。

Allow control sequence to set selection (AllowSetSelection=false)
If enabled, the terminal control sequence OSC 52 is allowed to set the clipboard selection for pasting (using base64-encoded contents, like xterm).

このコンフィグはGUIの設定項目には無く、 コンフィグファイルに記載する必要があります。 (デフォルトは false )

コンフィグファイルを変更すると、 マウスで選択するだけで、 ペインをまたがる事もなくローカルマシンのクリップポードに内容が反映されました。

良い Cygwin ライフを!


:thinking: .。o(私は今だいぶ歓喜しているのですが、 実はみなさんこれ特に困ってないんですかね??何か私が見落としている...??)

3
1
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
3
1