我知道熬夜对健康不利。但谁在乎?多年来我一直是一只夜猫子。我通常在 12 点以后睡觉,有时在凌晨 1 点以后睡觉。第二天早上,我至少推迟三次闹钟,醒来后又累又有脾气。每天,我向自己保证早点睡觉,但最终会像平常一样晚睡。而且,这个循环还在继续!如果你和我一样,这有一个好消息。一个同学通宵开发了一个名为 “Kgotobed” 的内核模块,它迫使你在特定的时间上床睡觉。也就是说它会强制关闭你的系统。

你可能会问!我为什么要用这个?我有很多其他的选择。我可以设置一个 cron 作业来安排在特定时间关闭系统。我可以设置提醒或闹钟。我可以使用浏览器插件或软件。但是,它们都可以轻易忽略或绕过。Kgotobed 是你不能忽视的东西。即使您是 root 用户也无法禁用。是的,它会在指定的时间强制关闭你的系统。没有推迟选项。你不能推迟关机过程,也不能取消它。无论如何,系统都会在指定的时间停止运行。你被警告了!!

安装 Kgotobed

确保你已经安装了 dkms。它在大多数 Linux 发行版的默认仓库中都有。

例如在 Fedora 上,你可以使用以下命令安装它:

$sudodnf install kernel-devel-$(uname-r)dkms

在 Debian、Ubuntu、linux Mint 上:

$sudoapt install dkms

安装完成后,git clone Kgotobed 项目。

$gitclonehttps://github.com/nikital/kgotobed.git

该命令会在当前工作目录中将所有 Kgotobed 仓库的内容克隆到名为 kgotobed 的文件夹中。进入到该目录:

$cdkgotobed/

接着,使用命令安装 Kgotobed 驱动:

$sudomakeinstall

上面的命令将 kgotobed.ko 模块注册到 DKMS(这样它会为每个你运行的内核重建)并在 /usr/local/bin/ 目录下安装 gotobed,然后注册、启用并启动 kgotobed 服务。

如何运行

默认情况下,Kgotobed 将睡前时间设置为 1:00 AM。也就是说,无论你在做什么,你的电脑都会在凌晨 1 点关机。

要查看当前的睡前时间,请运行:

$ gotobed

Currentbedtimeis2018-04-1001:00:00

要提前睡眠时间,例如 22:00(晚上 10 点),请运行:

$sudogotobed22:00

[sudo]passwordforsk:

Currentbedtimeis2018-04-1000:58:00

Settingbedtime to2018-04-0922:00:00

Bedtimewill bein2hours16minutes

当你想早点睡觉时,这会很有帮助!

但是,你不能设置更晚的时间也就是凌晨 1 点以后。你无法卸载模块,并且调整系统时钟也无济于事。唯一的出路是重启!

要设置不同的默认时间,您需要自定义 kgotobed.service(通过编辑或使用 systemd 工具)。

卸载 Kgotobed

对 Kgotobed 不满意?别担心!进入我们先前克隆的 kgotobed 文件夹,然后运行以下命令将其卸载。

$sudomakeuninstall

再一次,我警告你,即使你是 root 用户,也没有办法推迟或取消关机过程。你的系统将在指定的时间强制关闭。这并不适合每个人!当你在做一项重要任务时,它可能会让你疯狂。在这种情况下,请确保你已经不时地保存工作,或使用下面链接中的一些高级工具来帮助你在特定时间自动关闭、重启、暂停和休眠系统。◈ 在特定时间自动关闭、重启、暂停和休眠系统[1]

