自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

命令行生存指南:強(qiáng)制早睡

系統(tǒng) Linux
你會(huì)不會(huì)經(jīng)常陷入這么一個(gè)情景:計(jì)劃晚上早點(diǎn)睡叫,然而無(wú)奈總是一不小心玩過(guò)頭了。你需要一種方法強(qiáng)制讓你到時(shí)間了就要關(guān)機(jī)去睡覺(jué)了,這該怎么做呢?

[[350551]]

操作概述

你會(huì)不會(huì)經(jīng)常陷入這么一個(gè)情景:計(jì)劃晚上早點(diǎn)睡叫,然而無(wú)奈總是一不小心玩過(guò)頭了。你需要一種方法強(qiáng)制讓你到時(shí)間了就要關(guān)機(jī)去睡覺(jué)了,這該怎么做呢?

Kgotobed 是一個(gè)很變態(tài)的內(nèi)核模塊。它會(huì)強(qiáng)制 Linux 在特定時(shí)間關(guān)閉,而你卻毫無(wú)辦法(即使你是 root 用戶(hù))。

概念和術(shù)語(yǔ)

內(nèi)核模塊允許 Linux 內(nèi)核在運(yùn)行時(shí)動(dòng)態(tài)地向其中插入和刪除代碼。這些模塊是具有獨(dú)立功能的程序,可以被單獨(dú)編譯,但無(wú)法獨(dú)立運(yùn)行。模塊在運(yùn)行時(shí)作為內(nèi)核的一部分在內(nèi)核空間內(nèi)運(yùn)行。

操作實(shí)戰(zhàn) 

場(chǎng)景一:使用 Kgotobed 強(qiáng)制關(guān)機(jī)

難度 ★★★
演示發(fā)行版 archlinux
涉及命令 gotobed
安裝

在 archlinux 上要安裝 kgotobed,首先需要安裝 dkms 和 linux-headers 這兩個(gè)包:

  1. sudo pacman -S dkms linux-headers --noconfirm

然后去 github 上克隆它的源代碼:

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

最后我們對(duì)源代碼進(jìn)行手工編譯: 

  1. cd kgotobed/
  2. sudo make install

make install 命令會(huì)完成以下三件事情:

  1. 通過(guò) DKMS 注冊(cè) kgotobed.ko
  2. 安裝 gotobed 命令到 /usr/local/bin 下
  3. 在 systemd 中注冊(cè)、啟用并運(yùn)行 kgotobed.service
使用

直接運(yùn)行 gotobed 就能看到設(shè)置的強(qiáng)行關(guān)機(jī)的時(shí)間:

  1. [vagrant@archlinux kgotobed]$ gotobed 22:00
  2. Current bedtime is 2018-04-13 01:00:00
  3. Setting bedtime to 2018-04-12 22:00:00
  4. Bedtime will be in 10 hours 32 minutes

不過(guò)你不能把時(shí)間調(diào)到更晚…… 

  1. [vagrant@archlinux kgotobed]$ gotobed 2:00
  2. Current bedtime is 2018-04-13 01:00:00
  3. Error: Attempting to postpone bed time, it doesn't work like this...

要想調(diào)整默認(rèn)時(shí)間,你需要修改 /etc/systemd/system/kgotobed.service。

原始的 kgotobed.service 內(nèi)容如下所示:

  1. [Unit]
  2. Description=kgotobed: Poweroff at bedtime
  3. After=dkms.service
  4.  
  5. [Service]
  6. Type=oneshot
  7. ExecStartPre=/sbin/modprobe kgotobed
  8. Environment=TIME=01:00
  9. ExecStart=/usr/local/bin/gotobed -f ${TIME}
  10.  
  11. [Install]
  12. WantedBy=multi-user.target

我們將其中的 TIME=01:00 改成 TIME=02:00 后重啟系統(tǒng),再次執(zhí)行 gotobed 可以看到時(shí)間已經(jīng)修改了:

  1. [vagrant@archlinux ~]$ gotobed
  2. Current bedtime is 2018-04-13 02:00:00
刪除 kgotobed

要逃脫強(qiáng)制關(guān)機(jī)的命運(yùn),幾乎唯一的辦法就是卸載 kgotobed 了。

我們可以在源代碼目錄中執(zhí)行 make uninstall 進(jìn)行卸載:

  1. [vagrant@archlinux ~]$ cd kgotobed/
  2. [vagrant@archlinux kgotobed]$ sudo make uninstall
  3. dkms remove kgotobed/1.0 --all
  4.  
  5. -------- Uninstall Beginning --------
  6. Module: kgotobed
  7. Version: 1.0
  8. Kernel: 4.15.15-1-ARCH (x86_64)
  9. -------------------------------------
  10.  
  11. Status: Before uninstall, this module version was ACTIVE on this kernel.
  12.  
  13. kgotobed.ko:
  14. - Uninstallation
  15. - Deleting from: /usr/lib/modules/4.15.15-1-ARCH/extra//
  16. - Original module
  17. - No original module was found for this module on this kernel.
  18. - Use the dkms install command to reinstall any previous module version.
  19.  
  20. depmod...........
  21.  
  22. DKMS: uninstall completed.
  23.  
  24. ------------------------------
  25. Deleting module version: 1.0
  26. completely from the DKMS tree.
  27. ------------------------------
  28. Done.
  29. rm -f /usr/local/bin/gotobed
  30. rm -f /etc/systemd/system/kgotobed.service
  31. systemctl daemon-reload
  32. [vagrant@archlinux kgotobed]$

小練習(xí)

請(qǐng)按照自己的需求更改強(qiáng)制關(guān)機(jī)的時(shí)間。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2020-11-01 20:00:26

命令行ShellLinux

2020-11-22 06:20:53

命令行Linux

2023-08-12 11:40:11

命令行生存

2020-07-30 13:34:48

終端命令行Linux

2023-03-31 08:44:55

Go開(kāi)發(fā)命令

2020-12-10 16:16:08

工具代碼開(kāi)發(fā)

2020-12-11 06:44:16

命令行工具開(kāi)發(fā)

2011-05-17 10:28:57

VMwareXenServer

2015-07-01 09:15:46

linuxQuora命令行

2010-09-01 14:23:54

Linux命令行開(kāi)發(fā)

2010-11-24 15:33:59

mysql命令行參數(shù)

2019-07-23 13:45:38

LinuxFedora權(quán)限

2009-07-20 09:55:30

華為命令行解析華為認(rèn)證

2010-07-15 09:37:47

Perl命令行

2010-08-20 10:05:23

用戶(hù)命令

2012-02-08 16:37:36

ibmdw

2010-03-10 17:23:37

Python 命令行參

2023-06-09 07:45:29

Kuberneteskubectl

2009-12-24 14:51:39

Linux命令行

2020-12-06 08:00:46

scanimage命令行Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)