Add Qtile and i3wm installation

una
Sergio Alvariño 2 years ago
parent 546b28f8e3
commit 1874d77e88

@ -321,24 +321,6 @@ sudo apt update
sudo apt install chromium-browser chromium-codecs-ffmpeg
```
Palemoon
Un fork de *Firefox* con menos chorradas. Instalado con el paquete `deb`
descargado de su [página
web](https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon)
Netsurf
Un navegador ultraligero (aunque no funciona con muchas páginas, solo
para webs austeras) Instalado via flathub con `flatpak install netsurf`
Lagrange
Un navegador para el protocolo *Gemini*. Instalado con la *appimage*
desde su [página web](https://git.skyjake.fi/gemini/lagrange)
Castor
Otro navegador para el protocolo *Gemini* programado en *Rust*.
Instalado desde las fuentes siguiendo instrucciones de su [página
web](https://sr.ht/~julienxx/Castor/)
## Algunos programas de control del sistema
Son útiles para control de consumo.
@ -485,6 +467,34 @@ web](https://joplinapp.org/)
Joplin se instala en el directorio `~/.joplin` y crea su propia entrada
en el menú.
### Palemoon
Un fork de *Firefox* con menos chorradas. Instalado con el paquete `deb`
descargado de su [página
web](https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon)
### LibreWolf
Otro fork de *Firefox* centrado en la privacidad. Instalado como
*appimage* descargado desde su [página
web](https://librewolf-community.gitlab.io/)
### Netsurf
Un navegador ultraligero (aunque no funciona con muchas páginas, solo
para webs austeras) Instalado via flathub con `flatpak install netsurf`
### Lagrange
Un navegador para el protocolo *Gemini*. Instalado con la *appimage*
desde su [página web](https://git.skyjake.fi/gemini/lagrange)
### Castor
Otro navegador para el protocolo *Gemini* programado en *Rust*.
Instalado desde las fuentes siguiendo instrucciones de su [página
web](https://sr.ht/~julienxx/Castor/)
## Terminal y shells
Por defecto tenemos instalado `bash`.
@ -626,7 +636,7 @@ sudo apt-get install syncthing
# Utilidades
## Utilidades
## Utilidades variadas
gpick con
*Agave* y *pdftk* ya no existen, nos pasamos a *gpick* y *poppler-utils*
@ -695,6 +705,26 @@ configuration {
Asociamos un atajo de teclado al comando: `rofi -show drun`
## time-tracking
### Activity Watcher
Instalado desde la web
En realidad no lo uso para nada.
### go for it
Este programa no para de escribir en el disco continuamente. He dejado
de usarlo por que me sobra con el org-mode de emacs.
Si de todas formas lo quieres instalar, aquí tienes los comandos:
``` {bash}
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
```
# Internet
## Rclone
@ -727,40 +757,144 @@ Sincronizar una carpeta remota en local:
(blogdelazaro)](https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/)
- [Documentación](https://rclone.org/docs/)
# time-tracking
# Window Managers adicionales
## Activity Watcher
## i3wm
Instalado desde la web
Añadimos el repo:
En realidad no lo uso para nada.
``` bash
cd ~/tmp
/usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
## go for it
sudo dpkg -i ./keyring.deb
sudo echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
sudo apt update
sudo apt install i3
```
Este programa no para de escribir en el disco continuamente. He dejado
de usarlo por que me sobra con el org-mode de emacs.
## qtile
Si de todas formas lo quieres instalar, aquí tienes los comandos:
Aun no tengo claro como instalar *Qtile* para poder lanzarlo desde el
login gráfico de Linux. Mi idea es instalarlo en un entorno virtual
(*virtualenv*) de Python, para no enredar más con el Python del sistema.
``` {bash}
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
Vamos a describir la instalación en un *virtualenv* dedicado. Si te
bajas el Qtile estable 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 <workPath>/qtile
cd <workPath>/qtile
# Descargamos el qtile estable de la página web
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
```
## i3 window manager
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](#lanzar-window-managers-con-xephyr)”)
Añadimos el repo:
### 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
cd ~/tmp
$ /usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
#!/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)
# dpkg -i ./keyring.deb
# echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
# apt update
# apt install i3
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&gt; /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
i3
```
Para *Qtile* bastaria con cambiar `i3` por `qtile start`
# Documentación
## Vanilla LaTeX