linux内核关掉模块,强制关闭你的系统的内核模块 | Linux 中国相关推荐

  1. Linux内核LED模块分析(二)

    Linux内核LED模块分析(二) 上次分析到那里后,还是有些同志说看不懂,那我就继续分析一把我认为不需要继续分析的东西吧.上回分析了 led_cdev和trigger的关系后就没有继续说了.有同志还 ...

  2. linux内核添加c代码,如何从C代码加载Linux内核模块?

    Ciro Santill.. 19 最小的可运行示例 使用这个简单的参数打印机模块在QEMU + Buildroot VM和Ubuntu 16.04主机上进行了测试. 我们使用init_module/ ...

  3. 【正点原子Linux连载】第三十七章 Linux内核移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  4. 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录

    如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录 参考文章: (1)如何解决编译linux内核(解决声卡问题),遭遇fata ...

  5. Linux内核移植漫谈——你不是第一个想移植Linux内核的人

    Jack:在读大学的时候我想过移植Linux操作系统. 我:现在呢? Jack:我还是想移植Linux操作系统.你教我移植吧. 我:你知道什么是"Linux内核移植"吗? Jack ...

  6. Linux内核设计与实现(1)第一章:Linux内核简介

    Linux内核设计与实现(1)第一章:Linux内核简介 1. linux历史及与Unix关系 2. 内核组成 3. 用户空间和内核空间 4. 系统调用 5. 中断 6. Unix强大的原因 7. L ...

  7. Linux 内核安全模块学习总结

    Linux安全模块(LSM) LSM是Linux Secrity Module的简称,即linux安全模块.其是一种轻量级通用访 问控制框架,适合于多种访问控制模型在它上面以内核可加载模块的形实现.用 ...

  8. linux内核引入模块机制好处,linux内核模块的版本检查机制

    linux内核对插入的内核模块进行严格的版本检查,即使一个小版本号不一致也会导致加载的不成功,这完全是为了内核本身运行安全.由于linux内核的发布是基于版本号的,而所有的内核模块的开发必须依赖内核头 ...

  9. linux内核arch模块,Kernel module (简体中文)

    翻译状态:本文是 Kernel_modules 的翻译.上次翻译日期:2018-05-09.如果英文版本有所更改,则您可以帮助同步翻译. 内核模块是可以按需加载或卸载的内核代码,可以不重启系统就扩充内 ...

最新文章

  1. 详解Jedis连接池报错处理
  2. 神经网络到底是如何实现分类的---共振参考系假设
  3. java session使用_使用Neo4j和Java进行大数据分析 第2部分
  4. 【pyinstaller打包pyqt5编写的项目为exe(脱离环境可运行)】
  5. World Token官网钱包收益是骗人的吗?是传销吗?
  6. 服务器中文件设置密码,共享服务器文件权限怎么设置密码
  7. python正则替换查询_使用Python中的正则表达式进行搜索和替换
  8. SAP FICO财务模块FI财务CO成本视频教学教程(基础+进阶+高级篇)
  9. 脚本文件BAT入门(1)
  10. postman前置脚本密码MD5加密以及转大写
  11. 1.3 app的urls与 views
  12. [程序人生] [随笔感悟] -- 2018,我的博客年
  13. Android红外功能模拟触摸鼠标事件唤醒屏幕
  14. onedrive 添加到本地硬盘_Win10系统OneDrive映射到本地磁盘的解决设置技巧
  15. Linux 运维是做什么的?有钱途吗?发展前景怎么样?
  16. 【coppeliasim】高效传送带
  17. java实现图片镜像翻转
  18. 【小程序】微信小程序重复循环平移动画
  19. mbed TLS 概述
  20. 云计算资源虚拟化技术实现原理

热门文章

  1. 克莱因瓶为何永远无法装满?科学家发现:宇宙或许就是克莱因瓶!
  2. pytorch-多GPU训练(单机多卡、多机多卡)
  3. (教程)2020最新windows10/anaconda/pytorch-gpu环境配置(附CUDA/cuDNN配置)
  4. 在模糊查询中怎样事先加载页面_8种信息类型,中后台产品功能自查清单
  5. AZURE kinect 深度相机配置ubuntu16.04
  6. 媒体声音 | 云数据库,谁才是领导者?
  7. Serverless 场景排查问题利器 : 函数实例命令行操作
  8. 如何通过任务调度实现百万规则报警
  9. 《从单体迈向 Serverless 的避坑指南》
  10. MaxCompute studio与权限那些事儿 1