На Ubuntu 15.10 и 15.04 на Lenovo t440p, когда я пишу код в Netbeans и случайно нажимаю кнопку AltGr и PrtSc на то же время, это разрушается и система перезагрузки. Это не принимает меры с новой установленной Ubuntu.
Это - след из системного журнала:
Feb 5 19:47:43 mycomputername kernel: [ 15.485327] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:44 mycomputername kernel: [ 16.966879] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:44 mycomputername kernel: [ 17.115697] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:44 mycomputername kernel: [ 17.115844] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:45 mycomputername kernel: [ 17.644247] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:45 mycomputername kernel: [ 17.829425] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:46 mycomputername kernel: [ 18.698713] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:47 mycomputername kernel: [ 20.033534] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Feb 5 19:47:48 mycomputername kernel: [ 21.061323] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) dump-ftrace-buffer(z)
Как я могу отключить PrtSc или предотвратить к случайно нажатию на клавиатуру PrintScreen on Lenovo? Или что такое проблема на этом следе?
Спасибо
На Вашей клавиатуре Print Screen (PrtSc) и Системный Запрос (SysRq) находятся на той же физической кнопке, как на большинстве разметок, которые я знаю.
Сочетания клавиш Alt+SysRq + [ОПРЕДЕЛЕННАЯ БУКВА] является общеизвестной как Волшебство Команды SysRq, которые непосредственно отправляют команды в ядро.
Они главным образом используются в качестве более безопасной альтернативы "холодному" сбросу, если система полностью разрушается, потому что существует, например, команды, чтобы синхронизировать и размонтировать файловую систему, чтобы предотвратить повреждение и повреждение данных и сбросить/перезагрузить (если Вы нажимаете B как 3-й ключ), или выключитесь (3-й ключ O). Больше информации и полный список комбинаций, даже относительно различных раскладок клавиатуры, могут быть найдены в соответствующем Волшебстве статьи Wikipedia Ключ SysRq.
Таким образом, то, что Вы случайно делаете, должно непосредственно отправить ядру команду в перезагрузку, и это - то, что это делает.
В зависимости от того, как было скомпилировано Ваше ядро, Вы однако можете указать, на котором SysRq управляет, чтобы ядро послушало, когда система работает. Я просто протестировал это на 15,10 с ядром 4.2.0-27-generic
и это работало, но будет хорошо изучить с тех пор, когда или для того, какие ядра это включено. Прокомментируйте, знаете ли Вы.
Мы можем учиться, какие команды SysRq в настоящее время включаются путем проверки содержания виртуального файла /proc/sys/kernel/sysrq
:
cat /proc/sys/kernel/sysrq
Результатом будет число, которое должно быть интерпретировано как это:
0 - disable SysRq
1 - enable SysRq completely
>1 - bitmask of enabled SysRq functions:
2 - control of console logging level
4 - control of keyboard (SAK, unraw)
8 - debugging dumps of processes etc.
16 - sync command
32 - remount read-only
64 - signalling of processes (term, kill, oom-kill)
128 - reboot/poweroff
256 - nicing of all RT tasks
Мое значение по умолчанию, когда я нахожусь на рабочем столе, 176
, который является 128+32+16
. Таким образом согласно приведенной выше таблице, я могу перезагрузить, выключение питания, синхронизировать и повторно смонтировать файловые системы к только для чтения.
Выполните команду ниже и попробуйте, работают ли ярлыки SysRq все еще впоследствии (например, Alt+SysRq+B для сбрасывания/перезагружения):
echo 0 | sudo tee /proc/sys/kernel/sysrq
Это должно отключить все команды SysRq для текущей сессии, пока Вы не перезагружаете в следующий раз.
Для ручного включения всех команд SysRq мы пишем значение 1
в тот же виртуальный файл вместо этого:
echo 1 | sudo tee /proc/sys/kernel/sysrq
Вы восстанавливаете свою конфигурацию по умолчанию или перезагрузкой, или если Вы проверили и помнили значение прежде, чем настроить ее, можно установить то значение снова вместо 0
/1
позволять/запрещать все команды.
Таким образом в моем случае, где исходное значение было 176
, Я работал бы:
echo 176 | sudo tee /proc/sys/kernel/sysrq