如何将REISUB与Apple超薄铝制键盘一起使用?


Answers:


2

这个答案也发布在这里

经过3到4个小时的辛苦搜索,阅读和反复试验后,这是一个更彻底,更通用的答案,该答案适用于任何 Apple / Mac笔记本电脑或键盘,而不仅仅是“ Apple slim Aluminium Keyboard”。但是,在我的特定情况下,我将此解决方案用于运行Xubuntu 16.04 LTS的2008 MacBook白色。

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

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

  1. 下载keyfuzz的源代码并解压缩(例如,我可以右键单击它并转到“在此处提取”以将其解压缩到我的GUI文件管理器中)。要了解有关键模糊的更多信息,请参见此处。它是在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结尾的Apple键盘-event-kbd

    cd /dev/input/by-id
    ls
    

    对我来说

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

    • 要映射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笔记本电脑上完美运行。

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

如果得到的结果是

This sysrq operation is disabled

对于某些命令,这是正常的,因为它们会带来潜在的安全风险。但是,Boot one应该仍然可以运行,从而使您可以软重启计算机。这是有关此的更多信息,来自此处的mniess

从Ubuntu 12.10开始,可以对启用了Magic-SysRq功能的情况进行更细粒度的控制。只需编辑文件/etc/sysctl.d/10-magic-sysrq.conf即可

该文件有据可查,可以准确地告诉您如何启用哪些功能。选择当前默认值是出于安全目的,并且只有在知道为什么需要时才应更改(出于安全方面的考虑,请参见bug#194676)。

屁股好痛。:)干杯。
快乐的“ Linuxing”。
〜加布里埃尔·斯台普斯
www.ElectricRCAircraftGuy.com


我使用sudo checkinstall -D --install而不是sudo make install将keyfuzz作为软件包安装。
jarno

1
我使用键代码786616映射了Alt + Eject,而不是F12或F13。
jarno

/etc/rc.local在最新的Ubuntu版本中可能未启用;跑去systemctl status rc-local.service看看。在我的问题中,有一些有关如何通过systemd运行keyfuzz的信息。在那里,我还尝试了另一种重新映射键的方法。
jarno

2

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

  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上工作。


我有一台运行Xubuntu 16.04 LTS的MacBook 2008。这台笔记本电脑没有F13 :(
Gabriel Staples

我想到了!映射到F12!感谢您在这里的回答,这对帮助我解决问题至关重要。在这里查看我的答案:askubuntu.com/a/896806/327339
加布里埃尔·斯台普斯

1

我手头没有alu键盘来进行测试,但是:

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


那是什么应用程式?
2016年

那是可以通过主系统设置访问的10.04上的键盘设置对话框。这是古老的,如今看起来可能有很大不同。我不知道在哪里可以找到当前的等价物。我已经有一段时间没有使用Ubuntu了。
ParanoiaPuppy

这仅适用于X11,不适用于内核Magic-SysRq处理程序。
罗斯兰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.