Detalles iniciales
Realmente se puede crear una tarea programada que haga una función diferente, pero en este caso,
lo que hace esta tarea es coger el tiempo local con un curl a wttr.in
y devuelve algo como esto:
A veces lo que no va bien es el servicio y no devuelve nada o devuelve un error, es normal y no es necesariamente problema nuestro ni podemos hacer nada al respecto.
Tampoco hace falta tener una tarea programada para obtener el tiempo, podemos usar cmd, powershell o un
terminal de Linux en cualquier momento y hacer el curl igualmente. Este artículo
simplemente muestra cómo tenerlo programado y automatizado para que lo haga siempre en el inicio del sistema.
Tal vez añada más adelante otras distribuciones que no sean basadas en Debian, para mostrar cómo sería.
Windows
En Windows (las fotos de ejemplo serán de Windows 10 pero será similar en otros Windows), hay que ir al Programador de tareas.
Una vez estamos en el Programador de tareas, hacemos clic derecho en un espacio en blanco o arriba en Acción y en ambos casos hacemos clic en Crear nueva tarea.
En la pestaña de General:
- Nombre
- Descripción
- Cuenta de usuario
- Marcar: Ejecutar solo cuando el usuario haya iniciado sesión
- Marcar: Ejecutar con los privilegios más altos
En la pestaña de Desencadenadores:
Añadir uno que sea al iniciar la sesión y con estado habilitado
En la pestaña de Acciones:
Esta es la parte más compleja, hay que pulsar en Nueva... y ahí indicar lo siguiente:
- Acción: iniciar un programa
- Programa o script:
C:\Windows\System32\cmd.exe - Agregar argumentos:
/c start /MAX cmd /k curl wttr.in/Paris
En la pestaña de Condiciones:
Las de Energía deberían de venir marcadas por defecto, en cambio la de Red sí la marqué porque
al fin y al cabo para hacer el curl necesita tener conexión a Internet.
Si todo ha ido bien, al reiniciar el ordenador debería de mostrar el tiempo en la consola nada más iniciar sesión. De no ser así, se puede abrir de nuevo el Programador de tareas y mostrará si la operación se completó correctamente o no.
Linux
He hecho la prueba tanto con Kali como Linux Mint.
Este es más complejo que en Windows simplemente por la variedad de distribuciones, terminales, etcétera. De hecho,
a pesar de que ambos estén basados en Debian (directa o indirectamente) y ambos estar con XFCE, tuve que hacer algunas
variaciones en el comando a ejecutar.
Primero deberíamos saber qué terminales tenemos disponibles, aunque en estos ambos casos usando x-terminal-emulator
debería ser suficiente (esto lo mencionaré más adelante).
Luego nos conviene también saber qué shell tenemos: echo $SHELL
En el caso de Kali se tiene zsh como predeterminado y en el caso de Mint se tiene bash. En ambos casos funcionaría sh.
Tanto en Mint como en Kali hay un programa llamado Session and startup en inglés, en castellano será algo similar (debería aparecer buscando algo como "sesion").
En la pestaña Application Autostart → Add:
- Comando en Kali:
qterminal -e zsh -c "curl wttr.in/Paris; exec zsh" - Comando en Mint:
x-terminal-emulator -e sh -c "curl wttr.in/Paris; exec sh"
En el caso de Mint he escrito la opción más "universal" dentro de Debian con x-terminal-emulator. Y sh más
en general.
Lo que quiero decir es que x-terminal-emulator no funcionará en Fedora, Arch, etcétera y en esos casos habría que apuntar al terminal
en concreto y por eso los listo más arriba.
Si todo ha ido bien, al igual que en Windows, debería de verse inmediatamente en un reinicio del sistema.