Ubuntu 15.10および15.04でLenovo t440pを使用してNetbeansでコードを作成し、誤ってボタンをクリックした場合 AltGr そして PrtSc 同時にクラッシュし、システムを再起動します。これは、新しくインストールされたUbuntuではアクションを実行しません。
これはsyslogからのバックトレースです。
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を無効にしたり、LenovoキーボードのPrintScreenを誤ってクリックしないようにするにはどうすればよいですか?または、このバックトレースの問題は何ですか?
ありがとう
キーボードで、 Print Screen (PrtSc) そして System Request (SysRq) 私が知っているほとんどのレイアウトのように、同じ物理ボタン上にあります。
キーの組み合わせ Alt+SysRq+[SPECIFIC LETTER] 一般にMagic SysRq Commandsと呼ばれ、カーネルに直接コマンドを送信します。
システムが完全にクラッシュした場合、主にコールドリセットのより安全な代替手段として使用されます。ファイルシステムを同期およびマウント解除して、損傷やデータ破損を防ぎ、リセット/再起動するコマンド(押した場合 B 3番目のキーとして)または電源オフ(3番目のキー O)。さまざまなキーボードレイアウトに関する詳細情報と組み合わせの完全なリストは、対応するWikipediaの記事 Magic SysRq Key にあります。
したがって、誤ってやっているのは、リブートするコマンドをカーネルに直接送信することであり、それがそれです。
カーネルのコンパイル方法に応じて、ただし、システムの実行中にカーネルがリッスンするSysRqコマンドを指定できます。カーネル4.2.0-27-generic
を使用して15.10でこれをテストしましたが、動作しますが、いつ、どのカーネルでこれが有効になっているのかを知るのは良いことです。知っているならコメントしてください。
私たちはどれを学ぶことができます 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