Jak sprawić, by SysRq działał na laptopie?


12

Mój /proc/sys/kernel/sysrqzawiera numer 502, ale wydaje się, że Alt + SysRq + ... nie działa na moim laptopie HP Pavilion. Jak mogę to naprawić?

Aktualizacja 1: Nawiasem mówiąc: ani mój klawisz ekranu drukowania, ani żaden inny klucz nie ma dodatkowej etykiety, takiej jak „SysRq”.

Aktualizacja 2:

  • Model sprzętu: komputer przenośny HP Pavilion 17
  • Układ klawiatury: niemiecki, QWERTZ

Wydaje się, że nie działa.
Al Klimov

Jaki dokładnie masz model laptopa i jaki układ klawiatury? Których kluczy próbowałeś?
Gilles „SO- przestań być zły”

Wypróbowałem klawisz Print-Screen z Fn i bez Fn oraz z CapsLock i bez.
Al Klimov

Odpowiedzi:


15

Większość laptopów wymaga naciśnięcia, Fnaby uzyskać SysRqklucz. Naciskanie Fnzwykle nie wpływa na Altklawisz (przynajmniej lewy), ale może wpływać na literę, którą naciskasz po SysRq. Na szczęście nie musisz naciskać SysRqrazem z trzecim klawiszem, wystarczy przytrzymać Alt. Poniższa sekwencja działa na wszystkich laptopach, które widziałem:

  1. Naciśnij i przytrzymaj Alt.
  2. Naciśnij Fn, naciśnij SysRqklawisz i zwolnij oba.
  3. W skrócie klawisz litery lub interpunkcji, np. SDo synchronizacji.
  4. Release Alt.

SysRqKlucz jest zazwyczaj taka sama jak klucz PrintScreen. Jeśli twoja klawiatura nie ma klawisza oznaczonego SysRqlub PrintScreenmoże nie mieć klucza, który wysyła kod skanowania, którego oczekuje Linux. Do celów magicznego SysRq SysRqkluczem jest dowolny klucz, który wysyła kod skanowania 99.

Za pomocą klawiatury PS / 2 (w tym wewnętrznej klawiatury laptopa), aby dowiedzieć się, jaki kod skanowania wysyła klawisz, zaloguj się do konsoli tekstowej (naciśnij Ctrl+ Alt+, F1aby przełączyć się na konsolę tekstową, i zwykle Ctrl+ Alt+, F7aby wrócić do GUI ) i uruchom polecenie showkey -s. showkey -swyświetla kod skanowania każdego klawisza podczas pisania. Zazwyczaj jest to jeden bajt (dwie cyfry szesnastkowe) dla naciśnięcia klawisza, a następnie inny bajt dla zwolnienia klawisza. Dla kilku kluczy otrzymasz sekwencję bajtów składającą się z dwóch bajtów zaczynających się od e0. Naciśnij interesujący Cię klawisz, a następnie poczekaj 10 sekund i showkeywyjdzie.

Po zidentyfikowaniu kodu skanowania uruchom setkeycodes … 99jako root, aby przypisać ten kod skanowania do kodu klucza 99. Na przykład, jeśli showkey -sdrukujesz 0xe0 0x6f 0xe0 0xefdla wybranego klucza, uruchom setkeycodes e06f 99.

Aby wprowadzić tę zmianę na stałe, dodaj setkeycodespolecenie /etc/rc.locallub skonfiguruj udev, aby zmienić odwzorowania kodu klucza . Konfiguracja udev jest jedynym rozwiązaniem dla klawiatury USB, setkeycodesnie wpływa na klawiatury USB.


Wydaje się, że nie działa.
Al Klimov

@AlKlimov Musisz nacisnąć klawisz SysRq. Jeśli twoja klawiatura nie ma klucza SysRq, to ​​oczywiście problem. Zobacz moją zredagowaną odpowiedź.
Gilles 'SO - przestań być zły'

Nie mogłem przekręcić klawisza PrintScreen, ale mogłem przekręcić np. Klawisz F12. Dziwne, dziwne ..
Al Klimov

Geniusz! Wiele razy próbowałem z klawiszami fn i bez nich, ale nigdy nie myślałem, aby połączyć to z twoim podejściem. Dzięki!
Adam Plocher

I otrzymujemy: setkeycodes: failed to set scancode 90 to keycode 99: ioctl KDSETKEYCODE: Invalid argument. Niestety mam laptopa na klawiaturze Apple.
Toothrot

1

Korzystam z nowszego laptopa HP Pavilion, ten sam problem. Dla mnie zadziałało naciśnięcie klawisza AltGr klawiszem Printscreen

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.