リモートから同じセッションに接続することにより、ペアコーディングやインフラ作業などの共同作業が捗ります。__席を移動したりする手間__とか、__使い慣れないキーボードの操作__ともおさらばです。
wemuxを活用し、単一コンソールの複数人操作を実現します。例えば、誰かが文字を打ちこめば、もう一方のコンソールでも同じように表示されますし、逆向きも同様といった感じです。お互いに声をかけあって作業しないと、しっちゃかめっちゃかになります(笑)。
操作自体は、普段のコンソール作業と何ら変わりありません(tmuxのキーバインドが有効です)。
wemux
https://github.com/zolrath/wemux
リモートからの作業用アカウント作成
システム環境設定 - ユーザとグループ
の画面より、新しくwemux-guestなどリモートユーザを作ります。
次に、wemux-guestでログインしなおしたあと、
システム環境設定 - 共有
の画面より、リモートログインにチェックを付けます。これにより、外部からのssh接続が可能となります。
wemuxをインストール
$ brew install https://github.com/downloads/zolrath/wemux/wemux.rb
$ wemux conf
host_list=(hoge)
hogeさん(ホスト)のマシンでfugaさん(リモート)に共同作業してもらう
####hogeさんの作業
hoge $ wemux
(wemuxのセッションに移行します)
####fugaさんの作業
hogeさんマシンのIPやwemux-guestのパスワードは予め教えてもらっておきます。
fuga $ ssh wemux-guest@192.168.xx.xx
wemux-guest $ wemux attach
(wemuxのセッションに移行します)
hoge $
これで共同作業を行うことが出来ます。何か文字を打ってみてください。相手の画面上にも表示されているはずです。
作業を終えたとき
tmux同様 "Ctrl+b d" して、自らデタッチしてもらうか、wemux外のセッションにおいて、
hoge $ wemux kick wemux-guest
で追い出すことも出来ます。
使い終わったあとは、適宜wemux-userのリモートログインを不可するとか、パスワード変更しておいてください。
###おわり
今回は、自分の作業マシンでの共同作業を想定しましたが、お互いがログイン可能なサーバー上での利用の方が、より一般的かと思います。他にも、色々と使い方を工夫してみて頂けると幸いです!