Sur Ubuntu 15.10 et 15.04 sur Lenovo t440p lorsque j'écris un code dans Netbeans et que je clique accidentellement sur le bouton AltGr et PrtSc en même temps, il se bloque et redémarre le système. Cela ne prend pas d'action avec Ubuntu fraîchement installé.
C'est la trace de 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)
Comment désactiver PrtSc ou empêcher de cliquer accidentellement sur PrintScreen sur un clavier Lenovo? Ou quel est le problème sur cette trace?
Merci
Sur votre clavier, le Print Screen (PrtSc) et System Request (SysRq) sont sur le même bouton physique, comme sur la plupart des mises en page que je connais.
Les combinaisons de touches Alt+SysRq+[SPECIFIC LETTER] sont généralement connues sous le nom de commandes Magic SysRq qui envoient directement des commandes au noyau.
Ils sont principalement utilisés comme alternative plus sûre à une réinitialisation à froid si le système est complètement écrasé, car il y a par exemple commandes pour synchroniser et démonter le système de fichiers afin d’éviter les dommages et la corruption des données et pour réinitialiser/redémarrer (si vous appuyez sur B 3ème clé) ou éteindre (3ème clé O). Vous trouverez plus d'informations et une liste complète des combinaisons, même en ce qui concerne différentes dispositions de clavier, dans l'article correspondant de Wikipédia Magic SysRq Key .
Donc, ce que vous faites accidentellement est d’envoyer directement au noyau la commande pour redémarrer, et c’est ce que cela fait.
En fonction de la manière dont votre noyau a été compilé , vous pouvez cependant spécifier sur quelles commandes SysRq le noyau doit écouter lorsque le système est en cours d'exécution. Je viens de tester ceci sur 15.10 avec le noyau 4.2.0-27-generic
et cela a fonctionné, mais il serait bon d’apprendre depuis quand et pour quels noyaux ceci est activé. S'il vous plaît commenter si vous savez.
Nous pouvons apprendre lequel SysRq les commandes sont actuellement activées en vérifiant le contenu du fichier virtuel /proc/sys/kernel/sysrq
:
cat /proc/sys/kernel/sysrq
Le résultat sera un nombre qui doit être interprété comme ceci:
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
Ma valeur par défaut lorsque je suis sur le bureau est 176
, qui est 128+32+16
. Ainsi, selon le tableau ci-dessus, je peux redémarrer, éteindre, synchroniser et remonter les systèmes de fichiers en lecture seule.
Exécutez la commande ci-dessous et essayez de savoir si le SysRq les raccourcis fonctionnent toujours après (par ex. Alt+SysRq+B réinitialiser/redémarrer):
echo 0 | Sudo tee /proc/sys/kernel/sysrq
Cela devrait désactiver tout SysRq commandes de la session en cours, jusqu’à ce que vous redémarriez la prochaine fois.
Pour manuellement activer tout SysRq commandes, nous écrivons la valeur 1
dans le même fichier virtuel:
echo 1 | Sudo tee /proc/sys/kernel/sysrq
Vous restaurez votre configuration par défaut en redémarrant ou, si vous avez coché et mémorisé la valeur avant de la modifier, vous pouvez redéfinir cette valeur au lieu de 0
/1
pour activer/désactiver toutes les commandes.
Donc, dans mon cas où la valeur initiale était 176
, je lancerais:
echo 176 | Sudo tee /proc/sys/kernel/sysrq