Menüs

Tasten sperren oder Belegung verändern

Operating System: Ubuntu 16.04

Im Zusammenhang mit dem Artikel -> Ubuntu 16.04 als Kiosksystem war eine Anforderung, dass “Ausbruchversuche” aus der Openbox mit der Tastatur verhindert werden müssen. Ein probates Mittel hierzu ist auf allen Debian-Systemen die xmodmap, die Keycodes von der Tastatur nicht mehr interpretiert. Dazu wird für einen Testuser zunächst die Keymap kopiert und danach angepasst.

:~$ cd /home/testuser
:~$ sudo xmodmap -pke > .Xmodmap

Das funtioniert nicht mit PuTTY bzw. über SSH (dort meldet xmodmap dann  xmodmap: unable to open display ‘ ‘ ), sondern nur im Terminal auf der grafischen Oberfläche.

Den Aufbau der Textdatei xmodmap ist -> hier ausführlich beschrieben, daher hier nur eine Kurzbeschreibung der Angaben für die Keycodes:

  1. Angabe: Taste bei einfachem Drücken
  2. Angabe: SHIFT + Taste
  3. Angabe: ALT + Taste
  4. Angabe: ALT + SHIFT + Taste
  5. Angabe: ALT GR + Taste (unter Unity)
  6. Angabe: ALT GR -> SHIFT -> Taste

Im Editor öffnet man die Datei .Xmodmap im home-Verzeichnis des Testusers und um z.B. zu verhindern, dass eine Konsole aufgerufen werden kann oder mit CTRL-H die versteckten Dateien angezeigt werden können, könnte man den Keycode 37 von Control-L auf NoSymbol setzten.

keycode 37 = NoSymbol NoSymbol NoSymbol NoSymbol NoSymbol 

Um festzustellen, welche Tasten welche Keycodes liefern, öffnet man in der GUI ein Terminal und verwendet dann das Programm xev. Die Ausgabe sieht nach der Manipulation der Control-Taste nun so aus:

KeyRelease event, serial 47, synthetic NO, window 0xe00001,
root 0x281, subw 0x0, time 84587985, (307,294), root:(310,546)
state 0x0, keycode 37 (keysym 0x0, NoSymbol), same_screen YES,
XLookuoString gives 0 bytes:
XmbLookuoString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 47, synthetic NO, window 0xe00001,
root 0x281, subw 0x0, time 84588830, (307,294), root:(310,546)
state 0x0, keycode 37 (keysym 0x0, NoSymbol), same_screen YES,
XLookuoString gives 0 bytes:
XFilterEvent returns: False  

Sowohl das Drücken als auch das Loslassen lösen einen Event aus und in der jeweils dritten Zeile sieht man den in der xmodmap verwendeten Code in Form eines keysyms. Eine Auflistung aller möglichen keysyms findet man -> hier.

Auf diese Weise lassen sich jetzt alle Tastenkombinationen so verändern, dass das System nicht mehr verlassen werden kann. Für das Herunterfahren nutze ich hier den SSH-Zugang.

Buy Me a Coffee at ko-fi.com

Kommentare 3

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.