Creador de accesos directos automatizados para Linux Mint 22.3 (Cinnamon, sesión X11).
Es una interfaz gráfica para armar “acciones”: secuencias de pasos que abren programas, documentos, páginas web o comandos, colocan ventanas, simulan clics y pulsan teclas, encadenados y en orden — como una macro de AutoHotkey, pero con xdotool/wmctrl por debajo. Cualquier acción se convierte en un acceso directo de un clic (Escritorio y/o menú de aplicaciones) que ejecuta todos sus pasos sin abrir la ventana de la app.
En la práctica, cualquier rutina que hoy hagas a mano —abrir tus apps de trabajo y colocarlas en su sitio, dejar todo listo para grabar, rellenar el mismo formulario de siempre— se queda guardada como un solo icono que la repite exactamente igual, todas las veces.
Todo — interfaz y lógica — vive en un único archivo .sh; tus datos (acciones, ajustes, iconos) se guardan aparte, en tu carpeta de configuración (ver «Dónde guarda las cosas» más abajo).
https://github.com/user-attachments/assets/8e310451-187f-46ca-92ac-e612d38a0f05
Alt+F10); ambas se aplican a la última ventana abierta por la acción, a la ventana de un paso anterior por su alias, o a la que encuentres buscando por título.Los pasos se encadenan libremente dentro de una misma acción, así que el límite real lo pone tu imaginación. Algunos ejemplos para que veas el alcance:
localhost, cada cual en su sitio.Y como cada acción guardada tiene su propio icono, la siguiente vez ni siquiera hace falta abrir Mi Lanzador: con un doble clic en el Escritorio (o el atajo de teclado que le asignes — ver «Ejecutar una acción sin abrir la ventana» más abajo) ya está todo en marcha.
Al crear un acceso directo eliges Escritorio, menú de aplicaciones, o ambos. Si al hacer doble clic Cinnamon te pide “confiar” o “permitir ejecución” la primera vez, es normal — acéptalo una vez y no se vuelve a preguntar.
python3-gi gir1.2-gtk-3.0 python3-gi-cairo gir1.2-notify-0.7xdotool y wmctrl, solo si vas a colocar ventanas, hacer clic, enviar teclas o escribir texto (incluida la colocación integrada dentro de abrir programa/documento/web/comando).gettext u otra).El script detecta si faltan las dos últimas (GTK3 y xdotool/wmctrl) y se ofrece a instalarlas con pkexec, pidiendo confirmación explícita antes de tocar nada. Si dices que no, o no hay pkexec disponible, te deja el comando exacto para hacerlo tú mismo. Para xdotool/wmctrl puedes además reintentarlo cuando quieras desde Ajustes → «Instalar ahora»; GTK3 no tiene ese botón — sin él la interfaz no llega a abrirse, así que tampoco hay Ajustes al que entrar — basta con volver a ejecutar el script una vez lo hayas instalado a mano. Python 3 es el único requisito que el script no ofrece instalar por ti: si llegara a faltar (no debería, en una instalación normal de Mint), directamente te muestra el comando.
Mi Lanzador se desarrolla y se prueba sobre Linux Mint 22.3 (Cinnamon, X11), y es la única combinación totalmente soportada. Dicho esto, el script no impone ningún candado por distribución: no comprueba en ningún punto qué sistema es, así que en cualquier sesión Linux/X11 con GTK3 debería comportarse igual. De hecho, varias partes ya son genéricas por diseño — detecta terminales instaladas (gnome-terminal, mate-terminal, xfce4-terminal, tilix, terminator, konsole, xterm…), navegadores (Firefox/Chrome/Chromium/Brave, con sus variantes de nombre de paquete), y coloca ventanas usando propiedades EWMH estándar que implementan la mayoría de gestores de ventanas X11 (Xfwm4 de XFCE, Marco de MATE, KWin en X11, Mutter en Xorg…), aunque solo se ha ajustado y probado a fondo contra Muffin, el de Cinnamon.
La única pieza realmente atada a Mint/Ubuntu/Debian es la instalación automática de dependencias, que usa apt. En una distribución con otro gestor de paquetes esa instalación automática no va a funcionar, pero si instalas tú mismo los paquetes equivalentes antes de lanzarlo, el resto de la aplicación debería arrancar sin más:
| Distro | Gestor | Paquetes aproximados |
|---|---|---|
| Fedora / RHEL | dnf |
python3-gobject gtk3 python3-cairo libnotify xdotool wmctrl |
| openSUSE | zypper |
python3-gobject typelib-1_0-Gtk-3_0 typelib-1_0-Notify-0_7 xdotool wmctrl |
| Arch / Manjaro | pacman |
python-gobject gtk3 python-cairo libnotify xdotool wmctrl |
(Nombres orientativos — compruébalos con el buscador de paquetes de tu distro, pueden variar entre versiones.)
Como en Wayland (ver más abajo) la colocación de ventana, el clic y el teclado no funcionan en ningún escritorio, esa limitación aplica igual sin importar la distribución.
chmod +x mi-lanzador.sh
./mi-lanzador.sh
Con eso basta. La primera vez:
~/.local/share/mi-lanzador/mi-lanzador.sh — esa pasa a ser la copia “instalada”; el .sh que descargaste ya no hace falta.Después de eso, ábrelo desde el menú o el icono del Escritorio, como cualquier otra app.
Scriptya es un lanzador de scripts: organiza los tuyos en un menú con búsqueda y puede convertir cualquiera de ellos en una app de escritorio con su propio icono, sin escribir un .desktop a mano. Puedes añadir unos metadatos opcionales desde Scriptya para tenerlo organizado con el nombre, descripción, cambiar su icono, etc.
| Qué | Dónde |
|---|---|
| Acciones | ~/.config/mi-lanzador/acciones.json |
| Ajustes | ~/.config/mi-lanzador/ajustes.json |
| Iconos personalizados | ~/.config/mi-lanzador/iconos/ |
| Registro de la última ejecución | ~/.config/mi-lanzador/ultima_ejecucion.log |
| Log de errores | ~/.config/mi-lanzador/error.log |
| Script instalado | ~/.local/share/mi-lanzador/mi-lanzador.sh |
Cualquier error inesperado se registra en el log de errores y además se muestra en un aviso: no falla en silencio, porque normalmente se abre con doble clic, sin terminal donde ver nada. El registro de la última ejecución, en cambio, es la salida de la última acción que has lanzado (avisos incluidos) — útil para ver por qué un paso concreto no hizo lo que esperabas.
Si tu sesión de Cinnamon es Wayland nativo, abrir programas/webs/comandos funciona igual, pero colocar ventanas, hacer clic, enviar teclas y escribir texto no van a funcionar, aunque tengas xdotool y wmctrl instalados — es una limitación de esas herramientas, no del script. Se detecta sola y avisa una vez al día. Para tener todo, elige la sesión “Cinnamon” (X11) en la pantalla de inicio de sesión, no la que dice “Cinnamon (Wayland)”.
mi-lanzador.sh --ejecutar <id_de_la_accion>
Corre esa acción de principio a fin sin mostrar ninguna ventana. Es lo que usan por dentro los accesos directos .desktop que genera la app, y sirve igual de bien para asignarle un atajo de teclado propio desde Cinnamon.
Un único .sh: la parte de bash hace la auto-instalación, comprueba/instala dependencias y avisa de Wayland; al final hace exec python3 sobre un heredoc con toda la interfaz en PyGObject (GTK3). Sin build, sin paquetes propios que instalar — el archivo es el programa.
Consulta el archivo LICENSE de este repositorio.
Hecho por Filonux.