Apagar el equipo automáticamente al terminar las descargas directas con Tucan

nullRecientemente ha salido una nueva versión del gestor de descarga directa Tucan.

Entre las novedades y mejoras que incluye la versión 0.3.9 se encuentra una que echaba especialmente de menos (también me gusta el soporte desde la linea de comandos o CLI) y no es otra que el apagado automático del equipo al finalizar las descargas que estuviesen programadas en la cola.

Aunque es fácil de hacer utilizando el comando shutdown requiere sacar la bola de cristal para adivinar el tiempo que tardará en finalizar (nada como contar con dicha funcionalidad de serie en el programa).

El problema es que en Linux no funciona correctamente y aquí quiero compartir cómo solucionarlo.

Modificando el código del programa

Resulta que tras probarlo tanto en Ubuntu 9.04 como en Debian Lenny encuentro que no funcionaba debido al uso incorrecto del comando shutdown.

Si observamos la línea 54 del fichero tucan-0.3.9/ui/gtk/shutdown.py observamos lo siguiente:

if subprocess.call(["sudo", "-n", "shutdown", "h", "now"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0:

cuando

  • ni sudo admite el parámetro -n
  • ni shutdown puede lanzarse sin poner delante del parámetro h un signo – (debería usarse como -h)

En definitiva, dicha línea 54 debe quedar del siguiente modo

if subprocess.call(["sudo", "shutdown", "-h", "now"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0:

Para aquellos que no quieran editar manualmente el código (y para el autor de Tucan) publico patch con los cambios realizados al fichero shutdown.py que puede ser utilizado tal y como explicamos en el artículo Crear y aplicar parches en Ubuntu Linux.

Explicando cómo habilitar el shutdown en Linux

Aunque en la web de Tucan explican someramente cómo hacerlo opto por describir el proceso para aquellos que no entiendan las explicaciones que ofrece el autor.

Tan sencillo como lanzar un

sudo visudo

y, al final del archivo añadir la línea

jasvazquez ALL=NOPASSWD: /sbin/shutdown

sustituyendo jasvazquez por vuestro nombre de usuario ;)

Yo personalmente he optado por incluirlo en la sección destinada para tal efecto en el archivo /etc/sudoers pero es cuestión de gustos ;)

null

Conclusión

A disfrutar de este fantástico programa (lo prefiero a otras alternativas como jDownloader por los pocos recursos que consume al no depender de la máquina virtual de Java).

Seguramente el fallo sera corregido en la próxima versión que publiquen (lo mismo hasta tienen en cuenta el parche que modestamente publico como solución ;) ) pero, de momento, puede que le evite a más de uno algún que otro cabezazo (como los que me he dado yo).


8 Respuestas a “Apagar el equipo automáticamente al terminar las descargas directas con Tucan”


  1. 1 a-slack 17 octubre 2009 a las 5:17 pm

    Gracias por notificarlo. El problema se detectó a las pocas horas de salir la versión 0.3.9 y se solucionó ya en la versión de desarrollo, se puede ver con el comando:

    $ svn diff -c 1272 https://forja.rediris.es/svn/cusl3-tucan/

    Sin embargo al ser algo del “core” no estará disponible hasta la salida de la próxima versión. Ya nos hemos movido para que el problema no llegue a los paquetes oficiales de las distros.

    Si alguien quiere Tucan en paquete .deb (y sin este problema) lo puede descargar del repositorio SVN oficial:

    https://forja.rediris.es/svn/cusl3-tucan/trunk/packages/debian/tmp/tucan_0.3.9-1_all.deb

  2. 2 a-slack 17 octubre 2009 a las 5:26 pm

    Respecto al parámetro “-n”: sudo si admite ese parámetro y sirve para lo siguiente (man sudo):

    -n The -n (non-interactive) option prevents sudo from prompting the user for a password. If a password is required for the command to run, sudo will display an error messages and exit.

  3. 4 Cristobal 3 noviembre 2009 a las 9:25 pm

    Perdón, pero el problema no está resuelto del todo, para Debian y las basadas en RedHat se usa “su” en vez de “sudo”.
    Así que habría que hace un nuevo if en el fichero y lo de sudo visudo no funciona, ¿cómo sería con “su”?
    Gracias

    • 5 jasvazquez 4 noviembre 2009 a las 8:04 am

      Yo uso también Debian Lenny (la distribución no debería influir si realmente es Linux) y con su lo que haces es convertirte en cualquier usuario (normalmente root).

      Si usas su deberás convertirte en root y LUEGO lanzar el comando shutdown pero no en la misma línea (de ahí que se recomiende el uso de sudo)

  4. 6 Cristobal 4 noviembre 2009 a las 9:41 am

    Pero sudo no viene instalado en Mandriva y habría que ponerlo como dependencia en el rpm, además aun instalándolo hay que configurarlo después para que funcione, y eso no es algo que esté al alcance de nuevos usuarios en Linux, por eso debería de poder existir en Tucan una línea para “su”, vamos creo ;-)

    • 7 jasvazquez 8 noviembre 2009 a las 10:55 am

      De todos modos @Cristobal ten en cuenta que el “estándar” es ceder derechos de administración a través de sudo (esté o no instalado en el sistema) en lugar de ofrecer a cualquier usuario la posibilidad de ser root.

      Siempre podrías optar por usar el setuid pero dar la clave de root a cualquiera considero que es una barbaridad, ¿no te parece?

      Un saludo


  1. 1 Apagar-el-equipo-automaticamente-al-terminar-las-descargas-directas-con-Tucan : Sysmaya Trackback en 18 octubre 2009 a las 2:18 am

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s




Patrocinadores

blog de coches y motor blog de coches y motor Tu portal sobre tendencias web Cupones Descuento Genere ingresos con los infoproductos

¿Hablamos?

Escribe tu dirección de correo electrónico para suscribirte a este blog, y recibir notificaciones de nuevos mensajes por correo.

Únete a otros 1.171 seguidores

Participa

Histórico


Twitter


Seguir

Get every new post delivered to your Inbox.

Únete a otros 1.171 seguidores