Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Ésta es la filosofía UNIX
En mi búsqueda del navegador perfecto he encontrado esta pequeña maravilla. Con algo más de un mes de vida ha desbancado por completo a mi anterior navegador, Vimperator. A grandes rasgos, entre sus características podríamos destacar:
- Interfaz gráfica reducida al mínimo. No existe el encabezado de un navegador estándar (la barra de direcciones, la de los marcadores, los menús...)
- Uzbl es simplemente eso, un navegador. Cosas como el cambio de url y la gestión de marcadores, historial y descargas se realizan a través de scripts externos que cada cual puede definir según sus necesidades.
- La navegación mediante el teclado es muy completa y configurable. Por ejemplo, podríamos hacer que Uzbl respondiese a las configuraciones de teclas como Vim, como Emacs, o como cualquier otra aplicación que se nos ocurra (y por supuesto podemos crearlas desde cero)
Al ser tan joven, Uzbl se encuentra bajo un intenso desarrollo. Tenemos dos versiones, experimental y master, y la última liberación de ésta trajo consigo algunas mejoras y correcciones de bugs
Los desarrolladores de Uzbl se centran de momento en Arch Linux, pero para su instalación en Debian podríamos seguir este blog por ejemplo hasta la inclusión del paquete en Sid (lo que ocurrirá probablemente dentro de algunas semanas)
Una vez instalado Uzbl, quizá queramos pasarle algún archivo de configuración. Probablemente lo más cómodo sea copiar el que tenemos de ejemplo en /usr/share/uzbl/config/examples/sampleconfig
y lo pegamos en
~/.config/uzbl/config
Ahora al invocar a Uzbl, éste tomará esa configuración:
# example uzbl config. in a real config, we should obey the xdg spec
# all settings are optional. you can use uzbl without any config at all (but it won't do much)
# keyboard behavior is vimstyle by default (all actions -> 1 key). set
# always_insert_mode to always be in insert mode and disable going out of it.
# if you do this, make sure you've set a modkey so you can reach the actions
# from insert mode by combining them with the modkey
# TODO: ability to attach misc things (spawn <foo>, script <bar>,.. to internal events)
# You can use any action in place of spawn
set history_handler = spawn /usr/share/uzbl/examples/scripts/history.sh
set download_handler = spawn /usr/share/uzbl/examples/scripts/download.sh
#set cookie_handler = spawn /usr/share/uzbl/examples/scripts/cookies.sh
set minimum_font_size = 6
set font_size = 11
# monospace_size defaults to font_size, but you can alter it independently
#set monospace_size = 10
# use with bind ... = sh <shell-oneliner>
set shell_cmd = sh -c
# Behaviour and appearance
set show_status = 1
# you can optionally use this setting to override the background color of the statusbar from your GTK theme.
set status_background = #303030
set status_format = <span font_family="monospace"><span background="khaki" foreground="black">MODE</span> [<span weight="bold" foreground="red">KEYCMD</span>] <span foreground="#606060"> LOAD_PROGRESSBAR </span><span foreground="#99FF66">URI</span> <span foreground="khaki">NAME</span> <span foreground="orange">MSG</span><span foreground="#606060">SELECTED_URI</span></span>
set status_top = 0
# define how your titlebar should look like. (short = statusbar is also shown, long = show everything you must see if statusbar is off)
set title_format_short = TITLE - Uzbl browser <NAME>
set title_format_long = KEYCMD MODE TITLE - Uzbl browser <NAME> > SELECTED_URI
# set the characters to use for, and the width of the progress bar
set status_pbar_done = *
set status_pbar_pending = -
set status_pbar_width = 12
set modkey = Mod1
# reset to command mode when new page is loaded
set reset_command_mode = 1
# this var has precedence over reset_command_mode
set always_insert_mode = 0
# to start a local socks server, do : ssh -fND localhost:8118 localhost
#set proxy_url = http://127.0.0.1:8118
#values 0-3
#set http_debug = 0
#set useragent = uzbl (Webkit WEBKIT_MAJOR.WEBKIT_MINOR.WEBKIT_MICRO)
# Example user agent containing everything:
set useragent = Uzbl (Webkit WEBKIT_MAJOR.WEBKIT_MINOR.WEBKIT_MICRO) (SYSNAME NODE$AME KERNREL KERNVER ARCH_SYSTEM [ARCH_UZBL]) (Commit COMMIT)
#set max_conns = 0
#set max_conns_host = 0
set fifo_dir = /tmp
set socket_dir = /tmp
# Key bindings
bind j = scroll_vert 20
bind k = scroll_vert -20
bind h = scroll_horz -20
bind l = scroll_horz 20
bind << = scroll_begin
bind >> = scroll_end
bind b = back
bind m = forward
bind s = stop
bind r = reload
bind R = reload_ign_cache
bind + = zoom_in
bind - = zoom_out
bind t = toggle_status
# Hilight matches. Notice the * after the slash - it makes the command incremental, i.e. gets called
# on every character you type. You can do `bind /_ = search %s' if you want it less interactive.
bind /* = search %s
bind ?* = search_reverse %s
#jump to next
bind n = search
bind N = search_reverse
bind gh = uri http://www.uzbl.org
#TODO: set uri?
bind o _ = uri %s
bind :wiki _ = uri http://wiki.archlinux.org/index.php/Special:Search?search=%s&go=Go
bind gg _ = uri http://www.google.com/search?q=%s
bind i = toggle_insert_mode
# disable insert mode (1 to enable). note that Esc works to disable, regardless of this setting
bind I = toggle_insert_mode 0
bind B = spawn /usr/share/uzbl/examples/scripts/insert_bookmark.sh
bind U = spawn /usr/share/uzbl/examples/scripts/load_url_from_history.sh
bind u = spawn /usr/share/uzbl/examples/scripts/load_url_from_bookmarks.sh
# with the sample yank script, you can yank one of the arguments into clipboard/selection
bind yurl = spawn /usr/share/uzbl/examples/scripts/yank.sh 8 primary
bind ytitle = spawn /usr/share/uzbl/examples/scripts/yank.sh 9 clipboard
# does the same as yurl but without needing a script
bind y2url = sh "echo -n $6 | xclip"
# go the page from primary selection
bind p = sh "echo act uri `xclip -selection primary -o` > $4"
# go to the page in clipboard
bind P = sh "echo act uri `xclip -selection clipboard -o` > $4"
bind ZZ = exit
bind S = js alert("hi");
# example showing how to use sh
# it sends a command to the fifo, whose path is told via a positional param
# if fifo_dir is not set, it'll echo to a file named (null) somewhere >:) remember to delete it
# Parameters are separated by spaces and the script body must be one parameter, so enclose it in
# quotes and escape any inner quotes using backslashes
bind XS = sh 'echo "act script alert (\'This is sent by the shell via a fifo\')" > "$4"'
# we ship some javascripts to do keyboard based link hinting/following. (webkit does not have C DOM bindings yet)
# this is similar to how it works in vimperator (and konqueror)
# TODO: did we resolve: "no click() event for hyperlinks so no referrer set" ?
#hit F to toggle the Hints (now in form of link numbering)
bind F = script /usr/share/uzbl/examples/scripts/hint.js
# the most stable version:
bind fl* = script /usr/share/uzbl/examples/scripts/follow_Numbers.js %s
# using strings, not polished yet:
bind fL* = script /usr/share/uzbl/examples/scripts/follow_Numbers_Strings.js %s
# "home" page if you will
set uri = http://uzbl.org
Este fichero de texto es el corazón de Uzbl. Determina todo su comportamiento, y podremos configurarlo según nuestras necesidades. Es también el que decide a qué scripts se invocará en cada caso.
Para abrir una página, sólo resta hacer
uzbl --uri http://esdebian.org
Por último, y como indica su página web, hay que tener en cuenta que Uzbl no es para aquellos que quieren que el navegador se encargue de todo, ni para aquellos que esperan que todo funcione por defecto. Si queremos utilizar este navegador tendremos que leer configuraciones y escribir y/o editar scripts
Os dejo con una captura de mi Uzbl. Resulta muy cómodo si se utiliza un gestor de ventanas tiling

En la imagen se puede ver que, en vez de tener pestañas, manejo varias sesiones de uzbl, todas en el tag del navegador (www), y maximizadas. La barra de abajo también se puede ocultar, sin más que hacer Alt+t, o la combinación de teclas que hayamos definido.
Para saber más, uzbl

Consulta:
¿Funciona solo con Awesome? o puede ser acomodado a Gestores como FluxBox o WindowMaker
La verdad es que sólo lo he probado con Awesome, no sé qué tan cómodo será con otros. Pero supongo que será cuestión de acomodarlo según sea la forma de utilizar cada gestor de ventanas ;)
La verdad es que sólo lo he probado con Awesome, no sé qué tan cómodo será con otros. Pero supongo que será cuestión de acomodarlo según sea la forma de utilizar cada gestor de ventanas ;)
Gracias Artica ... Mira vamos a ver si lo integro. Si todo sale bien pues aqui mismo te mostraré
Probando ....
Huy, que lindo. Se me hace agua la boca. Lo único que me detiene es que no está aún en debian y que ya tengo mi librería de automatización web muy avanzada.
De todos modos ya sé con que jugaré este fin de semana
.
No creo estar loco, pero juro que deje un mensaje por aqui...
En fin, si alguien lo borro, mejor ya no pregunto nada -.-
No creo estar loco, pero juro que deje un mensaje por aqui...
En fin, si alguien lo borro, mejor ya no pregunto nada -.-
No sería en la otra entrada de mi blog? Aquí no recuerdo haberte leído...
edito: aquí http://arctica.esdebian.org/27502/awesome-31-rc3-when-doves-cry
Bueno, entonces lo atribuire a mi ancho de banda, supongo que nunca llego :(
Pregunta:
Uzbl y vimperator, no los he probado, pero se necesita saber vim para poder utilizarlos? es decir, yo de nano no he salido, asi que no se si tendre que aprender a utilizar vim para ello.
Y... hay alguna opcion de framebuffer para alguno? Bueno, que a veces se me da por querer saber que es "nomiresesto.jpg" en alguna pagina
PDTA: Un horror la conexion -.- a veces no llega y a veces llegan mensajes repetidos :S
Bueno, entonces lo atribuire a mi ancho de banda, supongo que nunca llego :(
Pregunta:
Uzbl y vimperator, no los he probado, pero se necesita saber vim para poder utilizarlos? es decir, yo de nano no he salido, asi que no se si tendre que aprender a utilizar vim para ello.
Y... hay alguna opcion de framebuffer para alguno? Bueno, que a veces se me da por querer saber que es "nomiresesto.jpg" en alguna pagina
PDTA: Un horror la conexion -.- a veces no llega y a veces llegan mensajes repetidos :S
Hombre, no es necesario. Simplemente te aprendes los atajos de teclado con los que se manejan y ya está. Que pueden o no ser similares a los de vim, según como los hayas definido. Lo del framebuffer, pues ni idea, la verdad xD
De todas formas, ten en cuenta que vimperator es un Firefox/Iceweasel con un add-on, y ya está. Así que si Firefox puede, también puede Vimperator. Si no, no.
Uzbl en cambio no tiene nada que ver con Firefox/Iceweasel. Ni siquiera utilizan el mismo motor ni nada
Hola
¿Probaste a compilar uzbl en Debian?
En mi caso compila bien, pero confunde el contenido de las páginas con comandos. En posible que sea debido a que lo compilé en GNU/kFreeBSD, pero no debería ser así, pues otros navegadores más complejos basados en Webkit (midori) funcionan a la perfección.
Te agradecería que, si hubieras intentado compilarlo en Debian me indicaras si funciona, pues no podré en un tiempo tener un sistema Debian GNU/Linux a mano para comprobar el fallo.
Muchas gracias.
Saludos