Как использовать REISUB с алюминиевой клавиатурой Apple?

Я использую тонкую алюминиевую клавиатуру Apple , у которой нет ключа SysRq :

Яблочная алюминиевая клавиатура Apple

Какой ключ (ы) следует нажать для магического ключа SysRq, когда мне нужно ввести REISUB ?

У меня нет клавиатуры alu для проверки этого, но:

Система: Предпочтения: Настройки клавиатуры: Параметры макета клавиатуры: Различные варианты совместимости: Apple Alu ...

Просто сделал это. Если вы не хотите перекомпилировать ядро, как это предлагается в первой ссылке первого ответа, есть более простой способ. Это как-то изложено во второй ссылке первого ответа, но вот фактическая процедура:

  1. Загрузить исходный код для keyfuzz

  2. Скомпилируйте и установите с помощью обычных команд

    ./configure make sudo make install 
  3. Добавьте следующую строку в файл /etc/rc.local:

     echo "458856 99" | /usr/local/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_Keyboard-event-kbd 
  4. перезагружать

Теперь нужно нажать Alt + F13 и выдать REISUB. Работал на моем Xubuntu 15.10.

Этот ответ также размещен здесь .

После 3 или 4 часов интенсивного поиска, чтения и проб и ошибок, вот более подробный и общий ответ, который должен работать на любом ноутбуке Apple или Mac или клавиатуре, а не только на «тонкой алюминиевой клавиатуре Apple». В моем конкретном случае, однако, я использую это решение для MacBook, работающего под MacBook 2008 года, с Xubuntu 16.04 LTS.

Огромное спасибо Бенгт Олссону за его отличные инструкции, которые дали мне необходимое начало выяснить недостающие детали.

Это решение выполняется в пользовательском пространстве и НЕ требует перекомпиляции ядра, как некоторые предложения.

  1. Загрузите источник для keyfuzz и извлеките его (я могу щелкнуть его правой кнопкой мыши и перейти, например, в «Извлечь здесь», чтобы извлечь его в свой менеджер файлов графического интерфейса). Подробнее о keyfuzz читайте здесь . Он выпущен по лицензии GNU GPL 2.0 или более поздней версии с открытым исходным кодом (yaaay open source!).

    • Dont 'слишком сильно использовать каталог (или с пробелами), иначе команда ./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 для сопоставления F12 или F13 на клавиатуре 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 для мягкой перезагрузки компьютера. Прекрасно работает на ноутбуке MacBook 2008 под управлением Xubuntu 16.04 LTS.

Обратите внимание, что вы можете увидеть результаты, возвращаемые при выдаче REISUB при нажатии каждой клавиши, сначала перейдя на альтернативный сеанс с Ctrl + Alt + F1 (фактически с F1 на F6 ) до выдачи команды. Чтобы вернуться к основному сеансу X Window, используйте Ctrl + Alt + F7 .

Если вы получите результат, который говорит

 This sysrq operation is disabled 

это нормально для нескольких команд, поскольку они создают потенциальный риск для безопасности. Тем не менее, загрузочный файл все равно должен работать, позволяя вам перезагружать компьютер. Вот еще информация об этом, от фамилии :

Начиная с Ubuntu 12.10, возможен более мелкомасштабный контроль над тем, какие функции Magic-SysRq включены. Просто отредактируйте файл /etc/sysctl.d/10-magic-sysrq.conf .

Файл хорошо документирован и точно описывает, как включить эти функции. Текущее значение по умолчанию было выбрано для целей безопасности и должно быть изменено только в том случае, если вы знаете, зачем вам это нужно (для последствий безопасности см. Ошибку # 194676 ).

Какая боль в прикладе. 🙂 Привет.
Счастливый «Linuxing».
~ Габриэль Стейплз
http://www.ElectricRCAircraftGuy.com