Rainbow Stream – Linux向け高機能コマンドラインTwitterクライアントの使い方
Rainbow Streamは、MITライセンスで公開されている、Linuxコマンドライン向けの無料・オープンソースのTwitterクライアントです。リアルタイムのツイートストリーム表示、ツイートの投稿、検索、お気に入り登録などが可能で、Pythonで開発され、Twitter APIとPython Twitter Toolを基盤として構築されています。このアプリケーションをコンソールで実行するには、Pythonおよびpip(バージョン2.7.xまたは3.x)がインストールされている必要があります。
Rainbow Streamの主な特徴
- Linuxコマンドライン向けの無料・オープンソースTwitterクライアント
- ターミナル上でTwitterの画像を表示可能
- プロキシ接続に対応
- インタラクティブモードをサポート
- テーマのカスタマイズが可能
- リアルタイムのTwitterストリームを表示
- ターミナルから直接ツイート・検索・お気に入り登録ができる
LinuxへのRainbow Streamのインストール手順
Rainbow Streamをインストールする前に、まず以下のコマンドでPythonがインストールされているか、そのバージョンを確認しましょう。
$ python --version
出力例:
Python 2.7.11+
次に、python-pipパッケージを以下のコマンドでインストールします。
$ sudo apt-get install python-pip
実行すると、依存パッケージ(libexpat1-dev、libpython-dev、python-setuptoolsなど)が一覧表示され、続行するかどうか尋ねられます。「y」を入力してEnterキーを押せばインストールが開始されます。
インストール後、pipのバージョンを以下のコマンドで確認できます。
$ pip --version
出力例:
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
準備が整ったら、以下のコマンドでRainbow Streamをインストールします。Pythonのバージョンに応じてコマンドを使い分けてください。
# pip install rainbowstream [Python 2.7.xの場合] # pip3 install rainbowstream [Python 3.xの場合]
実行すると、rainbowstream本体に加え、python-dateutil、arrow、requests、pyfiglet、twitter、Pillow、PySocksなどの依存パッケージが自動的にダウンロード・ビルドされます。
なお、古い環境ではPillowのビルド時にエラーが発生することがあります。その場合は、事前に画像処理用の開発ライブラリを導入しておくと解決する場合があります。
$ sudo apt-get install libjpeg-dev zlib1g-dev
ヘルプの確認方法
Rainbow Streamのヘルプを表示するには、以下のコマンドを使用します。
$ rainbowstream -h
出力例:
usage: rainbowstream [-h] [-s STREAM] [-to TIMEOUT] [-tt TRACK_KEYWORDS] [-fil FILTER] [-ig IGNORE] [-iot] [-24] [-ph PROXY_HOST] [-pp PROXY_PORT] [-pt PROXY_TYPE] optional arguments: -h, --help show this help message and exit -s STREAM, --stream STREAM Default stream after program start. (Default: mine) -to TIMEOUT, --timeout TIMEOUT Timeout for the stream (seconds). -tt TRACK_KEYWORDS, --track-keywords TRACK_KEYWORDS Search the stream for specific text. -fil FILTER, --filter FILTER Filter specific screen_name. -ig IGNORE, --ignore IGNORE Ignore specific screen_name. -iot, --image-on-term Display all image on terminal. -24, --color-24bit Display images using 24bit color codes. -ph PROXY_HOST, --proxy-host PROXY_HOST Use HTTP/SOCKS proxy for network connections. -pp PROXY_PORT, --proxy-port PROXY_PORT HTTP/SOCKS proxy port (Default: 8080). -pt PROXY_TYPE, --proxy-type PROXY_TYPE Proxy type (HTTP, SOCKS4, SOCKS5; Default: SOCKS5).
Rainbow Streamの基本的な使い方
Rainbow Streamを起動するには、以下のコマンドを実行します。
$ rainbowstream
コマンドを実行すると、認証画面が表示されます。自分のアカウント情報でログインするとPINコードが発行されます。すでにブラウザでTwitterにログイン済みの場合は、すぐにPINが表示されます。
表示されたPINをWebブラウザからコピーし、ターミナルに貼り付けてEnterキーを押してください。
You are running latest version (1.3.3) Hi there! We're gonna get you all set up to use Rainbow Stream. In the web browser window that opens please choose to Allow access. Copy the PIN number that appears on the next page and paste or type it here: Opening: https://api.twitter.com/oauth/authorize?oauth_token=AB-78QAAAAAAXZ0wAAABVGBoQvQ Please enter the PIN: ******* That's it! Your authorization keys have been written to /root/.rainbow_oauth.
認証が完了すると、ASCIIアートのロゴとともにクライアントが起動し、ホームタイムラインのツイートがリアルタイムに表示されます。
[@kittuprasad700]: Girish Johar @girishjohar 2016/04/29 10:44:34 ₪:0 ♥:0 id:0 via Twitter for Android Right time finally ... Wishing you a Very Happy Birthday @shiekhspear 😁😁👏👍 Zoom TV @ZoomTV 2016/04/29 10:45:03 ₪:0 ♥:0 id:1 via TweetDeck .@BeingSalmanKhan will bring visibility to Rio Olympics says @SGanguly99 https://t.co/cfG0KnxJqW
トレンドの表示
トレンドを表示するには、以下のように入力します。
[twittername]: trend
フォロワーリストの取得
フォロワーの一覧を取得するには、次のコマンドを使用します。
[twittername]: ls fl
ヘルプの表示
利用可能なコマンドの一覧を確認するには、「h」と入力します。
[twittername]: h
出力例:
Hi boss! I'm ready to serve you right now!
-----------------------------------------------------------------------------
You are already on your personal stream.
Any update from Twitter will show up immediately.
In addition, following commands are available right now:
♪ Twitter help
h discover will show help for discover commands.
h tweets will show help for tweets commands.
h messages will show help for messages commands.
h friends_and_followers will show help for friends and followers commands.
h list will show help for list commands.
h stream will show help for stream commands.
♪ Smart shell
111111 * 9 / 7 or any math expression will be evaluate by Python interpreter.
Even cal will show the calendar for current month.
♪ Config
theme will list available theme. theme monokai will apply monokai theme immediately.
config will list all config.
config ASCII_ART will output current value of ASCII_ART config key.
config TREND_MAX default will output default value of TREND_MAX config key.
config CUSTOM_CONFIG drop will drop CUSTOM_CONFIG config key.
config IMAGE_ON_TERM = true will set value of IMAGE_ON_TERM config key to True.
♪ Screening
h will show this help again.
p will pause the stream.
r will unpause the stream.
c will clear the screen.
v will show version info.
q will quit.
-----------------------------------------------------------------------------
Have fun and hang tight!
このヘルプからも分かるように、Rainbow Streamでは「theme monokai」のようなコマンドでテーマを即座に変更したり、数式をPythonインタプリタで評価したりと、多彩な操作が可能です。
Rainbow Streamの終了方法
Rainbow Streamを終了するには、以下のコマンドを入力します。
[twittername]: q
出力例:
See you next time :)
まとめ
この記事では、UbuntuにおけるRainbow Streamのインストール方法と基本的な使い方を解説しました。ターミナルだけでTwitterの閲覧や投稿が完結するため、キーボード中心で作業をする開発者にとって非常に便利なツールです。
注意: 近年のTwitter(X)のAPI仕様変更により、本ツールが現在の環境で正常に動作しない場合があります。あらかじめご了承ください。
今後もLinuxに関する便利なトリックやTipsを紹介していきますので、ぜひ引き続きご覧ください!
-
Fish – Linux向けのスマートで使いやすいインタラクティブシェル
Fish(Friendly Interactive Shell)は、UNIXおよびUNIX系オペレーティングシステム向けのシェルです。数々の便利な改善が施された、独自性と革新性にあふれるコマンドライン環境を提供します。FishはbashやZshなど他のシェルと共存して動作するよう設計されており、多くのシェルがプロセスリソースを節約するために一部の機能をデフォルトで無効化しているのとは対照的に、Fishはすべての機能を最初から有効にし、その性能を最大限に引き出せるようになっています。 Fishの主な特徴 ユーザーフレンドリーなインタラクティブシェル 強力な機能を多数搭載 Webブラウザベース
-
MacのTime Machineに匹敵する?Linuxで使えるおすすめバックアップツール4選
Appleの「Time Machine」がバックアップを一般ユーザーに広めたことは間違いありません。Time Machine登場以前、多くの人はバックアップを敬遠していました。手順が複雑そうな上に、貴重なストレージ容量を浪費すると考えられていたからです。Time Machineは、その圧倒的なシンプルさによって人々の意識を変えました。パソコンに外付けHDDをつなぐだけでファイルもOSも安全になり、ワンクリックで障害発生前の状態へ戻せる――そんな手軽さです。このアプローチは他のバックアップソフトにも影響を与え、シンプルさを最優先する流れが生まれました。現在のLinuxには優れたバックアップツール