GNU/Linux >> Linux Esercitazione >  >> Linux

Kgotobed ​​– Un modulo del kernel che spegne forzatamente il tuo sistema

Stare alzati fino a tardi fa male alla salute. Ma a chi importa? Sono un nottambulo da anni. Di solito vado a letto dopo le 12, a volte dopo l'una. La mattina dopo, posticipo la sveglia almeno tre volte, mi sveglio stanco e scontroso. Ogni giorno, prometto a me stesso che andrò a letto prima, ma alla fine sono andato a letto molto tardi come al solito. E questo ciclo continua! Se sei come me, ecco una buona notizia. Un compagno di tarda notte ha sviluppato un modulo del kernel chiamato "Kgotobed" che ti costringe ad andare a letto a un'ora specifica. Detto questo, arresterà forzatamente il tuo sistema.

Perché dovrei usare questo? Ho molte altre opzioni. Posso impostare un processo cron per programmare l'arresto del sistema a un'ora specifica. Posso impostare un promemoria o una sveglia. Posso usare un plug-in del browser o un software. Potresti chiedere! Tuttavia, tutti possono essere facilmente ignorati o aggirati. Kgotobed ​​è qualcosa che non puoi ignorare. Qualcosa che non può essere disabilitato anche se sei un utente root . Sì, spegnerà forzatamente il sistema all'ora specificata. Non c'è l'opzione snooze. Non è possibile posticipare il processo di spegnimento o annullarlo. Il tuo sistema si arresterà all'ora specificata, qualunque cosa accada. Sei stato avvisato!!

Installa Kgotobed

Assicurati di aver installato dkms . È disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux.

Ad esempio su Fedora, puoi installarlo usando il seguente comando:

$ sudo dnf install kernel-devel-$(uname -r) dkms

Su Debian, Ubuntu, Linux Mint:

$ sudo apt install dkms

Una volta installati i prerequisiti, git clone progetto Kgotobed.

$ git clone https://github.com/nikital/kgotobed.git

Questo comando clonerà tutto il contenuto del repository di Kgotobed ​​in una cartella denominata "kgotobed" nella tua directory di lavoro corrente. Cd in quella directory:

$ cd kgotobed/

E installa il driver Kgotobed ​​usando il comando:

$ sudo make install

Il comando precedente registrerà kgotobed.ko modulo con DKMS (in modo che venga ricostruito per ogni kernel eseguito) e Installa gotobed utilità in /usr/local/bin/ posizione e quindi registrati, abilita e avvia il servizio kgotobed.

Come funziona effettivamente Kgotobed

Per impostazione predefinita, Kgotobed ​​imposta l'ora di andare a dormire su 01:00 . Detto questo, il tuo computer si spegnerà all'01:00, indipendentemente da quello che stai facendo.

Per visualizzare l'ora attuale del letto, corri:

$ gotobed 
Current bedtime is 2018-04-10 01:00:00

Per spostare l'ora del letto prima, ad esempio alle 22:00 (22:00), corri:

$ sudo gotobed 22:00
[sudo] password for sk: 
Current bedtime is 2018-04-10 00:58:00
Setting bedtime to 2018-04-09 22:00:00
Bedtime will be in 2 hours 16 minutes

Questo può essere utile quando vuoi dormire prima!

Tuttavia, non è possibile spostare l'ora del letto più tardi, ovvero dopo l'01:00. Non è possibile scaricare il modulo e nemmeno la regolazione dell'orologio di sistema aiuta. L'unica via d'uscita è un riavvio!!

Per impostare un'ora predefinita diversa, devi personalizzare kgotobed.service (modificandolo o utilizzando il drop-in systemd).

Disinstalla Kgotobed

Non sei soddisfatto di Kgotobed? Nessun problema! Vai alla cartella "kgotobed" che abbiamo clonato in precedenza ed esegui il seguente comando per disinstallarlo.

$ sudo make uninstall

Ancora una volta, ti avverto che non c'è modo di posticipare, posticipare o annullare il processo di spegnimento, anche se sei un utente root. Il tuo sistema si arresterà forzatamente all'ora specificata. Questo non è per tutti! Potrebbe farti impazzire quando stai lavorando a un compito importante. In questi casi, assicurati di aver salvato il lavoro di tanto in tanto o utilizza alcune utilità avanzate che ti aiutano a spegnere, riavviare, sospendere e ibernare automaticamente il tuo sistema in un momento specifico, come descritto nel seguente link.

  • Autospegnimento, riavvio, sospensione e ibernazione del sistema Linux in un momento specifico

E questo è per ora. Spero che questa guida ti sia utile. Altre cose buone in arrivo. Resta sintonizzato!

Ciao!


Linux
  1. Come scrivere il tuo modulo del kernel Linux con un semplice esempio

  2. Esempi di comandi di "spegnimento" in Linux

  3. modifiche ai parametri del modulo del kernel (usando /sys/module)

  4. Come costruire un modulo del kernel Linux in modo che sia compatibile con tutte le versioni del kernel?

  5. Modificare temporaneamente l'orario

Spegnimento automatico, riavvio, sospensione, ibernazione del sistema Linux in un momento specifico

Scopri quanto tempo ci vuole per avviare il tuo sistema Linux

L'arresto richiede troppo tempo? Ecco come indagare e correggere lunghi tempi di spegnimento in Linux

Ora di sistema

Controlla e scopri quanto tempo ci vuole per avviare il tuo sistema Linux

Leggi e analizza i tuoi log di sistema Linux con Journalctl