如何将REISUB与Apple超薄铝合金键盘配合使用?

我正在使用没有SysRq键的Apple超薄铝键盘 :

Apple超薄铝合金键盘

当我需要输入REISUB时,我应该按什么键来输入神奇的SysRq键 ?

我手边没有铝键盘来测试这个,但是:

系统:首选项:键盘首选项:键盘布局选项:其他兼容性选项:Apple Alu ...

就这样做了。 如果您不想像第一个答案的第一个链接中建议的那样重新编译内核,那么有一种更简单的方法。 这是在第一个答案的第二个链接中概述的,但这是实际的过程:

  1. 下载keyfuzz的源代码

  2. 使用常用命令编译和安装

    ./configure make sudo make install 
  3. 将以下行添加到/etc/rc.local文件中:

     echo "458856 99" | sudo /usr/local/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_Keyboard-event-kbd 

现在应该可以按Alt + F13并发出REISUB。 在我的Xubuntu 15.10上工作。

这个答案也贴在这里 。

经过3到4个小时的艰苦搜索,阅读和反复试验, 这里有一个更彻底和通用的答案,适用于任何 Apple / Mac笔记本电脑或键盘,而不仅仅是“Apple超薄铝键盘”。 然而,在我的特殊情况下,我正在使用这个解决方案来运行Xubuntu 16.04 LTS的2008 MacBook白色。

非常感谢Bengt Olsson在这里的出色指示,这使我有必要开始找出缺失的细节。

此解决方案在用户空间中完成,并且不需要像某些建议那样重新编译内核。

  1. 下载keyfuzz的源代码并解压缩(我可以右键单击它并转到“Extract Here”以在我的GUI文件管理器中提取它)。 要了解有关keyfuzz的更多信息, 请参阅此处 。 它是在GNU GPL 2.0或更高版本的开源许可下发布的(yaaay开源!)。

    • 不要使用太深的目录(或者可能使用空格),否则下面的./configure命令将失败。
  2. 安装依赖项,否则运行下面的./configure可能会吐出一些错误:

     sudo apt-get update sudo apt-get install lynx xmltoman gengetopt 
  3. 使用常用命令编译和安装keyfuzz:

     ./configure make sudo make install 
  4. 导航到/dev/input/by-id并找到以-event-kbd结尾的Apple键盘:

     cd /dev/input/by-id ls 

    对我来说就是这样

     usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd 
  5. /etc/rc.local下行添加到/etc/rc.local文件中,以使每次计算机启动时都运行此命令并加载此用户。 请注意,我们正在使用上面刚刚找到的Apple键盘输入。 此命令使用keyfuzz将Apple键盘或笔记本电脑上的F12F13映射到系统“ Magic SysRq键 ” ,以进行软重启。

    • 要将F12映射到SysRq: 458821 99 。 非常感谢“pjjjv” 在这里搞清楚!
    • 要将F13映射到SysRq: 458856 99
    • 由于我的MacBook 2008没有F13 ,我使用的是上面的F12选项。 还记得使用我们上面找到的适当的键盘输入。 我为rc.local添加的命令是:

       echo "458821 99" | keyfuzz -s -d /dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard___Trackpad-event-kbd 
    • 这是我的整个/etc/rc.local文件,带有相应的条目:

       #!/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 
  6. 重启。

现在我可以按Alt + F12 (或者你可以使用上面描述的Alt + F13 )并发出REISUB来软重启计算机。 在运行Xubuntu 16.04 LTS的MacBook 2008笔记本电脑上完美运行。

请注意,在发出命令之前,您可以通过首先按Ctrl + Alt + F1 (实际上是F1F6工作)跳转到备用会话来按下每个键来查看REISUB返回的结果。 要返回主X Window会话,请使用Ctrl + Alt + F7

如果你得到一个结果说

 This sysrq operation is disabled 

这对于几个命令来说是正常的,因为它们会带来潜在的安全风险。 然而,Boot one仍然可以工作,允许您软重启计算机。 以下是mniess的更多相关信息:

从Ubuntu 12.10开始,可以更精细地控制启用Magic-SysRqfunction。 只需编辑文件/etc/sysctl.d/10-magic-sysrq.conf即可

该文件已有详细记录,并告诉您如何启用哪些function。 出于安全目的选择了当前默认值,并且只有在您知道需要时才应更改(出于安全隐患,请参阅错误#194676 )。

屁股上有多痛。 :)干杯。
快乐的“Linuxing”。
〜加布里埃尔史泰博
http://www.ElectricRCAircraftGuy.com