Indagamos en distintos sitios y así traerte la respuesta para tu problema, si tienes dudas puedes dejar la duda y respondemos con mucho gusto.
Solución:
Un sistema operativo en sí mismo no puede sacar el hardware de un estado completamente apagado, ya que el sistema operativo no se está ejecutando en ese momento. Si hubiera algún software de nivel de sistema operativo para escribir en su BIOS, sería un software patentado específico para el BIOS y la placa base, etc., y es muy poco probable que exista como un comando de ubuntu. Lo siento.
Las opciones de BIOS como Wake On Lan o su función de inicio automático son una opción. La otra es una solución de hardware similar a lo que hacen algunas tarjetas sintonizadoras de TV al conectarse por cable al botón de encendido para activar eventos de encendido. En casos como este, el trabajo cron podría usarse para actualizar constantemente el tiempo de activación de la tarjeta sintonizadora.
Fácil. Primero debe verificar si su computadora admite la activación en RTC. La mayoría de las computadoras creadas en los últimos 10 años admiten esta función. Primero debe habilitar RTC en la configuración del BIOS, esto se hace en el proceso de arranque. En mi BIOS, es posible configurar a qué señales S debe responder el despertador. Como me gusta ahorrar energía, dejo que mi computadora se apague por completo entre encendidos y apagados automáticos.
Después de configurar el BIOS, inicie Linux y ejecute el comando dmesg |grep rtc
. Esto le indica si tiene habilitada la activación de RTC. Mi salida da:
~$ dmesg |grep rtc
[ 0.962976] rtc_cmos 00:03: RTC can wake from S4
[ 0.963096] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
[ 0.963119] rtc0: alarms up to one month, 242 bytes nvram
Para establecer la hora de activación, debe ser root. Como comando de problema raíz:
echo 0 > /sys/class/rtc/rtc0/wakealarm
El comando anterior debe usarse antes de escribir una nueva hora de activación en el archivo; de lo contrario, el recurso de activación estará ocupado. Si desea que su computadora se inicie en 10 minutos en el futuro, emita el comando:
echo `date '+%s' -d '+ 10 minutes'` > /sys/class/rtc/rtc0/wakealarm
Compruebe si la alarma está configurada emitiendo cat /sys/class/rtc/rtc0/wakealarm
. Si obtiene un montón de dígitos, significa que la alarma está configurada y si el archivo está vacío, hubo algún problema con la fecha.
Para verificar un comando de problema de formato más legible por humanos cat /proc/driver/rtc
.
Entonces, si desea que su computadora se inicie 2 minutos después de que alguien la apague, ejecute una secuencia de comandos similar a esta desde su crontab (esta secuencia de comandos requerirá acceso de root, así que tenga cuidado):
#!/bin/bash
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo `date '+%s' -d '+ 2 minutes'` > /sys/class/rtc/rtc0/wakealarm
Salve el planeta. 🙂