Install Rainbow Stream Commandline Twitter Client on Linux

Rainbow stream is a free open source, smart and nice terminal based twitter client. It provides real time tweet stream, compose, search, favourite and much more fun directly from linux terminal. It is written in Python and built on top of twitter API and python twitter tool. To run this application in your console you must install python and pip version 2.7.x or 3.x.

Features of Rainbow-Stream

1) Free and open source twitter-client for Linux command-line.
2) Capable of rendering twitter image in Terminal.
3) Supports proxy.
4) Supports interactive mode.
5) Theme customization is implemented.
6) It has the capability of showing real-time twitter stream.
7) You can tweet, search, favourite tweets right from your terminal.

Installation of Rainbow-Stream Twitter Client in Linux Ubuntu

Before installing rainbow stream, update your system with the following command.

root@ubuntu:~# apt-get update
Get:1 xenial-security InRelease [94.5 kB] Get:2 xenial InRelease [247 kB] Get:3 xenial-security/main amd64 Packages [123 kB] Get:4 xenial-security/main i386 Packages [120 kB] Get:5 xenial-security/main Translation-en [48.1 kB] AppStream cache update completed, but some metadata was ignored due to errors.
Reading package lists... Done

After update your system you will need install python and pip (2.7.x or 3.x) for installing rainbow stream. You must check the version of python if it is installed or not by using the following command .

shah@ubuntu:~$ python --version
Python 2.7.12

To install python-pip package, use the following command .

root@ubuntu:~# apt-get install python-pip -y

To check the version of installed pip, use the following command .

shah@ubuntu:~$ pip –version
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

After installing python & pip , now its time to install rainbow stream twitter client.

root@ubuntu:~# pip install rainbowstream

The sample output should be like this –

The directory '/home/shah/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/shah/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting rainbowstream
Downloading rainbowstream-1.3.4.tar.gz (47kB)
100% |████████████████████████████████| 51kB 26kB/s
Collecting python-dateutil (from rainbowstream)
Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201kB)
100% |████████████████████████████████| 204kB 41kB/s
Collecting arrow (from rainbowstream)
Downloading arrow-0.8.0.tar.gz (81kB)
100% |████████████████████████████████| 81kB 24kB/s
Running install for PySocks ... done
Running install for rainbowstream ... done
Successfully installed Pillow-3.3.0 PySocks-1.5.7 arrow-0.8.0 pyfiglet-0.7.5 python-dateutil-2.5.3 rainbowstream-1.3.4 requests-2.5.3 six-1.10.0 twitter-1.17.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

After successful installation rainbow-stream you get the above pip version upgrade message in your terminal. Please run below command for upgrade pip version .

root@ubuntu:~# pip install --upgrade pip
The directory '/home/shah/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/shah/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pip
Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB)
100% |████████████████████████████████| 1.2MB 29kB/s
Installing collected packages: pip
Found existing installation: pip 8.1.1
Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-8.1.2

To get the help on rainbow-stream, use the following command

shah@ubuntu:~$ 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 twitter client usage

1) First you need to connect and authorize application on twitter site using your twitter account.

2) Now type 'rainbowstream' in your Linux terminal, as user.

shah@ubuntu:~$ rainbowstream

When you enter the above command, it will open a screen as shown below .


Login with your credentials and you will get a pin. If you have already logged into your account, the page should be showing PIN. If you have configured more than one twitter account in your HTTP web browser, consider trying logging out of the other account and login to the account you want to connect.


Copy the PIN from HTTP web Browser into your terminal and hit return key as shown below –

To use Rainbow stream twitter client, use the following command –

You are running latest version (1.3.4)

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:

(firefox:4584): IBUS-WARNING **: The owner of /home/shah/.config/ibus/bus is not root!
Please enter the PIN: ********

That's it! Your authorization keys have been written to /root/.rainbow_oauth.
You are running latest version (1.3.4)

_ _ _____
| | | | |____ |
___ _ _ _ __ _ __ _ _| | _| |_ _ __ / /
/ __| | | | '_ \| '_ \| | | | |/ / __| '__| \ \
\__ \ |_| | | | | | | | |_| | <| |_| | .___/ /
|___/\__,_|_| |_|_| |_|\__, |_|\_\\__|_| \____/
__/ |

Need tips ? Type "h" and hit Enter key!

Use of Rainbow stream on command line

