Come far funzionare SysRq sul laptop?


12

Il mio /proc/sys/kernel/sysrqcontiene il numero 502, ma Alt + SysRq + ... sembra non funzionare sul mio laptop HP Pavilion. Come posso ripararlo?

Aggiornamento 1: A proposito: né il mio tasto dello schermo di stampa né qualsiasi altro tasto ha un'etichetta aggiuntiva come "SysRq".

Aggiornamento 2:

  • Modello hardware: PC portatile HP Pavilion 17
  • Layout tastiera: tedesco, QWERTZ

Sembra non funzionare.
Al Klimov,

Quale modello di laptop esatto hai e quale layout di tastiera? Quali chiavi hai provato?
Gilles 'SO- smetti di essere malvagio' il

Ho provato il tasto dello schermo di stampa con e senza Fn e con e senza CapsLock.
Al Klimov,

Risposte:


15

La maggior parte dei laptop richiede di premere Fnper ottenere il SysRqtasto. La pressione di Fnsolito non influisce sul Alttasto (almeno quello sinistro) ma può influire sulla lettera che premete dopo SysRq. Fortunatamente, non è necessario premere SysRqe il terzo tasto insieme, è sufficiente tenere Altpremuto. La seguente sequenza funziona su tutti i laptop che ho visto:

  1. Tieni premuto Alt.
  2. Premere Fn, premere il SysRqtasto e rilasciare entrambi.
  3. Brevemente la lettera o il tasto di punteggiatura, ad es. SPer la sincronizzazione.
  4. Rilasciare Alt.

La SysRqchiave è di solito la stessa chiave di PrintScreen. Se la tua tastiera non ha un tasto etichettato SysRqo PrintScreen, potrebbe non avere un tasto che invia il codice di scansione previsto da Linux. Ai fini del magico SysRq, la SysRqchiave è la chiave che invia il codice di scansione 99.

Con una tastiera PS / 2 (inclusa la tastiera interna di un laptop), per scoprire quale codice di scansione viene inviato da un tasto, accedi a una console di testo (premi Ctrl+ Alt+ F1per passare a una console di testo e di solito Ctrl+ Alt+ F7per tornare alla GUI ) ed esegui il comando showkey -s. showkey -svisualizza il codice di scansione di ciascun tasto durante la digitazione. Di solito è un byte (due cifre esadecimali) per la pressione di un tasto, quindi un altro byte per il rilascio del tasto. Per alcune chiavi, otterrai una sequenza di byte composta da due byte a partire da e0. Premi il tasto che ti interessa, quindi attendi 10 secondi e showkeyuscirà.

Ora che hai identificato un codice di scansione, esegui setkeycodes … 99come root per assegnare quel codice di scansione al codice chiave 99. Ad esempio, se showkey -sstampa 0xe0 0x6f 0xe0 0xefper la chiave che hai scelto, esegui setkeycodes e06f 99.

Per rendere permanente questa modifica, aggiungere il setkeycodescomando /etc/rc.localo configurare udev per modificare i mapping dei codici chiave . La configurazione di udev è l'unica soluzione per una tastiera USB, setkeycodesnon influisce sulle tastiere USB.


Sembra non funzionare.
Al Klimov,

@AlKlimov Devi premere il tasto SysRq. Se la tua tastiera non ha un tasto SysRq, questo è ovviamente un problema. Vedi la mia risposta modificata.
Gilles 'SO- smetti di essere malvagio' il

Non riuscivo a girare il mio tasto PrintScreen, ma potevo girare ad esempio il mio tasto F12. Strano, strano ..
Al Klimov,

Genio! Ho provato con e senza i tasti fn così tante volte, ma non ho mai pensato di ibridarlo con il tuo approccio. Grazie!
Adam Plocher,

Ottengo: setkeycodes: failed to set scancode 90 to keycode 99: ioctl KDSETKEYCODE: Invalid argument. Purtroppo ho una tastiera Apple sul mio laptop.
Toothrot

1

Ho usato un nuovo laptop HP Pavilion, stesso problema. Ciò che ha funzionato per me è stato premere il tasto AltGr con il tasto dello schermo di stampa

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.