Как заставить SysRq работать на ноутбуке?

12

My /proc/sys/kernel/sysrqсодержит число 502, но Alt + SysRq + ..., похоже, не работает на моем ноутбуке HP Pavilion. Как я могу это исправить?

Обновление 1: Кстати: ни у моей клавиши print-screen, ни у какой-либо другой клавиши нет дополнительной метки, такой как «SysRq».

Обновление 2:

  • Модель оборудования: ноутбук HP Pavilion 17
  • Раскладка клавиатуры: немецкая, QWERTZ
Аль Климов
источник
Кажется, не работает.
Аль Климов
Какая у вас модель ноутбука и какая раскладка клавиатуры? Какие ключи ты пробовал?
Жиль "ТАК - перестань быть злым"
Я пробовал клавишу print-screen с и без Fn, а также с и без CapsLock.
Аль Климов

Ответы:

15

Большинство ноутбуков требуют нажатия, Fnчтобы получить SysRqключ. Нажатие Fnобычно не влияет на Altклавишу (по крайней мере, на левую), но может повлиять на букву, которую вы нажимаете после SysRq. К счастью, вам не нужно нажимать SysRqи третью клавишу вместе, достаточно удерживать Altнажатой клавишу . Следующая последовательность работает на всех ноутбуках, которые я видел:

  1. Нажмите и удерживайте Alt.
  2. Нажмите Fn, нажмите SysRqклавишу и отпустите оба.
  3. Кратко буква или знак пунктуации, например, Sдля синхронизации.
  4. Освободить Alt.

SysRqКлюч, как правило , тот же ключ , как PrintScreen. Если на вашей клавиатуре нет клавиши, помеченной SysRqили PrintScreen, возможно, у нее нет клавиши, которая отправляет код сканирования, который ожидает Linux. Для магического SysRq SysRqключ - это тот ключ, который посылает код сканирования 99.

С клавиатурой PS / 2 (включая внутреннюю клавиатуру ноутбука), чтобы узнать, какой код сканирования посылает клавиша, войдите в текстовую консоль (нажмите Ctrl+ Alt+, F1чтобы переключиться в текстовую консоль, и обычно Ctrl+ Alt+, F7чтобы вернуться в графический интерфейс пользователя). ) и выполните команду showkey -s. showkey -sотображает код сканирования каждой клавиши при вводе. Обычно это один байт (две шестнадцатеричные цифры) для нажатия клавиши, затем другой байт для отпускания клавиши. Для нескольких ключей вы получите последовательность байтов, состоящую из двух байтов, начиная с e0. Нажмите интересующую вас клавишу, затем подождите 10 секунд и showkeyвыйдите.

Теперь, когда вы определили код сканирования, запустите setkeycodes … 99от имени пользователя root, чтобы назначить этот код сканирования для кода ключа 99. Например, если выполняется showkey -sпечать 0xe0 0x6f 0xe0 0xefдля выбранного ключа, запустите setkeycodes e06f 99.

Чтобы сделать это изменение постоянным, либо добавьте setkeycodesкоманду /etc/rc.local, либо сконфигурируйте udev для изменения сопоставлений кода ключа . Настройка udev - единственное решение для клавиатуры USB, setkeycodesне влияющее на клавиатуры USB.

Жиль "ТАК - прекрати быть злым"
источник
Кажется, не работает.
Аль Климов
@AlKlimov Вам нужно нажать клавишу SysRq. Если на вашей клавиатуре нет клавиши SysRq, это, очевидно, проблема. Смотрите мой отредактированный ответ.
Жиль "ТАК ... перестать быть злым"
Я не мог повернуть свою клавишу PrintScreen, но я мог повернуть, например, свою клавишу F12. Странно, странно ..
Аль Климов
Genius! Я пробовал с клавишами fn и без так много раз, но никогда не думал, что это будет сочетаться с вашим подходом. Спасибо!
Адам Плохер
Я получаю: setkeycodes: failed to set scancode 90 to keycode 99: ioctl KDSETKEYCODE: Invalid argument. К сожалению, у меня на ноутбуке клавиатура Apple.
Toothrot
1

Я использовал новый ноутбук HP в павильоне, та же проблема. То, что работало для меня, было нажатие клавиши AltGr с помощью клавиши printscreen

Оливер
источник