paint-brush
Cómo automatizar su escritorio Linuxpor@hrishikeshpathak
12,957 lecturas
12,957 lecturas

Cómo automatizar su escritorio Linux

por Hrishikesh Pathak5m2022/08/15
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

En este tutorial para principiantes, escribiremos un script de shell y usaremos las utilidades X11 para automatizar nuestro escritorio Linux. El objetivo del artículo es configurar automáticamente nuestro entorno de trabajo diario con un solo comando. Automatizar una tarea repetitiva regular puede hacerte muy productivo. Este es un tutorial muy pequeño para brindarle un punto de partida sobre la automatización en los escritorios de Linux.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Cómo automatizar su escritorio Linux
Hrishikesh Pathak HackerNoon profile picture


En general, automatizar nuestras tareas repetitivas diarias nos ahorra tiempo. Pero a veces, los programadores automatizamos una tarea tan simple que llevó más tiempo automatizar que hacer manualmente la tarea real. Creo que has visto este meme, ¿verdad? Lo más divertido es que, como programador, puedo relacionarme con este meme 😂.



Bromas aparte, automatizar una tarea repetitiva regular puede hacerte muy productivo, si la ejecutas bien. Automatizar una tarea también puede ayudarlo a desarrollar su capacidad de pensamiento crítico. Al hacer esto, aprenderá cómo dividir un problema grande en partes pequeñas y resolverlas una por una.


Lo que debe esperar en este tutorial

En este tutorial para principiantes, escribiremos un script de shell y usaremos las utilidades X11 para automatizar nuestro escritorio Linux. El objetivo del artículo es configurar automáticamente nuestro entorno de trabajo diario con un solo comando.


Para darle una idea, cuando ejecuto el script, abrirá el cliente de correo en un espacio de trabajo. Luego irá al siguiente espacio de trabajo y abrirá los sitios web de Reddit y Twitter en el navegador Chrome. Por lo tanto, crea un entorno de trabajo sin hacer todas estas tareas manualmente.


Este es un tutorial muy pequeño para brindarle un punto de partida sobre la automatización en los escritorios de Linux. Construyes tu propio flujo de trabajo automático encima de esto y lo compartes conmigo. Estaré muy contento de verlos.


El resultado final de este tutorial se ve así.


Instalación de las herramientas necesarias

Estamos usando xdotool para automatizar el escritorio de Linux. Esta herramienta está diseñada específicamente para el sistema de ventanas x11 y es posible que no sea totalmente compatible con Wayland.


Para instalar xdotool en su distribución de Linux, ejecute los siguientes comandos.


  • Debian y Ubuntu: apt-get install xdotool
  • Fedora: dnf install xdotool
  • FreeBSD: pkg install xdotool
  • OpenSUSE: zypper install xdotool

Automaticemos nuestro escritorio Linux

Cree un script bash y hágalo ejecutable. Usaremos este script para ejecutar la automatización.


 $ touch automation.sh $ sudo chmod +x automation.sh


Agregue el shebang y su ruta binaria bash en la parte superior del script. Esta línea localiza el intérprete de bash y ejecuta su script.


 #! /bin/bash

Abre programáticamente tu cliente de correo

En este ejemplo, estoy usando Geary como cliente de correo. Puedes usar el tuyo también. Para abrir Geary desde la terminal, podemos ejecutar el siguiente comando.


 geary 1>/dev/null 2>/dev/null &


Este comando abre el cliente de correo de Geary y desconecta el proceso de la terminal. Cualquier resultado de la aplicación Geary se enviará a la ubicación /dev/null . Esto es fundamental para mantener limpio nuestro terminal.


Agregue la línea anterior a nuestro script bash. Abre la aplicación Geary cuando ejecutamos el script. Como abrir aplicaciones GUI lleva tiempo, debemos esperar un poco. Por lo tanto, agregue un sueño de 2 segundos después del comando anterior.


 sleep 2

Cambiar al siguiente espacio de trabajo

En mi entorno de escritorio, tengo que presionar ctrl+alt+Right para cambiar al siguiente espacio de trabajo. Del mismo modo, ctrl+alt+Left para el espacio de trabajo anterior.


Ahora, convierta esta lógica en código usando xdotool en nuestro script bash. Para navegar al siguiente espacio de trabajo, agregue la siguiente línea en el script.


 xdotool key ctrl+alt+Right


Para evitar posibles errores, agregamos un tiempo de suspensión de 2 segundos en el script. Puede cambiar este tiempo según sus necesidades.


 sleep 2

Abrir Google-Chrome

En el segundo espacio de trabajo, nuestro script necesita abrir el navegador google-chrome y abrir 2 sitios web. Para abrir el navegador google-chrome, usamos la misma lógica que abrimos nuestro cliente de correo en el paso anterior. Abrimos la GUI de google-chrome y enviamos todos los resultados del terminal a la ubicación /dev/null .


 google-chrome 1>/dev/null 2>/dev/null &


Ahora nuestro plan es abrir 2 pestañas del navegador. Uno de los cuales contiene el sitio web de HackerNoon y el otro contiene el sitio web de Twitter. Piensa en esta tarea. ¿Sabes cómo abrir una pestaña del navegador usando un atajo de teclado?


Pensemos en nuestro flujo de trabajo habitual de abrir un sitio web en nuestro navegador web.


  1. Usamos ctrl+t para abrir una nueva pestaña del navegador.
  2. Luego ponemos la URL en la barra de búsqueda
  3. Presiona enter o regresa para visitar una página web.


Ahora tenemos que emular este flujo usando código. De los ejemplos anteriores, ¿sabe cómo emular la pulsación de una tecla usando xdtool, verdad?


 xdotool key ctrl+shift+t


El comando anterior crea una nueva pestaña del navegador. Para poner su URL en la barra de búsqueda, usamos la palabra clave type de xdotool.


 xdotool type "https://www.hackernoon.com/"


Luego emulamos el botón de entrar o regresar para visitar el sitio web.


 xdotool key Return


Ahora podemos combinar estos 3 comandos para ejecutarlos secuencialmente uno tras otro.


 xdotool key "ctrl+shift+t"; xdotool type "https://www.hackernoon.com/"; xdotool key Return


Intenta ejecutar este comando en tu terminal. ¿Está funcionando? ¡Felicidades 🎊!


Ahora intente escribir un comando para abrir twitter.com en una nueva pestaña. Puedes hacerlo. Solo eche un vistazo al comando anterior y modifíquelo ligeramente para que se ajuste a sus necesidades.


Nuestro script bash de automatización ahora está completo. Después de escribir el comando para abrir Twitter en google-chrome, el script final se ve así.


 #! /bin/bash geary </dev/null &>/dev/null & sleep 2 #Go to workspace 2 xdotool key ctrl+alt+Right sleep 2 google-chrome </dev/null &>/dev/null & sleep 4 xdotool key "ctrl+t"; xdotool type "https://www.hackernoon.com/"; xdotool key Return sleep 4 xdotool key "ctrl+t"; xdotool type "https://twitter.com/"; xdotool key Return echo "Your workspace is ready 😎"

Ejecutando el script bash

Para ejecutar nuestro script bash, especifique el nombre del archivo del script con la ruta relativa al script.


 $ ./automation.sh


Esto ejecutará nuestro script en la terminal y podrá ver la apertura automática de la aplicación y el cambio de espacio de trabajo frente a usted.

Conclusión

Este es un tutorial para principiantes para aprender la automatización básica del escritorio de Linux. Visite la documentación de xdotool para obtener más información. Si aprendiste algo nuevo, compártelo con tus compañeros sociales.