複数のシェルの画面をWebサイトからリアルタイムで見れるようにする何かです。
プログラミング系の勉強会で、コードに関して議論するときにプロジェクタのコネクタを差し替えるのが面倒だから作りました。
やっていることは単純で、tmuxのpipe-paneを使ってシェルの操作をファイルに書きだし、それをPythonスクリプトで監視して転送しています。
サーバーと発表者の間はWebSocketを用いて転送しています。
内部的なプロトコルはVSShareとほぼ同様のものを使っています。(つまり将来的にはVSShareでホストできるようにしたい)
- WebSocketのハブ役
- Python 2.7
packages_requirements.txt
をpip install
にかけてください。
必要なら./install.sh
を実行することで、自動的にvirtualenvを作って、その中に環境構築を行ってくれます。
server.py
を実行します。
install.sh
を使った場合には、server
ディレクトリ内にenv
ディレクトリ(virtualenv)を読み込んでから実行してください。
source server/env/bin/activate
- 発表する側(シェルの画面を共有する側)
- Python 2.7
- tmux
./install.sh
を実行することで、自動的にvirtualenvを作って、その中に環境構築を行ってくれます。
もし手動でインストールを行いたい場合には、packages_requirements.txt
をpip install
にかけてください。
なお、その場合にはrun.sh
の中で、自動的にvirtualenvを読み込むようにしているので、その行を削除するか、パスを変更してください。
./run.sh [UserName]
を実行します。
- 例:
./run.sh igarashi
- シェアされているコードを見る側
- (環境構築時のみ)npm
./setup.sh
を実行することで、自動的に環境構築を行ってくれます。
置くだけです。