@ -238,11 +238,6 @@ sudo apt update
sudo apt install chromium-browser chromium-codecs-ffmpeg
</code>
* **Palemoon** Un fork de //Firefox// con menos chorradas. Instalado con el paquete ''%%deb%%'' descargado de su [[https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon|página web]]
* **Netsurf** Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con ''%%flatpak install netsurf%%''
* **Lagrange** Un navegador para el protocolo //Gemini//. Instalado con la //appimage// desde su [[https://git.skyjake.fi/gemini/lagrange|página web]]
* **Castor** Otro navegador para el protocolo //Gemini// programado en //Rust//. Instalado desde las fuentes siguiendo instrucciones de su [[https://sr.ht/~julienxx/Castor/|página web]]
===== Algunos programas de control del sistema =====
Son útiles para control de consumo.
@ -363,6 +358,26 @@ Instalamos siguiendo las instrucciones de la [[https://joplinapp.org/|página we
Joplin se instala en el directorio ''%%~/.joplin%%'' y crea su propia entrada en el menú.
==== Palemoon ====
Un fork de //Firefox// con menos chorradas. Instalado con el paquete ''%%deb%%'' descargado de su [[https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon|página web]]
==== LibreWolf ====
Otro fork de //Firefox// centrado en la privacidad. Instalado como //appimage// descargado desde su [[https://librewolf-community.gitlab.io/|página web]]
==== Netsurf ====
Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con ''%%flatpak install netsurf%%''
==== Lagrange ====
Un navegador para el protocolo //Gemini//. Instalado con la //appimage// desde su [[https://git.skyjake.fi/gemini/lagrange|página web]]
==== Castor ====
Otro navegador para el protocolo //Gemini// programado en //Rust//. Instalado desde las fuentes siguiendo instrucciones de su [[https://sr.ht/~julienxx/Castor/|página web]]
===== Terminal y shells =====
Por defecto tenemos instalado ''%%bash%%''.
@ -505,7 +520,7 @@ sudo apt-get install syncthing
====== Utilidades ======
===== Utilidades =====
===== Utilidades variadas =====
<HTML><dl></HTML>
<HTML><dt></HTML>gpick con<HTML></dt></HTML>
@ -548,6 +563,25 @@ configuration {
<HTML><p></HTML>Asociamos un atajo de teclado al comando: ''%%rofi -show drun%%''<HTML></p></HTML><HTML></dd></HTML><HTML></dl></HTML>
===== time-tracking =====
==== Activity Watcher ====
Instalado desde la web
En realidad no lo uso para nada.
==== go for it ====
Este programa no para de escribir en el disco continuamente. He dejado de usarlo por que me sobra con el org-mode de emacs.
Si de todas formas lo quieres instalar, aquí tienes los comandos:
<code {bash}>
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
</code>
====== Internet ======
===== Rclone =====
@ -584,39 +618,114 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv
* [[https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/|y con cifrado (blogdelazaro)]]
* [[https://rclone.org/docs/|Documentación]]
====== time-tracking ======
====== Window Managers adicionales ======
===== Activity Watcher =====
===== i3wm =====
Instalado desde la web
Añadimos el repo:
En realidad no lo uso para nada.
<code bash>
cd ~/tmp
/usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
===== go for it =====
sudo dpkg -i ./keyring.deb
sudo echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
sudo apt update
sudo apt install i3
</code>
Este programa no para de escribir en el disco continuamente. He dejado de usarlo por que me sobra con el org-mode de emacs.
===== qtile =====
Si de todas formas lo quieres instalar, aquí tienes los comandos:
Aun no tengo claro como instalar //Qtile// para poder lanzarlo desde el login gráfico de Linux. Mi idea es instalarlo en un entorno virtual (//virtualenv//) de Python, para no enredar más con el Python del sistema.
<code {bash}>
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
Vamos a describir la instalación en un //virtualenv// dedicado. Si te bajas el Qtile estable desde su [[http://qtile.org|página web]] 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:
<code bash>
# Creamos el directorio de trabajo
mkdir <workPath>/qtile
cd <workPath>/qtile
# Descargamos el qtile estable de la página web
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
</code>
===== i3 window manager =====
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|Lanzar Window Managers con Xephyr]]”)
Añadimos el repo:
==== 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
<code bash>
cd ~/tmp
$ /usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
#!/bin/bash
source '/home/user/.pyenv/versions/3.10.0/envs/qtile/bin/activate'
qtile start
</code>
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:
<code bash>
[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=launch_qtile
Type=Application
Keywords=wm;tiling
</code>
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:
<code bash>
sudo apt update
sudo apt install xserver-xephyr
</code>
Para lanzar un //Xserver// usaríamos un comando como:
# dpkg -i ./keyring.deb
# echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
# apt update
# apt install i3
<code bash>
Xephyr -ac -screen 800x600 -br -reset -terminate 2> /dev/null :1 &
</code>
* ****-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:
<code bash>
Xephyr -ac -screen 800x600 -br -reset -terminate 2> /dev/null :1 &
export DISPLAY=1
i3
</code>
Para //Qtile// bastaria con cambiar ''%%i3%%'' por ''%%qtile start%%''
====== Documentación ======
===== Vanilla LaTeX =====

Binary file not shown.

@ -224,15 +224,6 @@ EOF
sudo apt update
sudo apt install chromium-browser chromium-codecs-ffmpeg</pre>
; Palemoon
: Un fork de ''Firefox'' con menos chorradas. Instalado con el paquete <code>deb</code> descargado de su [https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon página web]
; Netsurf
: Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con <code>flatpak install netsurf</code>
; Lagrange
: Un navegador para el protocolo ''Gemini''. Instalado con la ''appimage'' desde su [https://git.skyjake.fi/gemini/lagrange página web]
; Castor
: Otro navegador para el protocolo ''Gemini'' programado en ''Rust''. Instalado desde las fuentes siguiendo instrucciones de su [https://sr.ht/~julienxx/Castor/ página web]
== Algunos programas de control del sistema ==
Son útiles para control de consumo.
@ -329,6 +320,26 @@ Instalamos siguiendo las instrucciones de la [https://joplinapp.org/ página web
<pre class="{bash}"> wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash</pre>
Joplin se instala en el directorio <code>~/.joplin</code> y crea su propia entrada en el menú.
=== Palemoon ===
Un fork de ''Firefox'' con menos chorradas. Instalado con el paquete <code>deb</code> descargado de su [https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon página web]
=== LibreWolf ===
Otro fork de ''Firefox'' centrado en la privacidad. Instalado como ''appimage'' descargado desde su [https://librewolf-community.gitlab.io/ página web]
=== Netsurf ===
Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con <code>flatpak install netsurf</code>
=== Lagrange ===
Un navegador para el protocolo ''Gemini''. Instalado con la ''appimage'' desde su [https://git.skyjake.fi/gemini/lagrange página web]
=== Castor ===
Otro navegador para el protocolo ''Gemini'' programado en ''Rust''. Instalado desde las fuentes siguiendo instrucciones de su [https://sr.ht/~julienxx/Castor/ página web]
== Terminal y shells ==
Por defecto tenemos instalado <code>bash</code>.
@ -444,7 +455,7 @@ sudo apt-get update
sudo apt-get install syncthing</pre>
= Utilidades =
== Utilidades ==
== Utilidades variadas ==
<dl>
<dt>gpick con</dt>
@ -484,6 +495,22 @@ sudo apt-get install syncthing</pre>
}</syntaxhighlight>
<p>Asociamos un atajo de teclado al comando: <code>rofi -show drun</code></p></dd></dl>
== time-tracking ==
=== Activity Watcher ===
Instalado desde la web
En realidad no lo uso para nada.
=== go for it ===
Este programa no para de escribir en el disco continuamente. He dejado de usarlo por que me sobra con el org-mode de emacs.
Si de todas formas lo quieres instalar, aquí tienes los comandos:
<pre class="{bash}">sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily &amp;&amp; sudo apt-get update
sudo apt-get install go-for-it</pre>
= Internet =
== Rclone ==
@ -508,33 +535,100 @@ Sincronizar una carpeta remota en local:
* [https://elblogdelazaro.gitlab.io//articles/rclone-cifrado-de-ficheros-en-la-nube/ y con cifrado (blogdelazaro)]
* [https://rclone.org/docs/ Documentación]
= time-tracking =
= Window Managers adicionales =
== Activity Watcher ==
== i3wm ==
Instalado desde la web
Añadimos el repo:
En realidad no lo uso para nada.
<syntaxhighlight lang="bash">cd ~/tmp
/usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
== go for it ==
sudo dpkg -i ./keyring.deb
sudo echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
sudo apt update
sudo apt install i3</syntaxhighlight>
== qtile ==
Este programa no para de escribir en el disco continuamente. He dejado de usarlo por que me sobra con el org-mode de emacs.
Aun no tengo claro como instalar ''Qtile'' para poder lanzarlo desde el login gráfico de Linux. Mi idea es instalarlo en un entorno virtual (''virtualenv'') de Python, para no enredar más con el Python del sistema.
Si de todas formas lo quieres instalar, aquí tienes los comandos:
Vamos a describir la instalación en un ''virtualenv'' dedicado. Si te bajas el Qtile estable desde su [http://qtile.org página web] 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 <code>pyenv</code>
<pre class="{bash}">sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily &amp;&amp; sudo apt-get update
sudo apt-get install go-for-it</pre>
== i3 window manager ==
* Creamos el ''virtualenv'' <code>qtile</code> basado en la versión 3.10.0 que teniamos instalada previamente:
Añadimos el repo:
<syntaxhighlight lang="bash"># Creamos el directorio de trabajo
mkdir <workPath>/qtile
cd <workPath>/qtile
<syntaxhighlight lang="bash">cd ~/tmp
$ /usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
# Descargamos el qtile estable de la página web
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</syntaxhighlight>
Con esto ya estamos listos, podríamos arrancar ''Qtile'' con <code>qtile start</code>, pero no puede funcionar claro. Para que arranque correctamente, tenemos que lanzarlo en un servidor X. (ver el punto “[[#lanzar-window-managers-con-xephyr|Lanzar Window Managers con Xephyr]]”)
=== Configurar Qtile en ''virtualenv'' para arrancer desde el ''Lightdm'' ===
Como <code>root</code> nos creamos un script <code>launch_qtile</code> en <code>/usr/local/bin</code>, con el siguiente contenido
<syntaxhighlight lang="bash">#!/bin/bash
source '/home/user/.pyenv/versions/3.10.0/envs/qtile/bin/activate'
qtile start</syntaxhighlight>
Le damos permisos de ejecución con <code>chmod 755 launch_qtile</code> (ojo a los permisos para ''all'' que si no son estos no le gusta a lightdm)
También como <code>root</code> creamos el fichero <code>/usr/share/xsessions/qtile.desktop</code> con el contenido:
<syntaxhighlight lang="bash">[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=launch_qtile
Type=Application
Keywords=wm;tiling</syntaxhighlight>
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:
<syntaxhighlight lang="bash">sudo apt update
sudo apt install xserver-xephyr</syntaxhighlight>
Para lanzar un ''Xserver'' usaríamos un comando como:
<syntaxhighlight lang="bash">Xephyr -ac -screen 800x600 -br -reset -terminate 2> /dev/null :1 &</syntaxhighlight>
; '''-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&gt; /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:
<syntaxhighlight lang="bash">Xephyr -ac -screen 800x600 -br -reset -terminate 2> /dev/null :1 &
export DISPLAY=1
i3</syntaxhighlight>
Para ''Qtile'' bastaria con cambiar <code>i3</code> por <code>qtile start</code>
# dpkg -i ./keyring.deb
# echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
# apt update
# apt install i3</syntaxhighlight>
= Documentación =
== Vanilla LaTeX ==

Binary file not shown.

Binary file not shown.

@ -518,26 +518,6 @@ sudo apt update
sudo apt install chromium-browser chromium-codecs-ffmpeg
\end{verbatim}
\begin{description}
\item[Palemoon]
Un fork de \emph{Firefox} con menos chorradas. Instalado con el paquete
\texttt{deb} descargado de su
\href{https://software.opensuse.org/download.html?project=home:stevenpusser\&package=palemoon}{página
web}
\item[Netsurf]
Un navegador ultraligero (aunque no funciona con muchas páginas, solo
para webs austeras) Instalado via flathub con
\texttt{flatpak\ install\ netsurf}
\item[Lagrange]
Un navegador para el protocolo \emph{Gemini}. Instalado con la
\emph{appimage} desde su
\href{https://git.skyjake.fi/gemini/lagrange}{página web}
\item[Castor]
Otro navegador para el protocolo \emph{Gemini} programado en
\emph{Rust}. Instalado desde las fuentes siguiendo instrucciones de su
\href{https://sr.ht/~julienxx/Castor/}{página web}
\end{description}
\hypertarget{algunos-programas-de-control-del-sistema}{%
\subsection{Algunos programas de control del
sistema}\label{algunos-programas-de-control-del-sistema}}
@ -721,6 +701,42 @@ Instalamos siguiendo las instrucciones de la
Joplin se instala en el directorio \texttt{\textasciitilde{}/.joplin} y
crea su propia entrada en el menú.
\hypertarget{palemoon}{%
\subsubsection{Palemoon}\label{palemoon}}
Un fork de \emph{Firefox} con menos chorradas. Instalado con el paquete
\texttt{deb} descargado de su
\href{https://software.opensuse.org/download.html?project=home:stevenpusser\&package=palemoon}{página
web}
\hypertarget{librewolf}{%
\subsubsection{LibreWolf}\label{librewolf}}
Otro fork de \emph{Firefox} centrado en la privacidad. Instalado como
\emph{appimage} descargado desde su
\href{https://librewolf-community.gitlab.io/}{página web}
\hypertarget{netsurf}{%
\subsubsection{Netsurf}\label{netsurf}}
Un navegador ultraligero (aunque no funciona con muchas páginas, solo
para webs austeras) Instalado via flathub con
\texttt{flatpak\ install\ netsurf}
\hypertarget{lagrange}{%
\subsubsection{Lagrange}\label{lagrange}}
Un navegador para el protocolo \emph{Gemini}. Instalado con la
\emph{appimage} desde su
\href{https://git.skyjake.fi/gemini/lagrange}{página web}
\hypertarget{castor}{%
\subsubsection{Castor}\label{castor}}
Otro navegador para el protocolo \emph{Gemini} programado en
\emph{Rust}. Instalado desde las fuentes siguiendo instrucciones de su
\href{https://sr.ht/~julienxx/Castor/}{página web}
\hypertarget{terminal-y-shells}{%
\subsection{Terminal y shells}\label{terminal-y-shells}}
@ -889,8 +905,8 @@ sudo apt-get install syncthing
\hypertarget{utilidades}{%
\section{Utilidades}\label{utilidades}}
\hypertarget{utilidades-1}{%
\subsection{Utilidades}\label{utilidades-1}}
\hypertarget{utilidades-variadas}{%
\subsection{Utilidades variadas}\label{utilidades-variadas}}
\begin{description}
\item[gpick con]
@ -957,6 +973,29 @@ con el siguiente contenido
Asociamos un atajo de teclado al comando: \texttt{rofi\ -show\ drun}
\end{description}
\hypertarget{time-tracking}{%
\subsection{time-tracking}\label{time-tracking}}
\hypertarget{activity-watcher}{%
\subsubsection{Activity Watcher}\label{activity-watcher}}
Instalado desde la web
En realidad no lo uso para nada.
\hypertarget{go-for-it}{%
\subsubsection{go for it}\label{go-for-it}}
Este programa no para de escribir en el disco continuamente. He dejado
de usarlo por que me sobra con el org-mode de emacs.
Si de todas formas lo quieres instalar, aquí tienes los comandos:
\begin{verbatim}
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
\end{verbatim}
\hypertarget{internet}{%
\section{Internet}\label{internet}}
@ -1007,46 +1046,171 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv
\href{https://rclone.org/docs/}{Documentación}
\end{itemize}
\hypertarget{time-tracking}{%
\section{time-tracking}\label{time-tracking}}
\hypertarget{window-managers-adicionales}{%
\section{Window Managers
adicionales}\label{window-managers-adicionales}}
\hypertarget{activity-watcher}{%
\subsection{Activity Watcher}\label{activity-watcher}}
\hypertarget{i3wm}{%
\subsection{i3wm}\label{i3wm}}
Instalado desde la web
Añadimos el repo:
En realidad no lo uso para nada.
\begin{Shaded}
\begin{Highlighting}[]
\BuiltInTok{cd}\NormalTok{ \textasciitilde{}/tmp}
\ExtensionTok{/usr/lib/apt/apt{-}helper}\NormalTok{ download{-}file https://debian.sur5r.net/i3/pool/main/s/sur5r{-}keyring/sur5r{-}keyring\_2021.02.02\_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710}
\hypertarget{go-for-it}{%
\subsection{go for it}\label{go-for-it}}
\FunctionTok{sudo}\NormalTok{ dpkg }\AttributeTok{{-}i}\NormalTok{ ./keyring.deb}
\FunctionTok{sudo}\NormalTok{ echo }\StringTok{"deb http://debian.sur5r.net/i3/ }\VariableTok{$(}\FunctionTok{grep} \StringTok{\textquotesingle{}\^{}DISTRIB\_CODENAME=\textquotesingle{}}\NormalTok{ /etc/lsb{-}release }\KeywordTok{|} \FunctionTok{cut} \AttributeTok{{-}f2} \AttributeTok{{-}d}\OperatorTok{=}\VariableTok{)}\StringTok{ universe"} \OperatorTok{\textgreater{}\textgreater{}}\NormalTok{ /etc/apt/sources.list.d/sur5r{-}i3.list}
\FunctionTok{sudo}\NormalTok{ apt update}
\FunctionTok{sudo}\NormalTok{ apt install i3}
\end{Highlighting}
\end{Shaded}
Este programa no para de escribir en el disco continuamente. He dejado
de usarlo por que me sobra con el org-mode de emacs.
\hypertarget{qtile}{%
\subsection{qtile}\label{qtile}}
Si de todas formas lo quieres instalar, aquí tienes los comandos:
Aun no tengo claro como instalar \emph{Qtile} para poder lanzarlo desde
el login gráfico de Linux. Mi idea es instalarlo en un entorno virtual
(\emph{virtualenv}) de Python, para no enredar más con el Python del
sistema.
\begin{verbatim}
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
\end{verbatim}
Vamos a describir la instalación en un \emph{virtualenv} dedicado. Si te
bajas el Qtile estable desde su \href{http://qtile.org}{página web} en
el paquete vienen un montón de script auxiliares que te permiten hacer
la instalación aislada en un \emph{virtualenv} pero lo voy a hacer a
mano para tenerlo controlado con \texttt{pyenv}
\hypertarget{i3-window-manager}{%
\subsection{i3 window manager}\label{i3-window-manager}}
\begin{itemize}
\tightlist
\item
Creamos el \emph{virtualenv} \texttt{qtile} basado en la versión
3.10.0 que teniamos instalada previamente:
\end{itemize}
Añadimos el repo:
\begin{Shaded}
\begin{Highlighting}[]
\CommentTok{\# Creamos el directorio de trabajo}
\FunctionTok{mkdir} \OperatorTok{\textless{}}\NormalTok{workPath}\OperatorTok{\textgreater{}}\NormalTok{/qtile}
\BuiltInTok{cd} \OperatorTok{\textless{}}\NormalTok{workPath}\OperatorTok{\textgreater{}}\NormalTok{/qtile}
\CommentTok{\# Descargamos el qtile estable de la página web}
\FunctionTok{wget}\NormalTok{ https://github.com/qtile/qtile/archive/v0.18.1.tar.gz}
\FunctionTok{tar}\NormalTok{ xvzf v0.18.1.tar.gz}
\FunctionTok{rm}\NormalTok{ v0.18.1.tar.gz}
\CommentTok{\# Creamos el entorno virtual}
\ExtensionTok{pyenv}\NormalTok{ virtualenv 3.10.0 qtile}
\ExtensionTok{pyenv}\NormalTok{ local qtile}
\CommentTok{\# Instalamos los paquetes iniciales (comunes a mis entornos)}
\ExtensionTok{pip}\NormalTok{ install }\AttributeTok{{-}{-}upgrade}\NormalTok{ pip setuptools wheel}
\CommentTok{\# instalamos los requisitos}
\ExtensionTok{pip}\NormalTok{ install }\AttributeTok{{-}{-}no{-}cache{-}dir}\NormalTok{ xcffib}
\ExtensionTok{pip}\NormalTok{ install }\AttributeTok{{-}{-}no{-}cache{-}dir}\NormalTok{ cairocffi}
\CommentTok{\# Instalamos la versión estable de qtile}
\ExtensionTok{pip}\NormalTok{ install }\AttributeTok{{-}{-}no{-}cache{-}dir}\NormalTok{ qtile}
\end{Highlighting}
\end{Shaded}
Con esto ya estamos listos, podríamos arrancar \emph{Qtile} con
\texttt{qtile\ start}, pero no puede funcionar claro. Para que arranque
correctamente, tenemos que lanzarlo en un servidor X. (ver el punto
``\protect\hyperlink{lanzar-window-managers-con-xephyr}{Lanzar Window
Managers con Xephyr}'')
\hypertarget{configurar-qtile-en-virtualenv-para-arrancer-desde-el-lightdm}{%
\subsubsection{\texorpdfstring{Configurar Qtile en \emph{virtualenv}
para arrancer desde el
\emph{Lightdm}}{Configurar Qtile en virtualenv para arrancer desde el Lightdm}}\label{configurar-qtile-en-virtualenv-para-arrancer-desde-el-lightdm}}
Como \texttt{root} nos creamos un script \texttt{launch\_qtile} en
\texttt{/usr/local/bin}, con el siguiente contenido
\begin{Shaded}
\begin{Highlighting}[]
\BuiltInTok{cd}\NormalTok{ \textasciitilde{}/tmp}
\ExtensionTok{$}\NormalTok{ /usr/lib/apt/apt{-}helper download{-}file https://debian.sur5r.net/i3/pool/main/s/sur5r{-}keyring/sur5r{-}keyring\_2021.02.02\_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710}
\CommentTok{\#!/bin/bash}
\BuiltInTok{source} \StringTok{\textquotesingle{}/home/user/.pyenv/versions/3.10.0/envs/qtile/bin/activate\textquotesingle{}}
\ExtensionTok{qtile}\NormalTok{ start}
\end{Highlighting}
\end{Shaded}
Le damos permisos de ejecución con \texttt{chmod\ 755\ launch\_qtile}
(ojo a los permisos para \emph{all} que si no son estos no le gusta a
lightdm)
También como \texttt{root} creamos el fichero
\texttt{/usr/share/xsessions/qtile.desktop} con el contenido:
\begin{Shaded}
\begin{Highlighting}[]
\ExtensionTok{[Desktop}\NormalTok{ Entry]}
\VariableTok{Name=}\NormalTok{Qtile}
\VariableTok{Comment=}\NormalTok{Qtile }\ExtensionTok{Session}
\VariableTok{Exec=}\NormalTok{launch\_qtile}
\VariableTok{Type=}\NormalTok{Application}
\VariableTok{Keywords=}\NormalTok{wm}\KeywordTok{;}\ExtensionTok{tiling}
\end{Highlighting}
\end{Shaded}
Y con esto tendremos Qtile disponible en \emph{Lightdm}.
\hypertarget{lanzar-window-managers-con-xephyr}{%
\subsection{Lanzar Window Managers con
Xephyr}\label{lanzar-window-managers-con-xephyr}}
Para probar (o configurar) los \emph{Window Managers} sin salir de
nuestra sesión de Mate podemos usar Xephyr, si no lo tienes instalado
ejecuta:
\begin{Shaded}
\begin{Highlighting}[]
\FunctionTok{sudo}\NormalTok{ apt update}
\FunctionTok{sudo}\NormalTok{ apt install xserver{-}xephyr}
\end{Highlighting}
\end{Shaded}
\CommentTok{\# dpkg {-}i ./keyring.deb}
\CommentTok{\# echo "deb http://debian.sur5r.net/i3/ $(grep \textquotesingle{}\^{}DISTRIB\_CODENAME=\textquotesingle{} /etc/lsb{-}release | cut {-}f2 {-}d=) universe" \textgreater{}\textgreater{} /etc/apt/sources.list.d/sur5r{-}i3.list}
\CommentTok{\# apt update}
\CommentTok{\# apt install i3}
Para lanzar un \emph{Xserver} usaríamos un comando como:
\begin{Shaded}
\begin{Highlighting}[]
\ExtensionTok{Xephyr} \AttributeTok{{-}ac} \AttributeTok{{-}screen}\NormalTok{ 800x600 }\AttributeTok{{-}br} \AttributeTok{{-}reset} \AttributeTok{{-}terminate} \DecValTok{2}\OperatorTok{\textgreater{}}\NormalTok{ /dev/null :1 }\KeywordTok{\&}
\end{Highlighting}
\end{Shaded}
\begin{description}
\item[\textbf{-ac}]
Autorizar conexiones de clientes indiscriminadamente (\emph{disable
access restrictions})
\item[\textbf{-screen}]
Especificar la geometría de la pantalla.
\item[\textbf{-br}]
La ventana raiz tendrá fondo negro
\item[\textbf{-reset}]
Reset al terminar el último cliente
\item[\textbf{-terminate}]
Finalizar cuando se resetee el servidor
\item[\textbf{2\textgreater{} /dev/null}]
Mandar los mensajes de error al limbo (alias \textbf{NE} en nuestro pc)
\item[\textbf{:1}]
Arrancar el server en el DISPLAY=1
\end{description}
Asi que si queremos arrancar por ejemplo el \emph{i3wm} podríamos hacer
un script con las siguientes lineas:
\begin{Shaded}
\begin{Highlighting}[]
\ExtensionTok{Xephyr} \AttributeTok{{-}ac} \AttributeTok{{-}screen}\NormalTok{ 800x600 }\AttributeTok{{-}br} \AttributeTok{{-}reset} \AttributeTok{{-}terminate} \DecValTok{2}\OperatorTok{\textgreater{}}\NormalTok{ /dev/null :1 }\KeywordTok{\&}
\BuiltInTok{export} \VariableTok{DISPLAY=}\NormalTok{1}
\ExtensionTok{i3}
\end{Highlighting}
\end{Shaded}
Para \emph{Qtile} bastaria con cambiar \texttt{i3} por
\texttt{qtile\ start}
\hypertarget{documentaciuxf3n}{%
\section{Documentación}\label{documentaciuxf3n}}

@ -292,22 +292,6 @@ sudo apt update
sudo apt install chromium-browser chromium-codecs-ffmpeg
~~~~
Palemoon
: Un fork de _Firefox_ con menos chorradas. Instalado con el paquete `deb` descargado de su [página web](https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon)
Netsurf
: Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con `flatpak install netsurf`
Lagrange
: Un navegador para el protocolo _Gemini_. Instalado con la _appimage_ desde su [página web](https://git.skyjake.fi/gemini/lagrange)
Castor
: Otro navegador para el protocolo _Gemini_ programado en _Rust_. Instalado desde las fuentes siguiendo instrucciones de su [página web](https://sr.ht/~julienxx/Castor/)
## Algunos programas de control del sistema
@ -455,6 +439,28 @@ web](https://joplinapp.org/)
Joplin se instala en el directorio `~/.joplin` y crea su propia entrada en el menú.
### Palemoon
Un fork de _Firefox_ con menos chorradas. Instalado con el paquete `deb` descargado de su [página web](https://software.opensuse.org/download.html?project=home:stevenpusser&package=palemoon)
### LibreWolf
Otro fork de _Firefox_ centrado en la privacidad. Instalado como _appimage_ descargado desde su [página web](https://librewolf-community.gitlab.io/)
### Netsurf
Un navegador ultraligero (aunque no funciona con muchas páginas, solo para webs austeras) Instalado via flathub con `flatpak install netsurf`
### Lagrange
Un navegador para el protocolo _Gemini_. Instalado con la _appimage_ desde su [página web](https://git.skyjake.fi/gemini/lagrange)
### Castor
Otro navegador para el protocolo _Gemini_ programado en _Rust_. Instalado desde las fuentes siguiendo instrucciones de su [página web](https://sr.ht/~julienxx/Castor/)
## Terminal y shells
Por defecto tenemos instalado `bash`.

@ -1,6 +1,6 @@
# Utilidades
## Utilidades
## Utilidades variadas
gpick con
@ -83,6 +83,29 @@ rofi
Asociamos un atajo de teclado al comando: `rofi -show drun`
## time-tracking
### Activity Watcher
Instalado desde la web
En realidad no lo uso para nada.
### go for it
Este programa no para de escribir en el disco continuamente. He dejado
de usarlo por que me sobra con el org-mode de emacs.
Si de todas formas lo quieres instalar, aquí tienes los comandos:
~~~~{bash}
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
~~~~
# Internet
## Rclone
@ -123,37 +146,131 @@ rclone sync hubic:directorio_remoto /home/salvari/directorio_local -vv
* [Documentación](https://rclone.org/docs/)
# time-tracking
# Window Managers adicionales
## Activity Watcher
## i3wm
Instalado desde la web
Añadimos el repo:
En realidad no lo uso para nada.
```bash
cd ~/tmp
/usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
## go for it
sudo dpkg -i ./keyring.deb
sudo echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
sudo apt update
sudo apt install i3
```
Este programa no para de escribir en el disco continuamente. He dejado
de usarlo por que me sobra con el org-mode de emacs.
## qtile
Si de todas formas lo quieres instalar, aquí tienes los comandos:
Aun no tengo claro como instalar _Qtile_ para poder lanzarlo desde el login gráfico de Linux. Mi idea es instalarlo en un entorno virtual (_virtualenv_) de Python, para no enredar más con el Python del sistema.
~~~~{bash}
sudo add-apt-repository ppa:go-for-it-team/go-for-it-daily && sudo apt-get update
sudo apt-get install go-for-it
~~~~
Vamos a describir la instalación en un _virtualenv_ dedicado. Si te bajas el Qtile estable 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:
## i3 window manager
```bash
# Creamos el directorio de trabajo
mkdir <workPath>/qtile
cd <workPath>/qtile
# Descargamos el qtile estable de la página web
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
```
Añadimos el repo:
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
cd ~/tmp
$ /usr/lib/apt/apt-helper download-file https://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2021.02.02_all.deb keyring.deb SHA256:cccfb1dd7d6b1b6a137bb96ea5b5eef18a0a4a6df1d6c0c37832025d2edaa710
#!/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 &
```
# dpkg -i ./keyring.deb
# echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
# apt update
# apt install i3
**-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
i3
```
Para _Qtile_ bastaria con cambiar `i3` por `qtile start`

Loading…
Cancel
Save