ターミナル好きに送るCUIなIRCクライアント環境のススメ for Windows (WeeChat + Growl for Windows)

ターミナル好きの皆さんこんにちわ。ところでIRCのクライアントって何使ってますか?

WindowsのIRCクライアントとしてはGUIのLimeChatがメジャーですが、今日はちょっと嗜好を変えたIRCクライアント環境を紹介します。

概要

for Windowsと言いつつ、いきなり外部のLinux Boxに依存した形になってますが、概要としてはこんな感じです。

   Windows                   Linux Box
+-----------+             +--------------+
|           |     ssh     |              |            
|           | ----------> |  +---------+ |           +------------+
|           |             |  | WeeChat | ----------> | IRC server |
|           |             |  +---------+ |           +------------+
| +-------+ |             |      |       |
| | Growl | <--------------------+       | 
| +-------+ |    notify   |              |
+-----------+             +--------------+
  1. WindowsクライアントからLinux BoxにsshログインしてWeeChatを実行
  2. WeeChatの機能拡張を利用した通知が送られる
  3. WindowsクライアントGrowlが通知を受け取りデスクトップ通知

WeeChat

WeeChatはCUIのIRCクライアントです。ターミナルで過ごす時間の長いアタナにうってつけ、あと何か見た目で少しだけ”出来るヤツ感”も味わるかもしれません。

同じCUIなIRCクライアントとしてはIrrsiがありますが、WeeChatの方がデフォルトの設定でもそこそこ使い勝手がよいのとPerl, Python, Ruby, Luaなどによる機能拡張が可能なのが魅力です。

インストール

RedHat系だったらyum install weechat(FC16だと今日現在で0.3.5), Debian系だったらapt-get install weechat(Ubuntu 11.10も今日現在で0.3.5)でインストールされます。

設定

起動はweechat-cursesです。起動直後はまだ何も設定されていないので順次設定をしていきます。quickstart通りにやればそんなにハマらないはずです。

サーバー追加

  • /server add foovar irc.foovar.net/6668 -ssl -autoconnect

irc.foovar.netというホストの6668ポートへの接続をfoovarという設定名で保存しています。-ssl, -autoconnectはそれぞれssl接続と、weechat起動時に自動的に接続するオプションです。

ユーザー設定

サーバーの接続設定ごとにユーザー情報の設定が行えます。

ニックネーム設定

  • /set irc.server.foovar.nicks "mynick1,mynick2,mynick3,mynick4,mynick5"

ユーザー名と実名設定

  • /set irc.server.foovar.username "My user name"
  • /set irc.server.foovar.realname "My real name"

利用のtips

設定が済んだら/connect foovarでサーバーに接続し、/join #channel1でチャンネルへjoin。困ったときは/helpすれば大体分かります。以下はこれやっておく・憶えておくと便利かもというもの。

  • チャンネル移動
    • /buffer #channel2で#channel2に移動
    • /alias b /bufferなaliasしておくと/b #channel2でも同じ動きに
    • joinしている各チャンネルの未読を見て回るならAlt-a
  • キーワード登録
    • /set weechat.looks.highlight "word1,word2,word3"でキーワード設定
  • join, quitを表示しない
    • /set irc.look.smart_filter onしてから/filter add irc_smart * irc_smart_filter *

Growl for Windows

これでWeeChatを利用出来る環境は整いましたが、LimeChatにあるようなポップアップ通知が無いため、キーワードやtalkに気付きにくいという欠点があります。そこでMacの通知ツールで有名なGrowlのWindows版をインストールして、WeeChatからの通知をデスクトップ表示出来るようにします。

インストール

Growl for Windowsからダウンロード。インストーラが付いてるので素直にインストール。

設定

  • Securityタブ
    • Allow network notificationsをチェック
    • WeeChatからの通知を受け入れる為のパスワードを設定

weechat-growl

続いてWeeChat側にGrowl通知を行う拡張を追加します。今回はPythonのweechat-growlを利用しました。

gntp

weechat-growlがGrowl Network Transport Protocol (GNTP)のバインディングを利用してるのでそれをpipでインストール。

sudo pip install gntp

weechat-growl

インストール

git clone https://github.com/sorin-ionescu/weechat-growl.git
cp weechat-growl/growl.py ~/.weechat/python/autoload/
cp weechat-growl/icon.png ~/.weechat/

設定

weechatで以下のコマンド

  • /set plugins.var.python.growl.hostname 192.168.X.XでGrowlが動いている自分のWindowsホストまたはIPを指定
  • /set plugins.var.python.growl.password foovarbuzzでGrowl側で設定したパスワードを指定
  • /python load growl.pyで拡張をロード

これで通知が来るようになります。growl.pyを見れば細かな通知の項目が分かりますので必要に応じて適宜設定します。デフォルトでもそこそこいい感じです。

まとめとか補足

WeeChatとGrowl for Windowsを利用した、WindowsでのCUIなIRCクライアント環境を紹介しました。

自分はtmuxを使ってるのですが、ターミナルマルチプレクサとの組み合わせれがこれまたよくて、windowもしくはpaneの一つをWeeChatに割り当てておくと、別作業と並行してIRCが見れたり、それぞれの行き来もマウス要らずなのがかなり重宝しています。

繰り返し、今回はfor Windowsと言いつつ別ホストのLinux Boxに依存した形になっていますが、CygwinがあればWeeChat cygwinもありますし、MacでもhomebrewでWeeChatがインストール出来ますので、weechat-growlの通知先ホストを自身(localhost)にする変更だけで、両方とも同じ方法でいけそうな感じです。試してないけど!

ということで Enjoy IRC !