強(qiáng)制關(guān)閉你的系統(tǒng)的內(nèi)核模塊
我知道熬夜對(duì)健康不利。但誰(shuí)在乎?多年來(lái)我一直是一只夜貓子。我通常在 12 點(diǎn)以后睡覺(jué),有時(shí)在凌晨 1 點(diǎn)以后睡覺(jué)。第二天早上,我至少推遲三次鬧鐘,醒來(lái)后又累又有脾氣。每天,我向自己保證早點(diǎn)睡覺(jué),但最終會(huì)像平常一樣晚睡。而且,這個(gè)循環(huán)還在繼續(xù)!如果你和我一樣,這有一個(gè)好消息。一個(gè)同學(xué)通宵開(kāi)發(fā)了一個(gè)名為 “Kgotobed” 的內(nèi)核模塊,它迫使你在特定的時(shí)間上床睡覺(jué)。也就是說(shuō)它會(huì)強(qiáng)制關(guān)閉你的系統(tǒng)。
你可能會(huì)問(wèn)!我為什么要用這個(gè)?我有很多其他的選擇。我可以設(shè)置一個(gè) cron 作業(yè)來(lái)安排在特定時(shí)間關(guān)閉系統(tǒng)。我可以設(shè)置提醒或鬧鐘。我可以使用瀏覽器插件或軟件。但是,它們都可以輕易忽略或繞過(guò)。Kgotobed 是你不能忽視的東西。即使您是 root 用戶也無(wú)法禁用。是的,它會(huì)在指定的時(shí)間強(qiáng)制關(guān)閉你的系統(tǒng)。沒(méi)有推遲選項(xiàng)。你不能推遲關(guān)機(jī)過(guò)程,也不能取消它。無(wú)論如何,系統(tǒng)都會(huì)在指定的時(shí)間停止運(yùn)行。你被警告了!!
安裝 Kgotobed
確保你已經(jīng)安裝了 dkms
。它在大多數(shù) Linux 發(fā)行版的默認(rèn)倉(cāng)庫(kù)中都有。
例如在 Fedora 上,你可以使用以下命令安裝它:
$ sudo dnf install kernel-devel-$(uname -r) dkms
在 Debian、Ubuntu、linux Mint 上:
$ sudo apt install dkms
安裝完成后,git clone
Kgotobed 項(xiàng)目。
$ git clone https://github.com/nikital/kgotobed.git
該命令會(huì)在當(dāng)前工作目錄中將所有 Kgotobed 倉(cāng)庫(kù)的內(nèi)容克隆到名為 kgotobed
的文件夾中。進(jìn)入到該目錄:
$ cd kgotobed/
接著,使用命令安裝 Kgotobed 驅(qū)動(dòng):
$ sudo make install
上面的命令將 kgotobed.ko
模塊注冊(cè)到 DKMS(這樣它會(huì)為每個(gè)你運(yùn)行的內(nèi)核重建)并在 /usr/local/bin/
目錄下安裝 gotobed
,然后注冊(cè)、啟用并啟動(dòng) kgotobed 服務(wù)。
如何運(yùn)行
默認(rèn)情況下,Kgotobed 將睡前時(shí)間設(shè)置為 1:00 AM。也就是說(shuō),無(wú)論你在做什么,你的電腦都會(huì)在凌晨 1 點(diǎn)關(guān)機(jī)。
要查看當(dāng)前的睡前時(shí)間,請(qǐng)運(yùn)行:
$ gotobed
Current bedtime is 2018-04-10 01:00:00
要提前睡眠時(shí)間,例如 22:00(晚上 10 點(diǎn)),請(qǐng)運(yùn)行:
$ 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
當(dāng)你想早點(diǎn)睡覺(jué)時(shí),這會(huì)很有幫助!
但是,你不能設(shè)置更晚的時(shí)間也就是凌晨 1 點(diǎn)以后。你無(wú)法卸載模塊,并且調(diào)整系統(tǒng)時(shí)鐘也無(wú)濟(jì)于事。***的出路是重啟!
要設(shè)置不同的默認(rèn)時(shí)間,您需要自定義 kgotobed.service
(通過(guò)編輯或使用 systemd 工具)。
卸載 Kgotobed
對(duì) Kgotobed 不滿意?別擔(dān)心!進(jìn)入我們先前克隆的 kgotobed
文件夾,然后運(yùn)行以下命令將其卸載。
$ sudo make uninstall
再一次,我警告你,即使你是 root 用戶,也沒(méi)有辦法推遲或取消關(guān)機(jī)過(guò)程。你的系統(tǒng)將在指定的時(shí)間強(qiáng)制關(guān)閉。這并不適合每個(gè)人!當(dāng)你在做一項(xiàng)重要任務(wù)時(shí),它可能會(huì)讓你瘋狂。在這種情況下,請(qǐng)確保你已經(jīng)不時(shí)地保存工作,或使用下面鏈接中的一些高級(jí)工具來(lái)幫助你在特定時(shí)間自動(dòng)關(guān)閉、重啟、暫停和休眠系統(tǒng)。
就是這些了。希望你覺(jué)得這個(gè)指南有幫助。還有更好的東西。敬請(qǐng)關(guān)注!
干杯!
資源