Uzbl, un explorador web ultra-minimalista

Uzbl es un navegador ligero basado en Uzbl-core. Uzbl adhiere a la filosofía de UNIX “Escribir programas que hacen una cosa y la hacen bien”. El paquete Uzbl incluye uzbl-core, uzbl-browser y uzbl-event-manager. La mayoría de los usuarios querrán utilizar uzbl-browser o uzbl-tabbed ya que proporcionan la más completa serie de herramientas para la navegación. Uzbl-browser permite una sola página por ventana (con tantas ventanas como uno desee), mientras uzbl-tabbed proporciona un contenedor para uzbl-browser e implementa pestañas básicas con varias páginas por ventana.

Uzbl browser en acción

Instalación

En Debian/Ubuntu y derivados:

sudo apt-get install uzbl

En Arch y derivados:

sudo pacman -S uzbl-browser

Comandos

Una de las mayores ventajas de utilizar uzbl es que casi todo se puede controlar mediante el teclado. Esto es preferible al tradicional combo mouse-teclado, y puede ahorrar mucho tiempo una vez que uno se acostumbra y se automatizan ciertas tareas. Particularmente, los usuarios de Vim encontrarán a uzbl muy fácil de aprender, sobre todo porque los atajos de teclado predeterminados se parecen ligeramente a los utilizados en Vim. Por ejemplo, hacer “clic” en un link requiere que el usuario escriba fl, lo que hará que cada link en la página muestre un número, que habrá que ingresar para acceder al mismo.

Los comandos básicos están contenidos en el archivo de configuración ~/.config/uzbl/config.

Navegación

o = escribir url
O = editar url
b = volver
m = ir hacia adelante
S = parar
r = recargar
R = recargar ignorando el cache
fl = acceder a un link
gh = ir a la página de inicio

Movimiento

j = desplazamiento hacia arriba
k = desplazamiento hacia abajo
h = desplazamiento hacia la izquierda
l = desplazamiento hacia la derecha
Re Pág = página de desplazamiento hacia arriba
AvPág = página de desplazamiento hacia abajo
Inicio = ir al principio vertical de la página
Fin = ir al final vertical de la página
^ = ir al principio horizontal de la página
$ = ir al extremo horizontal de la página
/ = buscar en la página
? = buscar hacia atrás en la página
n = repetir búsqueda hacia adelante
N = repetir búsqueda hacia atrás

Zoom

+ = zoom in
- = zoom out
T = cambiar el tipo de zoom
1 = establecer el nivel de zoom a 1
2 = establecer el nivel de zoom a 2

Búsqueda

ddg = buscar en DuckDuckGo
gg = buscar en Google
\wiki = buscar en Wikipedia

Insertar texto

i = cambiar al modo de inserción de texto (algo similar a vim)
fi = ir al primer campo de entrada y cambiar al modo de inserción de texto

Marcadores e historial

M = Insertar marcador (los marcadores se guardan en ~/.local/share/uzbl/bookmarks
U = acceder a una página desde el historial mediante de dmenu
u = acceder a una página desde los marcadores mediante dmenu

Pestañas (cuando se utiliza uzbl-tabbed)

go = cargar página en una nueva pestaña
gt = ir a la siguiente pestaña
gT = ir a la pestaña anterior
gn = abrir una nueva pestaña
gi + n = ir a pestaña nro ‘n’
gC = cerrar pestaña actual

Otros

t = mostrar/ocultar barra de estado
w = abrir nueva ventana
ZZ = salir
: = introducir comando
Esc = volver al modo normal
Ctrl + [ = volver al modo normal

Scripts

Uzbl depende 100% de scripts. De hecho, si no fuera por los scripts, uzbl podría considerarse un explorador común y silvestre basado en webkit.

Los mismos se encuentran en la carpeta ~/.local/share/uzbl/scripts/

En su mayoría, se trata de scripts desarrollados en python y bash.

A modo de ejemplo, veamos el script que gestiona las descargas de uzbl.

Descargas

Por defecto, uzbl guarda todos los archivos en la carpeta de usuario, y no se puede seguir el progreso de la descarga. Para superar esto, basta con sustituir el script local/share/Uzbl/script/download.sh por lo siguiente:

#!/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=Firefox --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 otros scripts se encuentran disponibles en el wiki oficial del proyecto.


13 comentarios

  1.   eliotime3000 dijo

    Uzbl es fantástico para navegar. Lo he probado hace tiempo y lo vengo usando desde el año pasado, y la verdad es que es ideal para equipos medio antiguos como PC’s con Pentium IV.

  2.   AdrianArroyoCalle dijo

    No añade nada nuevo sobre lo que existe en el mercado. Simplemente es un navegador que usa WebKit empotrado. Estos supuestos navegadores tienen más código de interfaz que de procesamiento HTML+CSS+JavaScript que se supone que es lo más importante de un navegador, su motor. Si quieren conocer navegadores alternativos con motores alternativos les recomiendo NetSurf, un navegador que sí está hecho desde 0 y está dividido en diversos componentes; libCSS para el CSS, libDOM para manipular el DOM, etc.

    1.    mmm dijo

      Hola. Y podrías enseñar a instalarlo en ubuntu 14.04?? Saludos y gracias

  3.   helena_ryuu dijo

    me recuerda mucho a dwb, un exelente navegador minimalista que utiliza esquemas de vim (para quienes amamos vim, es genial hahaha) a ver como va este navegador.

    1.    usemoslinux dijo

      Así es… es parecido a dwb. 🙂

  4.   Guido Rolon dijo

    Como ya escribieron, me recuerda a vi, y si, algunos amamos vi.

  5.   Wada dijo

    Para ser honesto nunca lo probé, me quede con dwb 🙂

    1.    eliotime3000 dijo

      Pues, gracias a @RawBasic es que he comenzado a usarlo para ahorrar batería de mi netbooks, además que gusta usar más el teclado a la hora de navegar (a veces, es frustrante lidiar con un touchpad como el Synaptics).

  6.   Patron dijo

    Honestamente solo veo utiles estos navegadores tan espartanos en maquinas con una ram menor a 256 mb…

  7.   cristianhcd dijo

    siento que nada es minimalista al lado de links2 :risas

  8.   Juanra20 dijo

    Om que no con el comando “j” se desplaza para abajo y con “k” hacia arriba?

  9. Interesante opción. Hay que probar.

  10.   juancuyo dijo

    Hola, es como LuaKit que viene por defecto en mi distro Voyager , se vuelve adictivo usarlos. Uso Firefox, pero cuado debo buscar algo en la wiki abro LuaKit. Como todo, los gustos son cuestiones personales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.