Uzbl, an ultra-minimal web browser

uzbl is a lightweight Uzbl-core based browser. Uzbl adheres to the UNIX philosophy "Write programs that do one thing and do it well." The Uzbl package includes uzbl-core, uzbl-browser, and uzbl-event-manager. Most users will want to use uzbl-browser or uzbl-tabbed as they provide the most comprehensive set of navigation tools. Uzbl-browser allows only one page per window (with as many windows as you want), while uzbl-tabbed provides a container for uzbl-browser and implements basic tabs with several pages per window.

uzbl browser

Uzbl browser in action

Installation

En Debian / Ubuntu and derivatives:

sudo apt-get install uzbl

En Arch and derivatives:

sudo pacman -S uzbl-browser

Commandos

One of the biggest benefits of using uzbl is that almost everything can be controlled using the keyboard. This is preferable to the traditional mouse-keyboard combo, and can save a lot of time once you get used to it and automate certain tasks. In particular, Vim users will find uzbl very easy to learn, especially since the default keyboard shortcuts slightly resemble those used in Vim. For example, "clicking" on a link requires the user to type fl, which will cause each link on the page to show a number, which will have to be entered to access it.

The basic commands are contained in the configuration file ~ / .config / uzbl / config.

Navigation

o = write url
O = edit url
b = return
m = go forward
S = stop
r = reload
R = reload ignoring cache
fl = access a link
gh = go to home page

Movement

j = scroll up
k = scroll down
h = shift to the left
l = shift to the right
Page Up = scroll page up
Page Av. = scroll page down
Home = go to the vertical beginning of the page
End = go to the vertical end of the page
^ = go to horizontal beginning of page
$ = go to the horizontal end of the page
/ = search on page
? = search back on page
n = repeat search forward
N = repeat search backward

Zoom

+ = zoom in
- = zoom out
T = change zoom type
1 = set zoom level to 1
2 = set zoom level to 2

Search

ddg = search DuckDuckGo
gg = Google search
\ wiki = search Wikipedia

Insert text

i = switch to text insert mode (something similar to vim)
fi = go to first input field and switch to text insert mode

Bookmarks and history

M = Insert bookmark (bookmarks are saved in ~ / .local / share / uzbl / bookmarks
U = access a page from history through dmenu
u = access a page from bookmarks using dmenu

Tabs (when using uzbl-tabbed)

go = load page in new tab
gt = go to the next tab
gT = go to the previous tab
gn = open a new tab
gi + n = go to tab no 'n'
gC = close current tab

Others

t = show / hide status bar
w = open new window
ZZ = exit
: = enter command
I = return to normal mode
Ctrl+[ = return to normal mode

Scripts

Uzbl depends 100% on scripts. In fact, if it weren't for the scripts, uzbl could be considered a common and wild webkit-based browser.

They are in the folder ~ / .local / share / uzbl / scripts /

These are mostly scripts developed in python and bash.

As an example, let's look at the script that manages uzbl downloads.

Downloads

By default, uzbl saves all files in the user folder, and the download progress cannot be tracked. To overcome this, simply replace the local / share / Uzbl / script / download.sh script with the following:

#! / bin / bash # # the original dget.sh script: # (c) 2007 by Robert Manea # # bashtardized and heavily modded for uzbl: # 2009 by pbrisbin # # modified for zenity # 2009 by iosonofabio # # requires: # zenity # wget # ### # auto open the file post-download based on the file's extension open () {case "$ 1" in * .pdf | * .ps | * .eps) evince "$ 1" & ;; * .jpg | * .png | * .jpeg | * .png) gpicview "$ 1" & ;; * .txt | * README * | * .pl | * .sh | * .py | * .hs) gvim "$ 1" & ;; * .mov | * .avi | * .mpeg | * .mpg | * .flv | * .wmv | * .mp4) vlc "$ 1" & ;; * .zip | * .zipx) xarchiver "$ 1" & ;; esac} # # # these are passed in from uzbl PID = "$ 2" XID = "$ 3" ACTUAL_URL = "$ 6" DOWN_URL = "$ 8" # # get filename from the url and convert some hex codes # i hate spaces in filenames so i'm switching them # with underscores here, adjust the first s /// g if # you want to keep the spaces FILE = "$ (basename $ DOWN_URL | sed -r \ 's / [_%] 20 / \ _ / g; s / [_%] 22 / \ "/ g; s / [_%] 23 / \ # / g; s / [_%] 24 / \ $ / g; s / [_%] 25 / \% / g; s / [_%] 26 / \ & / g; s / [_%] 28 / \ (/ g; s / [_%] 29 / \) / g; s / [_%] 2C / \, / g; s / [_%] 2D / \ - / g; s / [_%] 2E /\./ g; s / [_%] 2F / \ // g; s / [_ %] 3C / \ / g; s / [_%] 3F / \? / G; s / [_%] 40 / \ @ / g; s / [_%] 5B / \ [/ g; s / [ _%] 5C / \\ / g; s / [_%] 5D / \] / g; s / [_%] 5E / \ ^ / g; s / [_%] 5F / \ _ / g; s / [_%] 60 / \ `/ g; s / [_%] 7B / \ {/ g; s / [_%] 7C / \ | / g; s / [_%] 7D / \} / g ; s / [_%] 7E / \ ~ / g; s / [_%] 2B / \ + / g ') "# # show zenity directory selection window to ask the user # for the destination folder. Wait until the user answers # for beginning download (this could be improved). DIRFILE = $ (zenity --file-selection --save --filename = "$ FILE" --confirm-overwrite) # This command is used to download: GET = " wget --user-agent = F irefox --content-disposition --load-cookies = $ XDG_DATA_HOME / uzbl / cookies.txt --referer = $ ACTUAL_URL --output-document = $ DIRFILE "ZEN =" zenity --progress --percentage = 0 --title = Download dialog --text = Starting ... "# download if [" $ DIRFILE "]; then ($ GET "$ DOWN_URL" 2> & 1 | \ sed -u 's / ^ [a-zA-Z \ -]. * //; s /.* \ {1,2 \} \ ([0- 9] \ {1,3 \} \)%. * / \ 1 \ n # Downloading ... \ 1% /; s / ^ 20 [0-9] [0-9]. * / # Done./ '| \ $ ZEN; \ open "$ DIRFILE") & fi exit 0

Muchos other scripts are available in the official wiki of the project.


Leave a Comment

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

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   eliotime3000 said

    Uzbl is great for browsing. I have tried it for a long time and I have been using it since last year, and the truth is that it is ideal for medium-old equipment such as PC's with Pentium IV.

  2.   AdrianArroyoStreet said

    It does not add anything new about what is on the market. It is simply a browser that uses embedded WebKit. These so-called browsers have more interface code than HTML + CSS + JavaScript rendering code, which is supposed to be the most important thing about a browser, its engine. If you want to know alternative browsers with alternative engines, I recommend NetSurf, a browser that is made from scratch and is divided into various components; libCSS for the CSS, libDOM for manipulating the DOM, etc.

    1.    mmm said

      Hi. And could you teach how to install it on Ubuntu 14.04? Greetings and thanks

  3.   helena_ryuu said

    It reminds me a lot of dwb, an excellent minimalist browser that uses vim schemes (for those of us who love vim, it's great hahaha) to see how this browser is going.

    1.    let's use linux said

      That's right ... it's similar to dwb. 🙂

  4.   Guido rolon said

    As you already wrote, it reminds me of vi, and yes, some of us love vi.

  5.   Wada said

    To be honest I never tried it, I stick with dwb 🙂

    1.    eliotime3000 said

      Well, thanks to @RawBasic, I have started to use it to save the battery of my netbooks, also that I like to use the keyboard more when browsing (sometimes, it is frustrating to deal with a touchpad like Synaptics).

  6.   Patron said

    Honestly, I only see these spartan browsers useful on machines with a ram less than 256 mb ...

  7.   Cristianhcd said

    I feel like nothing is minimalist next to links2: laughs

  8.   juanra20 said

    Om that not with the command «j» it moves downwards and with «k» it moves upwards?

  9.   gonzalezmd (# Bik'it Bolom #) said

    Interesting option. Must try.

  10.   juancuyo said

    Hi, it's like LuaKit that comes by default in my Voyager distro, it becomes addicting to use them. I use Firefox, but when I have to search for something on the wiki I open LuaKit. Like everything, tastes are personal matters.