277 - Exprimir el escritorio Linux
En este podcast encontrarás algunos trucos, consejos y recomendaciones para exprimir el escritorio Linux, GNOME Shell, Mate, Cinnamon, Plasma
Para poder exprimir al máximo cualquier entorno de escritorio, aplicación, herramienta, sin lugar a dudas es necesario conocerlo a fondo. En este sentido, una de las opciones mas potentes que nos da cualquier aplicación o entorno de escritorio es sin lugar a dudas los atajos de teclado. Y de esto precisamente va este nuevo episodio del podcast, sobre como exprimir el escritorio Linux.
Así, en este episodio encontrarás diferentes opciones para personalizar tu entorno de escritorio, y aunque está enfocado a Ubuntu, y en concreto a GNOME Shell, desde luego lo puedes utilizar con cualquier otro entorno de escritorio, MATE, Cinnamon, XFCE. Desde luego que cada uno de ellos tienes diferentes particularidades. Esto te lo comento porque lo tendrás que adaptar para cada una de ellas.
Exprimir el escritorio Linux
AutoHotkey
Este episodio del podcast nade a raíz de un artículo publicado en Genbeta, que hace referencia a los scripts mas útiles de AutoHotkey para automatizar tareas en Windows.
La cuestión es que raíz de leer este artículo, pensé que sería un reto interesante, transpolar estos scripts a Ubuntu. Y digo a Ubuntu, porque como sabes este es distribución de cabecera y GNOME Shell uno de los entornos de escritorio que utilizo por defecto. Sin embargo, como te he comentado anteriormente, esto no quita que se pueda utilizar en cualquier otro entorno de escritorio, ya sea derivado de GNOME, como puede ser MATE o Cinnamon, o incluso en otros como XFCE o KDE Plasma por citar algunos.
Atajos de teclado
Antes de nada, antes que te abalances sobre los distintos scripts que voy a revisar, te recomiendo que le des un vistazo a los atajos de teclado que hay disponibles en tu entorno de escritorio. Te comento esto, porque es muy posible, que algunas de las características que voy a comentar estén disponibles por defecto, y no sea necesario que te pelees para implementarla por tu cuenta.
Así, por defecto en Ubuntu, en el entorno de escritorio GNOME Shell, encontrarás los siguientes apartados donde puedes localizar clasificados los distintos atajos de teclado.
- Acceso universal
- Capturas de pantalla
- Escritura
- Lanzadores
- Navegación
- Sistema
- Sonidos y medios
- Ventanas
- Combinaciones personalizadas
Los scripts de automatización de tareas
A partir de aquí, encontrarás los distintos scripts de automatización de tareas sobre los que se hablan en Genbeta, y su correspondiente equivalente en Ubuntu.
Abrir una página web
Si eres de los que por costumbre suelen visitar una determinada página web, no estaría mal que te crearas un atajo de teclado para abrir rápidamente esta página web. Para ello simplemente en los atajos de teclado creas uno nuevo con el siguiente contenido, en el caso de que la página web que siempre quieras visitar sea atareao.es
sensible-browser https://atareao.es
O bien
firefox https://atareao.es
En el primer caso, utilizando sensible-browser
te abrirá el navegador que tengas configurado por defecto, pero, si por la razón que fuera siempre quieres utilizar Firefox
te recomiendo que utilices la segunda opción.
Buscar en Google o en el buscador que quieras directamente desde el portapapeles
En este caso concreto, tienes que implementar un script, que lo puedes llamar, search_in_google.sh
y que puedes poner en ~/.local/bin
con el siguiente contenido,
sensible-browser https://www.google.com/search?q=$(xclip -o)
A continuación tienes que crear el atajo de teclado, cuyo comando será,
bash /home/lorenzo/.local/bin/search_in_google.sh
Indicarte que es necesario que tengas instalado xclip
para que esto funcione como esperas. Lo mejor es que lo tengas instalado, porque esta herramienta es realmente interesante. Para instalar xclip
ejecuta,
sudo apt install xclip
Buscar en atareao.es lo que quieras
Para esto te recomiendo que instales rofi
. Una vez instalado, puedes crearte un script que situarás en el mismo directorio que el anterior con el siguiente contenido
#!/bin/bash
ans=$(echo -e "" | rofi -p "Buscar en atareao.es:" -dmenu)
rs=$?
if [ $rs -eq 0 ] && [ "$ans" ]
then
sensible-browser "google.com/search?q=site:atareao.es+${ans}"
fi
Puedes instalar rofi
con un simple sudo apt install rofi
. Pero, si no quieres instalar rofi
, también puedes implementar un cuadro de diálogo sencillo, con alguna de las herramientas que comento en el tutorial diálogos para scripts. Por ejemplo lo podrías hacer también con zenity
. Por ejemplo,
#!/bin/bash
nombre=$(zenity --entry \
--title="Buscar" \
--width=250 \
--ok-label="Aceptar" \
--cancel-label="Cancelar" \
--text="¿Que buscas?")
ans=$?
if [ $ans -eq 0 ]
then
sensible-browser "google.com/search?q=site:atareao.es+${nombre}"
fi
Para poder utilizar zenity
necesitarás instalarlo desde los repositorios. Esto lo puedes ver desde el tutorial de diálogos para scripts
Apagar, reiniciar o bloquear la pantalla
Otra interesante herramienta que te puedes crear es un atajo de teclado para salir de la sesión o apagar el equipo sin necesidad de mover el ratón, simplemente con tus dedos. De nuevo, puedes utilizar rofi
o también puedes utilizar zenity
, yad
, o cualquiera de las opciones que comento en el tutorial que te he indicado anteriormente. En el caso de que te decantes por rofi
, lo puedes hacer de la siguiente forma,
#!/bin/bash
apagar="Apagar"
reiniciar="Reiniciar"
suspender="Suspender"
salvapantallas="Salvapantallas"
bloquear="Bloquear"
logout="Cerrar sesión"
options="${apagar}\n${reiniciar}\n${suspender}\n${salvapantallas}\n${bloquear}"
ans=$(echo -e $options | rofi -p "Selecciona:" -dmenu)
rs=$?
if [ $rs -eq 0 ]
then
echo $ans
case "$ans" in
$apagar)
bus-send --system --print-reply --dest=org.freedesktop.login1 \
/org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" \
boolean:true
;;
$reiniciar)
dbus-send --system --print-reply --dest=org.freedesktop.login1 \
/org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" \
boolean:true
;;
$suspender)
dbus-send --system --print-reply --dest=org.freedesktop.login1 \
/org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" \
boolean:true
;;
$salvapantallas)
gnome-screensaver-command --activate
;;
$bloquear)
gnome-screensaver-command --lock
;;
$logout)
bspc quit
;;
esac
fi
Ejecutar cualquier aplicación
En el caso de Ubuntu, y el resto de entornos de escritorio, esto es realmente fácil de hacer, simplemente crear la combinación de teclas que mejor se adapta a tus necesidades.
Atajos de teclado para subir y bajar volumen
Aquí hay que hacer bien poco, porque por defecto, simplemente se trata de asignar la combinación de teclas que quieras desde Configuración > Configuración de teclas
y buscas las sección Sonido y medios.
Borrar la papelera de reciclaje
Otro script con el siguiente contenido
#!/bin/bash
rm -rf /home/lorenzo/.local/share/Trash/*
A lo mejor sería interesante un sencillo cuadro de diálogo que te indicara los archivos y directorios que hay en la papelera, y te preguntara si estás seguro de borrarla.
Para hacer este cuadro de diálogo, te recomiendo le des un vistazo al tutorial de diálogos para scripts.
import os
import gi
try:
gi.require_version("Gtk", "3.0")
except ValueError:
exit(1)
from gi.repository import Gtk
nfiles = len([name for name in os.listdir(".") if os.path.isfile(name)])
ndirs = len([name for name in os.listdir(".") if os.path.isdir(name)])
msg = "Vas a eliminar definitivamente {} archivos y {} directorios".format(nfiles, ndirs)
dialog = Gtk.MessageDialog()
dialog.set_title("Vaciar la papelera")
dialog.set_markup(msg + ' ¿Estás <span weight="bold" foreground="red">seguro</span>?')
dialog.add_button('Si', Gtk.ResponseType.YES)
dialog.add_button('No', Gtk.ResponseType.NO)
try:
if dialog.run() == Gtk.ResponseType.YES:
exit(0)
except KeyboardInterrupt:
pass
exit(1)
O en el caso de que utilices zenity
lo puedes resolver de la siguiente forma,
trash=/home/lorenzo/.local/share/Trash/
directorios=$(find ${trash} -maxdepth 1 -path . -prune -type d | wc -l)
archivos=$(find ${trash} -maxdepth 1 -type f | wc -l)
texto="¿<span weight=\"bold\" foreground=\"red\">Seguro</span> que quieres vaciar la papelera que ahora tiene <span weight=\"bold\" foreground=\"red\">${directorios}</span> directorios y <span weight=\"bold\" foreground=\"red\">${archivos}</span> archivos?"
zenity --question \
--title="https://atareao.es" \
--width=250 \
--ok-label="Continuar" \
--cancel-label="Cancelar" \
--text="${texto}"
ans=$?
if [ $ans -eq 0 ]
then
rm -rf /home/lorenzo/.local/share/Trash/*
fi
Mantener una ventana encima del resto
En el caso que estés trabajando con una aplicación que necesites tener siempre en primer plano, por ejemplo si estás trabajando con un pdf
o con un libro electrónico, puedes habilitar el siguiente atajo de teclado.
wmctrl -r :ACTIVE: -b toggle,above
Autocorrección y extensión de textos
En este caso, mi herramienta por defecto, de la que te hablé en el episodio 254 del podcast titulado escribir mas con menos es sin lugar a dudas espanso. Una herramienta que a día de hoy me resuelve, no solo lo básico sino que mucho mas.
Conclusión
Estas son solo algunas de las posibilidades que te comento para exprimir el escritorio Linux, pero en lo que se refiere a automatización de tareas en el escritorio Linux, tu pones el límite.
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.
Imagen de portada Cristina Anne Costello en Unsplash