En Tue, Oct 14, 2025 at 09:20:40AM +0200, Camaleón escribió:
El 2025-10-14 a las 02:44 +0000, 0xfa escribió:
Buenas, hace poco descubrí el programa «caffeine» (escrito en Python) que
está muy bueno. Por un lado es un demonio que evita la suspensión de la
computadora si hay una aplicación corriendo en pantalla completa.
También viene con la aplicación «caffeinate» que permite ejecutar un comando
cualquiera y evitar que la computadora entre en suspensión, por ejemplo al
bajar un archivo grande o ejecutar una tarea que lleve mucho tiempo. La
sintaxis es "caffeinate <comando> <argumentos>"
Funciona bien con <argumentos> que no tengan guiones, por ejemplo:
$ caffeinate wget https://debian.org/
Pero al intentar usar guiones como por ejemplo:
$ caffeinate ffmpeg -hwaccel vaapi -i video1.mp4 -vcodec libx265 -crf
28 video2.mp4
no funciona, falla, sale el mensaje:
usage: caffeinate [-h] [-V] COMMAND [ARGUMENT ...]
Inhibit desktop idleness for the duration of COMMAND
positional arguments:
COMMAND command to run
ARGUMENT arguments to COMMAND
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
La única alternativa que encontré para esos casos es poner el comando en un
script y llamarlo:
$ caffeinate script.sh
Para leer los argumentos utiliza el módulo argparse. Así que la consulta,
¿alguien sabe como pasar argumentos con guiones a caffeinate, o en su
defecto modificar el código para que los acepte?
Desde ya,
muchas gracias :)
Hum... no parece lógico que no funcione con argumentos con guiones
porque precisamente el paso de los parámetros/argumentos se define
precedido con guiones :-?
Algo se nos pasa.
¿Has probado a poner la «churro-orden» entre comillas?
caffeinate "ffmpeg -hwaccel vaapi -i video1.mp4 -vcodec libx265 -crf 28
video2.mp4"
Buen día, muchas gracias por la sugerencia.
Si, había probado esa opción y da error, porque toma todo lo que está
entre comillas como el comando a ejecutar y da tira el mensaje "file not
found".
Saludos,