Estou tentando criar um script bash e um atalho .desktop que alternam (iniciam e param) o servidor ComfyUI. Este é meu script bash de trabalho atual para iniciar o servidor ComfyUI:
#!/bin/bash
# activate the venv
source ./AI/ComfyUI/venv/bin/activate
# start ComfyUI
python3 ./AI/ComfyUI/main.py
Tomando algumas dicas desta pergunta: Como posso verificar com um script Bash se um aplicativo está em execução?
- como substituo a entrada bash usada naquele script por um comando simples codificado para o script python? A tentativa abaixo está correta?
- já que ele usa venv, há algo extra que eu preciso fazer quando eu verificar a instância e depois fechá-la se ela estiver lá?
BASECMD=${1%%\ *}
#is this correct?
PID=$("python3 ./AI/ComfyUI/main.py" "$BASECMD")
if [ "$?" -eq "0" ]; then
echo "at least one instance of "$BASECMD" found, killing all instances"
# stop ComfyUI
kill $PID
else
echo "no running instances of "$BASECMD" found, starting one"
# activate the venv
source ./AI/ComfyUI/venv/bin/activate
# start ComfyUI
$1
fi
Último (pequeno) detalhe, para o atalho .desktop eu aponto para um ícone. Se possível, eu gostaria de alternar ícones para os estados de início/parada (como a imagem abaixo). Isso é possível com um .desktop?
Isso deve funcionar para você. Basta modificar os caminhos para os locais apropriados.
O
~/.local/share/applications/comfyui.desktop
arquivo:Copie-o para sua área de trabalho para que ele fique visível e você possa alterar livremente o arquivo .desktop sem afetar o arquivo padrão armazenado em
~/.local
: