qutebrowser (Español)

From ArchWiki

qutebrowser es un buscador web con enfoque de teclado, se basa en Python y PyQt5.

Installación

Instala bien sea el paquete qutebrowser o el qutebrowser-gitAUR.

Uso básico

Usa : para acceder al interprete de comandos. Puedes utilizar Tab para autocompletar.

Cuando estrenes qutebrowser te aparecerá una página de inicio rápido. La página puede ser accedida más adelante mediante :help. Véase cheatsheet para revisar los atajos de teclado.

Configuración del usuario

qutebrowser puede ser configurado mediante una interfaz de usuario, la línea de comandos de qutebrowser o un script de Python. La documentación de qutebrowser explica a detalle como configurar qutebrowser con estos diferentes métodos. Para abrir el sistema de ayuda de qutebrowser teclee :help. En la página de ayuda escoge Configuring qutebrowser.

Para encontrar las rutas donde se encontrarán los archivos de configuración abra la página especial qute://version. En Arch Linux, esta ruta típicamente es $XDG_CONFIG_HOME/qutebrowser/. La configuration hecha dentro de qutebrowser será almacenada en autoconfig.yml (archivo que no debería ser modificado por el usuario) mientras que la del script de Python del usuario es config.py.

Configuración en qutebrowser

Para especificar una única opción de configuración puedes simplemente teclear :set seguido del nombre de la opción de configuración y del nuevo valor que te gustaría aplicar a esta opción. Por ejemplo, podrías teclear

:set auto_save.session true

para abrir sus pestañas previas cuando vuelvas a abrir qutebrowser.

Para abrir la interfaz de usuario de la página de configuración de qutebrowser's, teclea

:set

sin ningún argumento adicional. Allí podrás editar las diferentes configuraciones en la interfaz de usuario. Cuando haya terminado teclea :set de nuevo para guardar su configuración.

Por ejemplo, en url.searchengines puedes configurar sus motores de búsqueda, los cuales están almacenados como una lista de pares clave-valor. En caso en que no hayas modificado esta opción aún, esta debería verse como

{"DEFAULT": "https://duckduckgo.com/?q={}"}

Esto configura DuckDuckGo como tu motor de búsqueda predeterminado, mientras que el marcador de posición {} será reemplazado por el termino que busques. Para añadir un atajo de teclado para buscar rápidamente en la wiki de Arch Linux podrías usar

{"DEFAULT": "https://duckduckgo.com/?q={}", "wa": "https://wiki.archlinux.org/?search={}"}

De esta manera, como se describe en el comentario en la interfaz de usuario de qutebrowser, puedes buscar en la wiki de Arch Linux tecleando o wa <término-de-búsqueda>. Nota que los argumentos requeridos para ejecutar una búsqueda cambian para cada motor de búsqueda. Por ejemplo, para configurar Google, usa https://www.google.com/search?hl=en&q={}. O para configurar Brave Search, usa https://search.brave.com/search?q={}.

Si Tor está instalado y ejecutándose en tu sistema y deseas utilizar la página onion de DuckDuckGo en su lugar, la configuración debería ser algo como

{"DEFAULT": "https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/?q={}", "wa": "https://wiki.archlinux.org/?search={}"}

Atajos de teclado

Puedes editar los atajos de teclado directamente desde el navegador con el comando :bind key command puedes editarlo directamente desde el archivo. Nota que ya existen muchos atajos de teclado configurados. Si percibes un retardo en alguno de sus atajos de teclado esto se debe a que otro atajo también se ejecute mediante la misma combinación de teclas.

Véase la documentación para encontrar ejemplos.

Reproducción de video

Véase Browser plugins#Multimedia playback.

Como alternativa, puedes añadir una opción en su archvo config.py para abrir un video en mpv. En el siguiente ejemplo al presionar Ctrl+/ se mostrarán todos los links de video disponibles en la página, luego, simplemente presionando la combinación de teclas correspondiente para el link del video que selecciones, este se abrirá en mpv.