1) To display trends, use the following command .

[@sunnyktr3]: treand

The sample output should be like this .

WIRED @WIRED 2016/04/29 10:47:05
₪:0 ♥:0 id:4 via SocialFlow
This is the app you need to wrangle your millions of messengers

2) To get the list of followers, use the following command-

[@sunnyktr3]: ls fl

3) To get the help, use the following command .

[@sunnyktr3]: h

The sample output should be like this .

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!

4) To display tweet’s images directly in your Terminal, you can do .

[@sunnyktr3]: rainbowstream -iot


5) To see current twitter trend specifically country-wise, for example India (IN).

[@sunnyktr3]: trend IN
Gurudas Kamat:
Jamie Vardy:
Paul Scholes:
Saritha Nair:

The list of commands you will execute to handle your twitter tweets.

6) To view tweets for a particular community or any person

[@sunnyktr3]: switch public #cricket

_ _ _
(_) | | | |
___ _ __ _ ___| | _____| |_
/ __| '__| |/ __| |/ / _ \ __|
| (__| | | | (__| < __/ |_
\___|_| |_|\___|_|\_\___|\__|

nishant @nishant 2016/06/23 15:23:25
₪:0 ♥:0 id:0 via Twitter Web Client
@OruasCricket yeah shouldn't be forgotten the main aim for the division cricket is to get more time for domestic T20 games.

Shreya @ReallyShrey 2016/06/23 15:23:25
₪:0 ♥:0 id:1 via Twitter for Android
Have you ever tried Cricket?

A. Ghaffar Dawn News @SportsReporter_ 2016/06/23 15:23:25
₪:0 ♥:0 id:2 via Twitter for Android
Hard to say if even 4 Pakistan journalist able to attend tour.Pakistan need home Cricket.Pakistan suffers.

Jameshubert  @ImJames_ 2016/06/23 15:23:26
₪:0 ♥:0 id:3 via Twitter for iPhone
RT @bhogleharsha: Indian cricket is lucky to have two fine Indian candidates who are keen to coach the national team. It is a good sign.

aaku srivastava @shahaala 2016/06/23 15:23:29
₪:0 ♥:0 id:4 via Twitter Web Client
RT @ianuragthakur: Thanks for coming @ShekharGupta, lovely talking to you at HPCA Cricket Stadium Dharamshala.

7) To quit from Rainbow Stream, use the following command .

[@sunnyktr3]: q

The sample output should be like this –

See you next time :)

8) More Helpful rainbowstram command

Command: Description:

h                                                                                       help
p                                                                                       To pause twitter stream
r                                                                                        To resume twitter stream
c                                                                                        Clear Screen
v                                                                                        Version for twitter stream
q                                                                                        To Quit Rainbow Stream
theme                                                                                To list available theme
theme Name-of-theme                                                      To apply the theme
notification                                                                        To see notification
whois @testuserlinux                                                       To view profile
mentions                                                                            To show mentions timeline
view @ testuserlinux                                                        To view timeline
s string                                                                               To search for a string
inbox                                                                                  To show inbox
fl @twitter_user                                                                To follow a person
ufl @twitter_user                                                              To unfollow a person
block @twitter_user                                                          To block a person
unblock @twitter_user                                                      To unblock a person
report @twitter_user                                                         To report about a account
List home                                                                           To show timeline of list


Rainbow Stream is a convenient twitter cli client which is designed with usability in mind. With an easy enough one-time authentication . this application is for you. It is easy-to-setup and easy-to-use. Though I don’t use twitter very often but this application is really a rainbow and interesting and who knows I start using twitter as much as facebook, just because of interest in this command-line twitter-client. This application is worth giving a try.  Let your voice be audible. Provide us with your valuable feedback in the comments below.  Like and share us and help us get spread.

About Shaha Alam

I have Over 4+ years Experience in Telecom domain as Software Engineer with application Support Engineer & AIX / Solaris / Unix / Linux System Admin , Shell Scripting, SQL,Oracle Database , ETL Tools Affirm (Connectiva ) , Mediation IME . Experience on Linux/Unix, Shell Scripting, TCP/IP, Networking Protocol, HTTPS, SMPP, Monitoring Basics. Experience in Vmware , DNS, MAIL, LDAP, NIS , Raid ,Zone , Tomcat , Apache ,AWS.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.