Programar una tarea que apague Ubuntu 14.04 LTS automáticamente

Publicado por P. Ruiz en

Hace unos días vimos que algunos ordenadores disponen de una BIOS que es capaz de iniciar el equipo de forma automática en el momento que nosotros programemos con antelación. Hoy vamos a aprender a hacer la operación contraria usando Ubuntu 14.04 LTS, es decir, que el ordenador se apague, automáticamente, cuando llegue un momento concreto.

De esta forma, conseguiremos que el ordenador esté funcionando siempre que sea necesario, sin preocuparnos de encenderlo o apagarlo. Además, permanecerá apagado en las horas del día que no lo utilicemos, lo que redundará en un considerable ahorro de energía.

Como ya tenemos resuelto el problema del encendido, sólo nos queda aprender a programar una tarea en Ubuntu que sea capaz de apagarlo. En este sentido, es muy común que las tareas programadas se gestionen en Ubuntu desde la línea de comandos. Sin embargo, existe un programa, llamado gnome-schedule, que nos facilita una interfaz gráfica desde la que realizar el trabajo. Este programa es muy cómodo de usar, pero tiene el inconveniente de que no se encuentra instalado de forma predeterminada.

Instalar gnome-schedule

Afortunadamente, gnome-schedule se encuentra en los repositorios oficiales de Ubuntu, por lo que su instalación es tan sencilla como abrir el Centro de software de Ubuntu y localizarlo.

1

Comenzamos por hacer clic sobre el icono que representa el Centro de software de Ubuntu en el Launcher.

Cuando se abra la ventana del Centro de software de Ubuntu, sólo tienes que comenzar a escribir el nombre del programa en el cuadro de búsqueda. Puedes utilizar tanto su nombre real (gnome-schedule) como el nombre en español con el que aparecerá representado en la interfaz gráfica (Tareas programadas).

Cuando aparezca, sólo tienes que hacer clic sobre él…

2

… Y para comenzar la instalación, hacer clic sobre el botón Instalar.

Como siempre que tratamos de hacer alguna tarea administrativa, el sistema operativo nos pide que escribamos la contraseña de administración.

3

Después, hacemos clic sobre el botón Autenticar.

A partir de aquí, el Centro de software de Ubuntu nos mostrará una barra de progreso que nos indicará el avance de la instalación.

4

Sólo nos queda esperar unos instantes.

Cuando termine la instalación, puedes cerrar la ventana del Centro de software de Ubuntu.

Puedes abrir fácilmente el Dash pulsando la tecla con el logo de Windows en tu teclado.

Crear una tarea programada

Para iniciar gnome-schedule basta con abrir el Dash y comenzar a escribir su nombre el na interfaz gráfica (Tareas programadas).

1

Iniciar Tareas programadas desde el Dash.

Una forma sencilla de abrir una ventana de terminal es usando la combinación de teclas Alt + Ctrl + T.

Llegados a este punto, debemos tener en cuenta una situación: Las tareas que programemos se ejecutarán con los privilegios del usuario que realice la programación. Para la mayoría de los casos, este comportamiento será el correcto. Sin embargo, en este artículo pretendemos programar el apagado automático del sistema operativo y, para lograrlo, necesitaremos que la orden que realice la tarea se ejecute con privilegios suficientes.

En definitiva, necesitamos que gnome-schedule se ejecute con privilegios de administrador.

Para conseguirlo, en lugar de ejecutar Tareas programadas desde el Dash, lo iniciamos desde la terminal, usando una orden como esta:

sudo gnome-schedule

2

Escribimos la orden y, a continuación, la contraseña de administración.

Tanto si hemos iniciado el programa de una forma o de la otra, lo siguiente que aparecerá en pantalla será una ventana con el título Configurar las tareas programadas. En su área de trabajo, veremos las tareas que tengamos programadas hasta el momento (lógicamente, como es la primera vez que entramos, la lista estará vacía).

Además, en la parte superior, encontramos diferentes herramientas para crear tareas nuevas y modificar o borrar las existentes.

3

Ventana principal de la aplicación.

Desde Tareas programadas podremos crear tareas que se ejecuten a intervalos regulares o que se ejecuten una sola vez. En ambos casos, comenzaremos por hacer clic en el botón Nuevo.

En la ventana que aparece podremos elegir entre tres opciones:

  • Crear una tarea que se lanzará repetidamente, a intervalos regulares.
  • Crear una tarea que se lanza una sola vez.
  • Crear una tarea desde una plantilla predefinida.

La última opción nos permite tener plantillas de tareas programables. De esta forma, si tuviese una tarea que ejecuto de vez en cuando, pero sin coincidir con intervalos regulares, puedo crear una plantilla con las características de la tarea y programarla cuando sea necesario. Así evito tener que volver a reconstruirla cada vez.

4

Hacemos clic sobre el botón Nuevo.