config.py
...
config.bind('<Ctrl+/>', 'hint links spawn --detach mpv {hint-url}')
...

Trucos y Consejos

Importar quickmarks/bookmarks

Qutebrowser admite la importación de bookmarks desde varios formatos a través del script de Python /usr/share/qutebrowser/scripts/importer.py. El formato de salida por defecto es el formato quickmarks de qutebrowser. Para una breve explicación de las diferencias entre bookmarks y quickmarks, véase la página qutebrowser FAQ.

Desde Chromium/Chrome

Ejecuta el script mencionado anteriormente especificando chromium como el primer argumento y el directorio que contiene el archivo de bookmarks como el segundo argumento. Para Chromium el archivo es ~/.config/chromium/Default y ~/.config/google-chrome/Default es el archivo para Chrome. La salida del script se puede añadir a ~/.config/qutebrowser/quickmarks. Algunos de los formatos de entrada se explican más adelante. Se puede encontrar información adicional proporcionando la bandera -h a importer.py.

$ python /usr/share/qutebrowser/scripts/importer.py chromium ~/.config/chromium/Default >> ~/.config/qutebrowser/quickmarks

Desde Firefox

Exporta los bookmarks de Firefox a un archivo HTML (véase [1]). Luego, usa el script para importar.

$ python /usr/share/qutebrowser/scripts/importer.py bookmarks.html >> ~/.config/qutebrowser/quickmarks

Desde un archivo bookmarks.html

Para importar desde un archivo bookmarks.html se requiere el paquete python-beautifulsoup4. Para importarlo solo debes proporcionar tu archivo bookmarks.html a importer.py y añadir la salida a ~/.config/qutebrowser/quickmarks.

$ python /usr/share/qutebrowser/scripts/importer.py ~/.config/chromium/Default >> ~/.config/qutebrowser/quickmarks

Importar como bookmarks en lugar de quickmarks

Puedes utilizar cualquiera de los métodos mencionados anteriormente y propocionar una bandera adicional -b para cambiar el formato de salida del script a bookmarks. La salida debera entonces añadirse a ~/.config/qutebrowser/bookmarks/urls.

$ python /usr/share/qutebrowser/scripts/importer.py -b chromium ~/.config/chromium/Default >> ~/.config/qutebrowser/bookmarks/urls

Nota que la bandera debe añadirse antes que la especificación del navegador.

Ingresar información de inicio de sesión automáticamente

Puedes utilizar el script de usuario qute-pass para ingresar automáticamente la información de inicio de sesión almacenada en tu gestor de contraseñas Pass. Necesitarás python-tldextract y un lanzador de aplicaciones compatible con dmenu (Español). Configura un atajo de teclado que ejecute :spawn --userscript qute-pass.

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: La cita debería formar parte de la página --help del userscript si es tan prominente. (Discuss in Talk:Qutebrowser (Español))

Citando la descripción del script:

El dominio del sitio debe aparecer como un segmento en la ruta del pass , por ejemplo: "github.com/cryzed" o "websites/github.com". El cómo se determinen el usuario y la contraseña es abiertamente configurable mediante los argumentos del CLI. La información de inicio de sesión se inserta emulando eventos de teclado utilizando el comando fake-key de qutebrowser de esta manera: [USUARIO]<Tab>[CONTRASEÑA], que es compatible con casi todos los formularios de inicio de sesión.

Para mayor claridad, la estructura de paso que se utiliza por defecto debe ser algo como esto:

 user@computer$ pass 
 Password Store 
 ├── ejemplo.sitio1.com 
 │   └── usuario 
 ├── ejemplo.sitio2.com 
 │   └── usuario1 
 │   └── usuario2 

Esto significa que cada sitio web es un directorio en tu carpeta ~/.password-store. Es dentro de cada directorio con nombre de sitio web donde los archivos se titulan nombredeusuario.gpg, nombredeusuario2.pgp, etc. y cada archivo contiene la contraseña asociada con cada nombre de usuario para el sitio web. Para aquellos que migren desde Firefox, una versión modificada de firefox_decrypt debería migrar los elementos en este formato.


