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 :)

Responder a