ScreenX TV を使ってライブコーディングを配信する


[![Screenshot](https://raw.github.com/screenxtv/screenxtv-gcc-client/master/images/ss-screenxtv.png)](http://screenx.tv)

[ScreenX TV](http://screenx.tv/) は、あなたのターミナル画面を配信するためのウェブサービスです。ハッカソンの中継や講義/勉強会の配信、また、ペアコードリーディングなどの場面で活用することができます。

## 1. 配信の準備

ScreenX TV の配信ツールをインストールすることで、いつでもターミナルを配信することができるようになります。配信ツールには、Ruby版とGCC版の２つがあります。いずれの配信ツールにおいても、[screen コマンド](http://www.gnu.org/software/screen/)をインストールしておく必要があります。

### Screen コマンドのインストール方法
- Mac OS X: `brew install screen`
- Linux (Ubuntu or Debian): `sudo aptitude install screen`
- Windows: Cygwin 上で [Screen コマンド](http://directory.fsf.org/wiki/Screen) をインストールする。

### Ruby版配信ツールのインストール方法（推奨）
0. [Ruby 1.9.3](http://www.ruby-lang.org/ja/downloads/)（またはそれ以上）と [RubyGems](http://rubygems.org/pages/download) をインストールします。
1. RubyGems を使って `screenxtv` コマンドをインストールします。

    `gem install screenxtv`

2. 以後、`screenxtv` コマンドを実行することで、ターミナルを配信することができます。

### GCC版配信ツールのインストール方法（Ruby版が動かないとき用）

1. 配信ツールのソースコードを GitHub からダウンロードします。

    `git clone https://github.com/screenxtv/screenxtv-gcc-client.git`

2. ダウンロードしたソースコードへ移動し、コンパイルします。

    `cd screenxtv-gcc-client`

    `make`

3. 以後、配信ツールを起動することで、ターミナルを配信することができます。

    `./screenxtv-gcc-client`


## 2. 配信の開始

1. 配信ツールを起動します。
   - Ruby版： `screenxtv`
   - GCC版：  `./screenxtv-gcc-client`

2. 必要な項目（配信URL、タイトルなど）を入力してします。

    ![ss-start](https://raw.github.com/screenxtv/screenxtv-gcc-client/master/images/ss-start.png)

3. 最後に Enter キーを押すと、配信が開始されます。


## 3. 配信の停止／再開

1. Screen のセッションから `exit` することで、配信を停止することができます。

    NOTE: `exit` してから__10分以内__であれば、いつでも配信を再開することができます。

    ![ss-stop](https://raw.github.com/screenxtv/screenxtv-gcc-client/master/images/ss-stop.png)
   
2. 再び配信を開始したい場合は、再度配信ツールを起動して下さい。
   
    ![ss-resume](https://raw.github.com/screenxtv/screenxtv-gcc-client/master/images/ss-resume.png)

## プライベート配信（Ruby版配信ツール専用機能）

また、最新のRuby版配信ツール (ver. 0.0.9) からは、-p オプションでプライベート配信が出来るようになりました。詳細は --help または次の Usage を参照してください。

```
Usage: 
  screenxtv [options]

Options:
    -u, [--url]		# Select a url (e.g. yasulab, tompng)
    -c, [--color]	# Select a color (options: black/white/green/novel)
    -t, [--title]	# Select a title (e.g. Joe's Codestream)
    -r, [--reset]	# Reset your default configuration (e.g. url, color, title)
    -f CONFIG_FILE	# Path to a preset configuration 
    -p, [--private]	# Broadcast your terminal privately (anyone who has the link can access)
    -h, [--help]	# Show this help message and quit
    -v, [--version]	# Show ScreenX TV Ruby Client version number and quit
```

## 独自URL／ログ機能

他にも、ユーザアカウントを作ることで、独自のURL（他の配信者には使えないURL）を取得したり、配信中のコメントのログを残したりすることができます。

![user-account](https://raw.github.com/screenxtv/screenxtv-gcc-client/master/images/user-account.png)

## 欲しい機能や要望などがありましたら

次項のレポジトリから issue を作成したり、 pull request を送ってください :-)

### サンプル
![issue](https://raw.github.com/screenxtv/screenxtv-gcc-client/master/images/issue.png)

## レポジトリ・記事など.

- [ScreenX TV Document](http://screenx.tv/doc/howto)
- [ScreenX TV Ruby Client](https://github.com/screenxtv/screenxtv-ruby-client)
- [ScreenX TV GCC Client](https://github.com/screenxtv/screenxtv-gcc-client)
- [ScreenX TV vs Codestre.am](http://joequery.me/code/screenx-tv-first-impressions/)（英語記事）
- [中の人達による中の解説動画](http://blog.yasulab.jp/2013/02/screenx-tv-ruby.html)
- [ScreenX TV を使った合同 Ruby 勉強会＠沖縄](http://www.facebook.com/media/set/?set=a.10151285258565869.466754.715330868&type=1&l=3e12682623)