El script de usuario proporciona muchas opciones para adaptarse a la mayoría de los flujos de trabajo y circunstancias especiales (como sólo querer insertar la contraseña o que el método habitual de insertar el nombre de usuario y la contraseña no funcione).

Activar la correción otrográfica

Primero, descarga el diccionario apropiado utilizando el script dictcli.py que viene incluido con qutebrowser.

Por ejemplo, para español (España):

$ /usr/share/qutebrowser/scripts/dictcli.py install es_ES

El script tiene otras características también, que pueden ser mostradas usando --help.

Luego, establece lo siguiente en qutebrowser:

:set spellcheck.languages ["es-ES"]

Minimizar el fingerprinting

Los sitios web pueden ser capaces de identificarte basándose en la combinación de información sobre el tamaño de la pantalla, el agente de usuario, las cabeceras HTTP_ACCEPT, etc. Consulta [2] para obtener más información y comprobar cuan único es tu navegador. A continuación se indican algunos pasos que puedes seguir para hacer que tu instalación de qutebrowser sea más "genérica".

Adicionalmente, mira Firefox/Privacy#Configuration para obtener más ideas.

Establecer un agente de usuario común

Hay varios agentes de usuario disponibles como opciones cuando se utiliza set content.headers.user_agent. Otro agente de usuario, posiblemente más genérico, es:

Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0
Note:
  • Es posible que desees cambiar Windows NT 10.0 por X11; Linux x86_64, ya que los sitios web también pueden recopilar su tipo de plataforma a través de Javascript, y esta configuración no se puede cambiar en qutebrowser.
  • Cambiar tu user-agent del predeterminado impedirá que algunos sitios web funcionen correctamente. Por ejemplo, CAPTCHA mencionará que tu navegador no es compatible si el agente de usuario aparece como un navegador no actualizado.

Establecer una cabecera HTTP_ACCEPT común

A continuación se muestra un encabezado HTTP_ACCEPT común (predeterminado de Firefox). Simplemente escribe los siguientes comandos en el prompt

set content.headers.accept_language en-US,en;q=0.5
set content.headers.custom '{"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}'

Deshabilitar la lectura desde canvas

set content.canvas_reading false
Note: Algunos sitios web dependen de la lectura de canvas para la representación de contenidos y otras funcionalidades. Añadir esta opción puede hacer que no funcionen correctamente [3].

Deshabilitar WebGL

Establece content.webgl como false para deshabilitar el WebGL.

Gestión de sesiones tipo dwb

Para que qutebrowser maneje las sesiones más como en dwb con la opción --restore (múltiples sesiones activas simultáneamente), puede usar este script wrapper. Utiliza --basedir para separar datos, caché y tiempo de ejecución para cada sesión, manteniendo la configuración compartida.

Deshabilitar sitios web

Crea el archivo ~/.config/qutebrowser/blocked-hosts e ingresa sitios que quieras bloquear en cada línea del mismo; www.youtube.com por ejemplo. Esto mantendrá la lista de adblock incorporada mientras se añaden los sitios web. Reinicia qutebrowser y ejecuta :adblock-update.

Habilita el bloqueador de anuncios del buscador de Brave

Instala el paquete python-adblock y habilita el bloqueador de anuncios en qutebrowser:

:set content.blocking.method both

Abrir algunos links en mpv

Para abrir algunos links específicos en mpv (Como los de YouTube, reddit, etc) en luegar de cargar la página web. Esto puede usarse para evitar anuncios, rastreo, etc. Por supuesto, puedes sustituir mpv por el reproductor de video que prefieras.

:bind M hint links spawn mpv {hint-url}

Habilitar el tema oscuro en cualquier sitio

:set colors.webpage.darkmode.enabled true

Deshabilitar javascript

