Linux 笔记本基于“敲打”的命令
有史以来第一次您可以敲打一下计算机并得到有意义的响应!使用 Linux® 和 Hard Drive Active Protection System(硬盘活动保护系统HDAPS)内核驱动程序我们可以访问 Lenovo(以前称为 IBM®)ThinkPads 上的嵌入式加速器然后处理加速器的数据来读取特定 敲打 事件序列(也就是您使用关节敲打笔记本的事件序列)并基于这些敲打事件运行一些命令双击锁定屏幕然后敲入密码来解锁敲打显示屏一次就可以让 MP 播放器前进一个音轨这类可能事物是无穷无尽的
年IBM 开始发行集成了加速器和相关软件的 ThinkPad 笔记本以便在笔记本掉到地上时对硬盘进行保护来自 IBM 和其他地方的黑客已经为 Linux 内核开发了一些模块来利用这些传感器的优点屏幕显示方向桌面切换甚至是游戏控制和实时的笔记本倾斜度 D 模块现在都已经可以使用了本文将展示 敲打代码 这种新技术和一个简单程序该程序在检测到特定的敲打代码时会运行一些命令
使用带有 HDAPS 驱动的已更新的内核我们就可以用一个简单程序 knockAge 来生成敲打代码了我们也可以下载并使用一个 Perl 脚本来定制自己的敲打输入环境请参阅本文最后的 下载 和 参考资料 部分给出的链接其中包括了解 knockAge 操作的链接
硬件需求
容易实现
正如您从展示视频(请参见下面 参考资料 中的链接)可以看到的敲打操作是由一系列指节敲打构成的尽管 ThinkPad 的加速器是为保护它不受意外事件的影响但太强力的振荡仍然会对硬盘造成损坏因此我们必须小心
很多在 年以及这以后生产的 IBM(现在是 Lenovo)的 ThinkPads 中都有 HDAPS 硬件如果您不确定自己的硬件配置可以检查 Lenovo 的 Web 站点上关于您自己型号的机器的技术细节如果您的机器上没有 ThinkPad那么这段代码可能无法在您的笔记本上正常工作
本文是在 x 体系架构上编写的本文中的代码是在 ThinkPad Tp 的两个不同模块上进行开发和测试的有关 ThinkPad 硬件的链接请参阅 参考资料 部分
如果您有一台 Apple MacBook那么您可能也有这种加速器并且可以使用相同的方法通过内核访问它们然而本文中的代码并没有在 Apple 硬件上进行测试
软件要求
HDAPS 驱动程序必须包括在内核中才能启用对加速器的访问试图对现有内核增加补丁也不会获得成功因此我们建议从自己喜欢的镜像站点上下载最新的内核新内核发行版中已经包含了对 HDAPS 驱动程序的支持
启动内核配置选择程序并在配置中包含 HDAPS 驱动程序HDAPS 驱动程序位于Device Drivers > Hardware Monitoring Support > IBM Hard Drive Active Protection System (hdaps) 选项中更多的内核配置和安装过程已经超出了本文的范围但是在 Web 站点上有很多教程可以提供具体的帮助有关可以帮助我们入门的链接请参阅 参考资料 一节的内容
本文是在 版本的内核上进行开发和测试的
创建简单的敲打序列
从 下载 一节的链接中下载源代码并从中找到 knockAgepl 脚本这就是让我们可以创建敲打序列的主要 Perl 程序它还允许监听特殊的敲打序列并运行命令下面让我们来介绍一下这个用户空间程序的用法以及 knockAgepl 程序的配置然后再对这个函数进行回顾
使用下面的命令运行 knockAgepl 程序
perl knockAgepl c
这会启动 Perl 程序来监听敲打事件并记录下它们之间的间距以供将来使用一旦程序开始运行之后对笔记本进行的敲打操作就会产生效果我们并不需要在物理上移动自己的 ThinkPad 来注册敲打事件如果 ThinkPad 在一个平面上只要对其进行一些移动和滑行即可我建议您用左右握住 ThinkPad 左边接近连接轴的地方同时用右手在距离 LCD 底部 英寸的地方敲打显示屏即可请参阅 下载 部分给出的视频展示或参阅 参考资料 中用来创建敲打序列的例子
体验不同的敲打幅度和力度从而了解 knockAge 程序能够捕获的事件判断率对于创建复杂的敲打事件来说这非常重要
第一次真正尝试敲打应该非常简单两次双击之间停留 秒然后再次运行 perl knockAgepl c在看到 enter a knock sequence 时稳定地敲打 LCD 边上两次中间停留 秒在 秒之后会自动超时(这是可以配置的)您所敲打的序列会被打印出来这类似于下面的例子
_#_ (command here) _#_
让我们来分析一下这一行的内容敲打序列分隔符命令区分隔符最后是注释区我们的下一个步骤是将这行内容复制到 knockAgepl 程序使用的默认配置文件 {$HOME}/knockFile 中该配置文件也可能是 /home//knockFile 文件在使用上面的敲打序列行创建好 knockFile 文件之后就可以对这行进行修改来运行程序了将 (command here) 文本修改成 /bin/echo double
- REDIce-Linux--灵活的实时Linux内核(11-12)
- linux文件系统基础(02-09)
- Linux标准趋向统一(11-12)
- linux基础技术(02-09)
- LINUX的目录树(02-09)
- 在Windows下启动Linux(02-09)