Automatizar la ejecución de ComfyUI en Ubuntu 22.04 LTS

Publicado por P. Ruiz en

Hace unos días, te explicábamos cómo Instalar ComfyUI para Stable Diffusion en Ubuntu 22.04 LTS. Al final de ese artículo te decíamos que, para ejecutarlo, era necesario activar el entorno virtual de Python y ejecutar el módulo principal del programa. Todo ello, teniendo como directorio de trabajo la carpeta donde se había instalado ComfyUI.

Como se trata de una tarea algo tediosa, he pensado que lo mejor sería automatizarla, para que pueda ejecutarse como cualquier otra aplicación del sistema. Y eso es lo que haremos en el artículo de hoy.

Crear un script para ejecutar ComfyUI

Para llevar a cabo la tarea, lo primero que haremos será crear un script que ejecute los tres pasos indicados arriba. Pero antes, crearemos una subcarpeta en nuestra carpeta de perfil, que contenga todos los script que vayamos a necesitar en el futuro. Así estarán todos en el mismo sitio. Lo conseguiremos con esta orden:

mkdir ~/scripts

A continuación, lo convertimos en nuestro directorio de trabajo con la siguiente orden:

cd ~/scripts

Ejecutamos ambas ordenes de forma consecutiva.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-001

A continuación, usamos nuestro editor de textos preferido para crear un nuevo archivo, en el directorio scripts, al que llamaremos run_comfyui.sh. Por ejemplo, ejecutando la siguiente orden:

nano run_comfyui.sh

Escribimos la orden y pulsamos la tecla Intro.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-002

Una vez en el espacio de trabajo del editor de textos, escribimos el contenido del script, que será algo parecido a esto:

#!/bin/bash

# Cambia al directorio especificado
cd /home/usuario/sd/ComfyUI

# Activa el entorno virtual
source env/bin/activate

# Ejecuta el script de Python
python3 main.py

Cuando hayamos terminado de escribirlo, salimos del editor, asegurándonos de guardar los cambios.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-003

Antes de que podamos comprobar si funciona correctamente, debemos dar permisos de ejecución al archivo. Esto podemos conseguirlo con una orden como esta:

chmod +x run_comfyui.sh

Como antes, escribimos la orden y pulsamos la tecla Intro.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-004

Ahora sí. Estamos listos para ver si nuestro trabajo da sus frutos. Solo tenemos que escribir algo como esto:

./run_comfyui.sh

… Y volver a pulsar la tecla Intro para que se ejecute.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-005

Al hacerlo, veremos una salida equivalente a la que obteníamos al final del artículo anterior.

Solo nos quedaría abrir una ventana de nuestro navegador preferido y escribir la URL que encontramos al final.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-006

Sin embargo, ahora que ya hemos comprobado que el script funciona correctamente, nosotros pulsaremos Ctrl + C para detener la ejecución, porque daremos un paso más para simplificar el uso cotidiano de ComfyUI.

Crear un acceso directo al script en el Panel de Aplicaciones.

Disponer de un script como el anterior puede ser una buena idea para simplificar la ejecución de ComfyUI, pero puede ser aún mejor si creamos un nuevo elemento en el Panel de Aplicaciones, que nos permita ejecutarlo como cualquier otra aplicación del sistema.

Se trata de una tarea parecida a la que resolvimos en el artículo Ejecutar un script desde el escritorio o la barra de inicio de Ubuntu, pero como ahora hemos realizado toda la instalación para la cuenta con la que estamos trabajando, no tiene sentido que la ejecución pueda intentarse desde cualquier otra cuenta del equipo. Sobre todo porque no tendrá permisos para hacerlo.

Por lo tanto, en este caso crearemos un nuevo elemento en el Panel de Aplicaciones solo para la cuenta de usuario con la que estamos trabajando.

No obstante, lo primero será disponer de un icono que identifique al script en el Panel de Aplicaciones. En mi caso, se trata de una imagen de 64×64 píxeles que tengo almacenada en la carpeta Imágenes, con el nombre ComfyUI.png. Sin embargo, por coherencia, prefiero que la imagen se almacene en la misma carpeta que el script. Por lo tanto, utilizo una orden como esta:

cp ~/Imágenes/ComfyUI.png ./ComfyUI.png

Ten en cuenta que el directorio de trabajo sigue siento ~/scripts.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-007

A continuación, crearemos el acceso directo a script, que añadiremos al Panel de Aplicaciones. Lo llamaremos ComfyUI.desktop y, para crearlo, volveremos a usar nuestro editor preferido:

nano ComfyUI.desktop

Ejecutamos la orden anterior.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-008

Una vez en el espacio de trabajo del editor de textos, escribimos el contenido del archivo, que será algo parecido a esto:

[Desktop Entry]
Type=Application
Terminal=true
Name=ComfyUI
Icon=/home/usuario/scripts/ComfyUI.png
Exec=/home/usuario/scripts/run_ComfyUI.sh

Cuando hayamos terminado de escribirlo, salimos del editor, asegurándonos de guardar los cambios.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-009

Ya casi estamos, pero antes de que podamos comprobar si funciona, debemos dar permisos de ejecución al archivo. Esto podemos conseguirlo con una orden como esta:

chmod +x ComfyUI.desktop

Ejecutamos la orden.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-010

Ahora nos falta mover el archivo ComfyUI.desktop a la carpeta ~/.local/share/applications/. Lo conseguiremos usando el siguiente comando.

mv ComfyUI.desktop ~/.local/share/applications/

La carpeta ~/.local/share/applications contiene las referencias a scripts y aplicaciones que solo estarán disponibles para el usuario actual.

Recuerda que, para que un enlace se encuentre accesible para todos los usuarios, debe ubicarse en la ruta /usr/share/applications… Pero para ponerlo ahí necesitarás privilegios administrativos

Movemos el archivo a su ubicación definitiva

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-011

Ahora, bastará con abrir el Panel de Aplicaciones y comenzar a escribir su nombre.

Cuando aparezca, solo tendrás que hacer clic sobre él. El script se ejecutará de forma inmediata.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-012

En nuestro caso, se abrirá una nueva ventana de Terminal, donde se ejecutará el script automáticamente.

Como antes, solo tendríamos que abrir una ventana del navegador y escribir la URL que encontramos al final.

Automatizar-la-ejecución-de-ComfyUI-en-Ubuntu-22-04-LTS-013

Y con esto completamos el contenido del artículo. Espero que te haya resultado útil.