:set content.javascript.enabled false

Enrutar el trafico a través de tor

Esto requiere que tor esté habilitado y funcionando. Ten en cuenta que esto sólo utiliza el proxy tor pero no te proporciona ninguna protección contra el fingerprinting que pueda tener en el navegador tor.

:set content.proxy socks://localhost:9050/

Cambiar el tema del menú contextual

Para cambiar el tema del menú contextual encuentra la sección relevante de tu config.py y establece los ajustes apropiados. Por ejemplo:

config.py
...
c.colors.contextmenu.disabled.fg = '#808080'
c.colors.contextmenu.menu.bg = '#353535'
c.colors.contextmenu.menu.fg = '#ffffff'
c.colors.contextmenu.selected.bg = '#909090'
...

Integración con KeePassXC

Qutebrowser incluye qute-keepassxc para la integración con KeePassXC.

To integrate with KeePassXC:

  1. Habilita las extensiones KeepassXC-Browser en tu configuración KeepassXC.
    Desde KeePassXC ve a Herramientas->Configuración->Integración del navegador, y marca "Habilitar integración del navegador".
  2. Asegúrate de tener un par de claves privadas-públicas en tu llavero GPG..
    Encuentra tus llaves secretas con gpg --list-secret-keys --keyid-format=long. La clave debe ser de confianza, por ejemplo, debe contener "[ultimate]" en el campo "uid".
    Si no es de confianza, puede hacerla de confianza con gpg --edit-key KEYID, luego trust, 5 (máxima confianza) y confirma.
    Finalmente, copia el id de la llave.
  3. Instala el paquete python-pynacl
  4. Adapta tu configuración de qutebrowser.
    Tú puedes, por ejemplo, añadir las siguientes lneas a tu ~/.config/qutebrowser/config.py. Recuerda reemplazar `ABC1234` con tu id de la clave GPG.
config.py
config.bind('<Alt-Shift-u>', 'spawn --userscript qute-keepassxc --key ABC1234', mode='insert')
config.bind('pw', 'spawn --userscript qute-keepassxc --key ABC1234', mode='normal')

Para manejar múltiples cuentas también necesitas tener rofi instalado.

Solución de problemas

Información sobre herramientas ilegible

Dependiendo de cual sea tu tema QT, la información de las herramientas podría ser difícil de leer. Para solucionar esto, crea un archivo de Hoja de Estilo Qt. Por ejemplo:

~/.local/share/qutebrowser/fix-tooltips.qss
QToolTip {
	background-color: palette(highlight);
	border: 2px solid palette(highlight);
	color: palette(text);
}

A continuación, carga la hoja de estilo al iniciar qutebrowser:

qutebrowser --qt-arg stylesheet ~/.local/share/qutebrowser/fix-tooltips.qss
Note: La hoja de estilo no se aplicará si ya hay una instancia de qutebrowser en ejecución.
Tip: Puedes utilizar una entrada de escritorio para crear un lanzador conveniente cuando especifiques argumentos adicionales, como en este caso.

Véase el reporte de error para más detalles.

El reporte de error ofrece otro método usando qt5ctl que no requiere argumentos en el lanzamiento:

  1. En qutebrowser, :set qt.force_platformtheme qt5ctl
  2. En qt5ct, establece style: gtk2, standard dialogs: gtk2, palette: default
  3. Cambia a la pestaña Hojas de Estilo, y crea un nuevo archivo (yo lo llamé tooltip-gtk2.qss pero no debería importar)
  4. Coloca dentro el siguiente contendio:
    QToolTip{
    	background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 0, stop: 0 palette(window), stop: 1 palette(alternate-window));
    	border-radius: 3px;
    	border: 1px solid #000000;
    	padding: 1px;
    	color: palette(text);
    }
  5. Haz clic en Guardar y luego en Aceptar
  6. Asegúrate de marcar la casilla junto a este nuevo archivo para que se aplique al tema.
  7. Haz click en aplicar

Ver también