From 2d560d1ce3fc58fa04a95241edeb8f4ecd81ab71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Alvari=C3=B1o?= Date: Thu, 8 Feb 2024 12:42:16 +0100 Subject: [PATCH] doc: Add qtile notes --- content/posts/notes_qtile/featured-image.png | Bin 0 -> 20996 bytes content/posts/notes_qtile/index.es.md | 294 +++++++++++++++++++ content/posts/notes_qtile/qtile_logo.png | Bin 0 -> 20996 bytes 3 files changed, 294 insertions(+) create mode 100644 content/posts/notes_qtile/featured-image.png create mode 100644 content/posts/notes_qtile/index.es.md create mode 100644 content/posts/notes_qtile/qtile_logo.png diff --git a/content/posts/notes_qtile/featured-image.png b/content/posts/notes_qtile/featured-image.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9c2aacbfe9f13063e8d85136522b7be8b961b7 GIT binary patch literal 20996 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 + +Estos apuntes de configuración del gestor de ventanas ___Qtile___ están **INCOMPLETOS** + +{{< /admonition >}} + + +{{< admonition type=info title="Referencias" open=true >}} + +- [Qtile examples](https://github.com/qtile/qtile-examples) +- [Configuracion de Dani Diaz](https://github.com/DaniDiazTech/Qtile-Config) +- [Autokey](https://blog.desdelinux.net/autokey-util-herramienta-automatizacion-tareas-gnu-linux/) + +{{< /admonition >}} + + +## ACTUALIZACIÓN: La instalación de Qtile falla por las versiones de las dependencias + +No funciona la instalación descrita más abajo en un entorno virtual y no funciona la instalación por paquetes del sistema (al menos en Linux Mint Vanessa). Las versiones de las dependencias son demasiado modernas. + +Sólo he conseguido compilar una versión funcional de Qtile usando las fuentes de desarrollo, con la siguiente receta: + +```bash +# Creamos el directorio de trabajo +mkdir /qtile +cd /qtile + +# Creamos el entorno virtual, si usas pyenv esto te vale: +pyenv virtualenv system ve_qtile +pyenv local ve_qtile + +# SI NO USAS pyenv haz esto, crearas el entorno virtual en el +# directorio /qtile/venv +python -m venv venv +. ./venv/bin/activate + +# Asegurate de estar en el entorno virtual que hayas creado y que lo tengas activo y haz: +pip install git+https://github.com/qtile/qtile@master +``` + +Con los pasos descritos tendrás un Qtile en el directorio +`/qtile/venv/bin`, pero evidentemente sólo funciona con el +_virtualenv_ activado. + +Tenenemos que crear un script para tu gestor de login gráfico favorito (yo uso Lightdm) + +Como `root` nos creamos un script `launch_qtile` en `/usr/local/bin`, con el siguiente contenido (estoy suponiendo que no usas _pyenv_) + +```bash +#!/bin/bash +source '/home///qtile/venv/bin/activate' + +/home///qtile/bin/qtile start +``` + +Le damos permisos de ejecución con `chmod 755 launch_qtile` (ojo a los permisos para _all_ que si no son estos no le gusta a _Lightdm_) + +También como `root` creamos el fichero `/usr/share/xsessions/qtile.desktop` con el contenido: + +```bash +[Desktop Entry] +Name=Qtile +Comment=Qtile Session +Exec=launch_qtile +Type=Application +Keywords=wm;tiling +``` + +Y con esto tendremos Qtile disponible en _Lightdm_. + + +## Instalando Qtile en un virtualenv + +Vamos a describir la instalación del _Qtile_ en un _virtualenv_ dedicado. Si te bajas la versión estable de _Qtile_ desde su [página web](http://qtile.org) en el paquete vienen un montón de script auxiliares que te permiten hacer la instalación aislada en un _virtualenv_ pero lo voy a hacer a mano para tenerlo controlado con `pyenv`. + +* Creamos el _virtualenv_ `qtile` basado en la versión 3.10.0 que teniamos instalada previamente: + +```bash +# Creamos el directorio de trabajo +mkdir /qtile +cd /qtile + +# OPCIONAL: Descargamos el qtile estable de la página web +# sólo es necesario si quieres curiosear los scripts auxiliares +wget https://github.com/qtile/qtile/archive/v0.18.1.tar.gz +tar xvzf v0.18.1.tar.gz +rm v0.18.1.tar.gz + +# Creamos el entorno virtual +pyenv virtualenv 3.10.0 qtile +pyenv local qtile +# Instalamos los paquetes iniciales (comunes a mis entornos) +pip install --upgrade pip setuptools wheel + +# instalamos los requisitos +pip install --no-cache-dir xcffib +pip install --no-cache-dir cairocffi + +# Instalamos la versión estable de qtile +pip install --no-cache-dir qtile +``` + +Con esto ya estamos listos, podríamos arrancar _Qtile_ con `qtile start`, pero no puede funcionar claro. Para que arranque correctamente, tenemos que lanzarlo en un servidor X. (ver el punto "[Lanzar Window Managers con Xephyr]") + + +## Configurar Qtile en _virtualenv_ para arrancer desde el _Lightdm_ + +Como `root` nos creamos un script `launch_qtile` en `/usr/local/bin`, con el siguiente contenido + +```bash +#!/bin/bash +source '/home/user/.pyenv/versions/3.10.0/envs/qtile/bin/activate' +qtile start +``` + +Le damos permisos de ejecución con `chmod 755 launch_qtile` (ojo a los permisos para _all_ que si no son estos no le gusta a _Lightdm_) + +También como `root` creamos el fichero `/usr/share/xsessions/qtile.desktop` con el contenido: + +```bash +[Desktop Entry] +Name=Qtile +Comment=Qtile Session +Exec=launch_qtile +Type=Application +Keywords=wm;tiling +``` + +Y con esto tendremos Qtile disponible en _Lightdm_. + +## Lanzar Window Managers con Xephyr + +Para probar (o configurar) los _Window Managers_ sin salir de nuestra sesión de Mate podemos usar Xephyr, si no lo tienes instalado ejecuta: + +```bash +sudo apt update +sudo apt install xserver-xephyr +``` + +Para lanzar un _Xserver_ usaríamos un comando como: + +```bash +Xephyr -ac -screen 800x600 -br -reset -terminate 2> /dev/null :1 & +``` + +**-ac** + +: Autorizar conexiones de clientes indiscriminadamente (_disable access restrictions_) + +**-screen** + +: Especificar la geometría de la pantalla. + +**-br** + +: La ventana raiz tendrá fondo negro + +**-reset** + +: Reset al terminar el último cliente + +**-terminate** + +: Finalizar cuando se resetee el servidor + +**2> /dev/null** + +: Mandar los mensajes de error al limbo (alias **NE** en nuestro pc) + +**:1** + +: Arrancar el server en el DISPLAY=1 + +Asi que si queremos arrancar por ejemplo el _i3wm_ podríamos hacer un script con las siguientes lineas: + +```bash +Xephyr -ac -screen 800x600 -br -reset -terminate 2> /dev/null :1 & +export DISPLAY=:1 +qtile start +``` + +## Configuración de Qtile + +La configuración de _Qtile_ reside en `~/.config/qtile/config.py` + +### Configuración de programas en el arranque + +Vamos a implementar la ejecución de programas en el arranque de nuestro _Qtile_. + +Por un lado es necesario que importemos los módulos `os` y `subprocess` y desde el módulo `libqtile` necesitamos importar `hook`. + +```python +import os +import subprocess + +from libqtile import hook +``` + +Ahora podemos implementar la función `startup` + +```python +@hook.subscribe.startup_once +def start_once(): + home = os.path.expanduser('~') + subprocess.call([home + '/.local/bin/autostart']) +``` + +Con el decorador `@hook.subscribe` hemos hecho que la función +`start_once()` quede suscrita al evento `startup_once` que _Qtile_ +genera, una sola vez, en el arranque ([ver +documentación](https://docs.qtile.org/en/latest/manual/config/hooks.html)). + +El script `~/.local/bin/autostart` tiene el siguiente contenido: + +```bash +#!/usr/bin/env bash +# --- +# Use "run program" to run it only if it is not already running +# Use "program &" to run it regardless +# --- + +function run { + if ! pgrep $1 > /dev/null ; + then + $@& + fi +} + +# run picom -CGb & +run nitrogen --restore & +# run megasync +# run xfce4-clipman +# run gammy +``` + + +#### Programas que queremos lanzar en el arranque + +**picom** + +: _picom_ es un window composer + + - [Compilar picom](https://dev.to/l04db4l4nc3r/compositors-in-linux-1hhb#picom) + +**Nitrogen** + +: _[Nitrogen](https://github.com/l3ib/nitrogen)_ nos valdrá para gestionar los fondos de pantalla. Tenemos la última versión 1.6.1 disponible en los repos. Podemos instalar con `sudo apt install nitrogen` + +**Rofi** + +: _rofi_ ya lo teníamos instalado. Es un sustito para _Dmenu_ que ya usamos en Mate + +**gammy** + +: _[gammy](https://github.com/fushko/gammy)_ nos sirve para gestionar el brillo de la pantalla + + +**urxvt** + +: Un terminal con soporte UTF + +**feh** + +: Un visor de imágenes para los fondos de pantalla (no está claro que sea necesario) + + +### Cambios variados + +- Cambiamos el tamaño de letra para widgets a 16 puntos (lo vemos en la barra de estado) + +{{< admonition type=danger title="pyenv" open=true >}} + +Antes de arrancar Qtile parece que tenemos que asegurarnos de tener `pyenv global system` de lo contrario no veremos el entorno virtual de Qtile. + +{{< /admonition >}} diff --git a/content/posts/notes_qtile/qtile_logo.png b/content/posts/notes_qtile/qtile_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9c2aacbfe9f13063e8d85136522b7be8b961b7 GIT binary patch literal 20996 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