#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd
exit 0
这个答案也张贴在这里。
经过 3 或 4 小时的艰苦搜索、阅读和反复试验,这里有一个更彻底和通用的答案,它应该适用于任何Apple/Mac 笔记本电脑或键盘,而不仅仅是“Apple 超薄铝制键盘”。然而,在我的特殊情况下,我将此解决方案用于运行 Xubuntu 16.04 LTS 的 2008 MacBook 白色。
非常感谢Bengt Olsson 在这里提供的出色指导,这让我有必要开始找出缺失的细节。
这个解决方案是在用户空间完成的,不需要像一些建议那样重新编译内核。
下载 keyfuzz 的源代码,然后解压(例如,我可以右键单击它并转到“Extract Here”以在我的 GUI 文件管理器中解压它)。要了解有关 keyfuzz 的更多信息,请参见此处。它是在 GNU GPL 2.0 或更高版本的开源许可下发布的(yaaay 开源!)。
./configure
下面的命令将失败。安装依赖,否则在
./configure
下面运行可能会出现一些错误:使用常用命令编译和安装 keyfuzz:
导航
/dev/input/by-id
并找到以 结尾的 Apple 键盘-event-kbd
:对我来说是:
将以下行添加到您的
/etc/rc.local
文件中,以使此命令在您的计算机每次启动并加载此用户时运行。请注意,我们使用的是刚刚在上面找到的 Apple 键盘条目。此命令使用 keyfuzz 将您的 Apple 键盘或笔记本电脑上的或映射到系统“ Magic SysRq key ”F12F13,以进行软重启。458821 99
. 非常感谢“pjjjv”在这里解决这个问题!458856 99
.rc.local
我为我的案例 添加的命令是:/etc/rc.local
文件,带有适当的条目:重启。
现在我可以按Alt+ F12(或者您可以使用Alt+F13如上所述)并发出 REISUB 来软重启您的计算机。在我运行 Xubuntu 16.04 LTS 的 MacBook 2008 笔记本电脑上完美运行。
请注意,当您按下每个键时,您可以看到通过发出 REISUB 返回的结果,方法是在发出命令之前先用 ++(实际上是通过工作)Ctrl跳转到另一个Alt会话。要返回您的主 X Window 会话,请使用++ 。F1F1F6CtrlAltF7
如果你得到一个结果说
这对于几个命令来说是正常的,因为它们会带来潜在的安全风险。但是,引导程序仍然可以工作,允许您软重启计算机。这里有更多关于这方面的信息,来自 mniess 这里:
刚做了这个。如果您不想像第一个答案的第一个链接中建议的那样重新编译内核,有一种更简单的方法。它在第一个答案的第二个链接中有所概述,但这是实际过程:
keyfuzz 的下载源
使用常用命令编译和安装
将以下行添加到您的 /etc/rc.local 文件中:
现在应该可以按Alt+F13并发出 REISUB。在我的 Xubuntu 15.10 上工作。
我手头没有铝制键盘来测试这个,但是:
在 GNOME Shell 上:GNOME Tweaks > Keyboard and Mouse > Additional Layout Options...
在旧版本上:系统 > 首选项 > 键盘首选项 > 键盘布局选项 > 其他兼容性选项 > 苹果铝...