How can I browse the Internet from the command line in Ubuntu?
There are actually a bunch of text-mode web-browsers, these are my top three :)
- Open new tab - t
- Goto URL - g
- Go back - Left
- Go forward - u
- Exit - q
- Toggle images - *
- Toggle link numbering - .
- Toggle document colours - %
- Next tab - >
- Previous tab - <
- Close tab - c
- Open in new tab in background - T
- Open new tab - t
Automatic URL rewrites
d- dictionary search
dmoz- dmoz search
g- google search
wiki- wikipedia search
Wikipedia has a List of more text-based web-browsers, not all of which are available in Ubuntu.
To my surprise it exists; I installed it and it works!
sudo apt-get install w3m w3m-img
- to open a webpage simply type in a terminal window:
- to open a new page: type Shift-U
- to go back one page: Shift-B
- open a new tab: Shift-T
W3M can handle Gmail(!)
If you use for example XTerm (not Gnome Terminal), W3M is even capable of showing images!
For more information see “How to Browse From the Linux Terminal With W3M”.
links2 -g is a strange terminal-embedded graphical-mode browser. It's fast but hates modernity.
If you like to search from the command line, try
Surfraw provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power. It reclaims google, altavista, dejanews, freshmeat, research index, slashdot and many others from the false‐prophet, pox‐infested heathen lands of html‐forms, placing these wonders where they belong, deep in unix heartland, as god loving extensions to the shell.
Trivia note : Surfraw was originally written by Julian Assange. (Acronym/backronym for 'SURFRAW' is Shell Users' Revolutionary Front Rage Against the World Wide Web.)
Here's some example usage.
To search Google for "nm-applet memory leak" :
sr google nm-applet memory leak
To search for an RFC dealing with S/MIME:
sr rfc s/mime
Translate a word:
sr translate logiciel
sr piratebay natty narwhal
More advanced, from surfraw.alioth.debian.org :
$ surfraw google -results=100 RMS, GNU, which is sinner, which is sin? $ sr wikipedia surfraw $ sr austlii -method=phrase dog like $ /usr/lib/surfraw/rhyme -method=perfect Julian
You can set it up with some defaults in
SURFRAW_graphical_browser="/usr/bin/links2 -g" SURFRAW_text_browser="/usr/bin/elinks" SURFRAW_graphical=yes
My personal favorite of the text-based browsers is
links2. You can install it with
sudo apt-get install links2
And then load a webpage with
Other alternatives that have not been mentioned are:
elinks : "an advanced and well-established feature-rich text mode web (HTTP/FTP/..) browser. ELinks can render both frames and tables, is highly customizable and can be extended via Lua or Guile scripts. It is quite portable and runs on a variety of platforms"
retawk : "an interactive, multi-threaded network client (web browser) for text terminals on computers with Unix-like operating systems. It is written in C, fast, small, nicely configurable, and comfortable; e.g. the low-level network communications are performed in a non-blocking way, and you can keep open as many "virtual windows" as you want and work simultaneously in two of them in a split-screen mode"
If you meant a CLI based Internet browser, use w3m:
Another very good command line browser is
The most basic usage would be:
It will most likely ask if you want to allow cookies.
To navigate the page use the arrow keys. Here is a short description of the most important ones.
- Left - move back in history
- Right - follow a link
- Up - move to previous focusable item
- Down - move to next focusable item
- Enter - enter link / trigger action
- Backspace - history page
- Space - move page down by a page
- b - move page up by a page
- Shift + q - Quit
That is the most basic key navigation commands.
You want a text browser or a command line method? This is command line, using telnet e.g.
telnet askubuntu.com 80
It doesn't support SSL, graphics, HTML5 etc and you might have to guess the index page if the server doesn't have a default file. But it is better than nothing and a very quick testing tool.
Yes, you can use
Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on Windows 95/NT or Macintoshes, or any other "curses-oriented" display). It will display hypertext markup language (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers. Current versions of Lynx run on Unix, VMS, Windows 95/NT, 386DOS and OS/2 EMX.
You can install it by executing the following command:
sudo apt-get install lynx-cur
Browsh might be a solution. From the site:
Browsh is a fully-modern text-based browser. It renders anything that a modern browser can; HTML5, CSS3, JS, video and even WebGL. Its main purpose is to be run on a remote server and accessed via SSH/Mosh or the in-browser HTML service in order to significantly reduce bandwidth and thus both increase browsing speeds and decrease bandwidth costs.
It uses headless Firefox in the background to run the interactive stuff. It's frequently updated.
Another program that might work for you is
lynx. It is a terminal based web browser.
You can use the browser lynx. It is available in the Ubuntu repositories:
sudo apt-get install lynx
Here is further information: http://en.wikipedia.org/wiki/Lynx_(web_browser)
If you'd like to avoid extra installations, you can hand-craft http requests. This is an http minimal request:
printf "GET /\r\nHost: askubuntu.com\r\n\r\n" | netcat askubuntu.com 80
This is an https request:
printf "GET /\r\nHost: askubuntu.com\r\n\r\n" | socat - OPENSSL:askubuntu.com 443