Mac
tmux

リモートから作業中のセッションに接続し、共同作業してもらう方法

More than 5 years have passed since last update.

リモートから同じセッションに接続することにより、ペアコーディングやインフラ作業などの共同作業が捗ります。席を移動したりする手間とか、使い慣れないキーボードの操作ともおさらばです。

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のリモートログインを不可するとか、パスワード変更しておいてください。


おわり

今回は、自分の作業マシンでの共同作業を想定しましたが、お互いがログイン可能なサーバー上での利用の方が、より一般的かと思います。他にも、色々と使い方を工夫してみて頂けると幸いです!