
Мои команды REISUB и K работают безупречно, но с T (она должна выводить информацию о задачах) ничего не выводится. H также не работает.
Alt+SysRQ+H
Alt+SysRQ+T
Я попробовал все tty (даже F10, на которой даже нет приглашения на вход), но ничего.
Такие вещи, как K, работают нормально, они убивают xserver и все остальное (удобно, потому что он все время зависает).
Как исправить / куда они на самом деле печатают?
Я на Арче.
решение1
В ядре Arch по умолчанию функция sysrq должна быть включена в ядре (я использую пользовательское, но основываю конфигурацию на ядре по умолчанию). Однако в ядре по умолчанию битовая маска для управления тем, какие функции ключей sysrq могут быть использованы, установлена на0Я считаю, что это установлено на16(10000) где-то во время загрузки Arch, но я не уверен, где именно.
Если настройка sysrq скомпилирована в работающем ядре, это можно легко проверить с помощью:
$ cat /proc/sys/kernel/sysrq
16
В этом примере установлено значение 16 (= включена только экстренная синхронизация).
Можно легко включить все функции sysrq:
$ echo 1 > /proc/sys/kernel/sysrq
Вам нужно сделать это как root, так как echo не работает с sudo. Альтернативный вариант:
$ echo 1 | sudo tee /proc/sys/kernel/sysrq > /dev/null
( > /dev/null
часть не является строго необходимой)
Конфигурация sysrq более подробно описана вдокументация ядра, и даже вВикипедия.
Кроме того, если проблема действительно в том, что битовая маска установлена таким образом, что требуемые комбинации отключены, вы должны получить уведомление в системном журнале (по крайней мере, я получаю):
kernel: SysRq : This sysrq operation is disabled.
решение2
Из раздела «Ядро» на Arch LinuxСтраница вики по сочетаниям клавиш
Если вы хотите, чтобы он был включен во время загрузки, отредактируйте
/etc/sysctl.d/99-sysctl.conf
и вставьте текстkernel.sysrq = 1
. Если вы хотите быть уверены, что он будет включен еще до монтирования разделов и в initrd, то добавьтеsysrq_always_enabled=1
в параметры командной строки загрузки ядра.