Tareas que se ejecuten a intervalos regulares

Al hacer clic sobre el botón Nuevo de la ventana principal, nos aparece la ventana Añadir una tarea programada.

Para crear una tarea que se ejecute a intervalos regulares, bastará con hacer clic en el primer botón: Una tarea que se lanzará repetidamente.

1

Hacemos clic sobre el primer botón.

Cuando aparezca la ventana Crear una tarea programada nueva, sólo hay que rellenar sus datos:

  • Una Descripción para que podamos identificar con facilidad la tarea

  • El Comando que queremos ejecutar de forma programada. En este caso, el comando que se encarga de apagar el sistema debe tener el siguiente aspecto:

    /sbin/shutdown –h now

    Es importante incluir la ruta donde se encuentra almacenado el comando, ya que se ejecutará con los privilegios de la cuenta root. Como root no tiene iniciada una sesión en el sistema, no tiene sus variables de entorno cargadas en memoria.

  • El modo en el que queremos que se produzca la salida, es decir, la información que muestre el comando en pantalla durante su ejecución. Podríamos aplicar el comportamiento predeterminado, suprimir su salida, tratarlo como una aplicación gráfica o suprimir la salida gráfica. Para nuestro ejemplo, indicamos que sea descartada.

Más abajo, disponemos de dos formas de expresar la frecuencia con la que debe ejecutarse la tarea:

  • Básico.
  • Avanzado.

2

Con la opción Básico, podremos elegir los periodos de forma genérica: Cada minuto, cada hora, cada día, cada mes, cada semana o al reiniciar.

Si elegimos Avanzado, podremos expresar los períodos de una forma mucho más detallada.

3

Para este ejemplo, elegiremos Avanzado.

De esta forma, disponemos de diferentes cuadros de texto donde indicar el día y la hora, el mes e incluso el día de la semana en el que queremos que se ejecute la tarea.

El botón Editar de cada dato nos muestra una nueva ventana que nos ayuda a introducir los periodos de tiempo. Por ejemplo, hacemos clic sobre el botón Editar del campo Día de la semana.

Para indicar el periodo, es necesario saber que, en Linux, los días de la semana se numeran con valores comprendidos entre 0 y 7, según la siguiente tabla:

Días de la semana

Por lo tanto, para que el script se ejecute de lunes a viernes escribiremos desde 1 hasta 5.

4

Cuando hayamos terminado,hacemos clic sobre el botón Aceptar.

En la parte inferior de la ventana se incluye una explicación textual de la frecuencia que hayamos establecido.

5

Para terminar, deberemos pulsar el botón Añadir.

También podemos hacer clic sobre Añadir como plantilla si en lugar de crear la tarea queremos usarla como modelo para otras tareas futuras.

Al salir, recibiremos un aviso que nos informa de que la tarea programada se ejecutará desde el directorio personal del usuario que la ha creado.

6

Hacemos clic sobre el botón Aceptar para continuar.

Cuando volvamos a la ventana principal de gnome-schedule comprobaremos que la nueva tarea aparece en la lista.

7

Ya podemos cerrar la ventana.

Tareas que se ejecutan una sola vez

Como hemos dicho más arriba, también podemos utilizar gnome-schedule para ejecutar una tarea en particular una sola vez en un momento concreto del futuro.

Como en el caso anterior, para crear una tarea de este tipo, comenzamos por hacer clic sobre el botón Nuevo de la ventana principal.

1

A continuación, hacemos clic sobre el botón sobre el botón Una tarea que se lanza una sola vez de la ventana Añadir una tarea programada.

Aparecerá una ventana titulada Crear una tarea programada nueva. En ella, incluiremos un título para la tarea y una fecha y una hora en la que debe ejecutarse.

2

Podemos elegir el botón Calendario para elegir la fecha de forma cómoda.

A continuación, elegiremos la tarea que queremos programar. Como antes, haremos que el ordenador se apague automáticamente cuando llegue el momento indicado. Para lograrlo, volveremos a escribir algo como esto:

/sbin/shutdown –h now

3

Cuando estemos listos, hacemos clic sobre el botón Añadir.

Al salir, recibiremos de nuevo el aviso que nos informa de que la tarea programada se ejecutará desde el directorio en el que se está ejecutando el planificador de tareas que, normalmente, será el directorio personal del usuario que la ha creado.

4

Elegimos Aceptar o No mostrar de nuevo, según nuestro criterio.

De vuelta en la ventana principal, podremos comprobar que ya aparece la nueva tarea en la lista de tareas programadas.

5

Ya podemos cerrar la ventana. Cuando llegue el momento, la tarea se ejecutará automáticamente.

… Y hasta aquí el artículo de hoy. Espero que te haya resultado útil.

One more thing…

Si te ha resultado interesante este artículo, quizás también pueda interesarte cómo Arrancar el ordenador automáticamente a una hora concreta.