GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie ändere ich die Tastaturbelegung der Konsole unter Linux?

Die Werkzeuge zum Bearbeiten des Tastaturlayouts auf den virtuellen Konsolen sind loadkeys , dumpkeys und showkey . Lesen Sie ihre Manpages und informieren Sie sich über ihre Feinheiten.

Beachten Sie, dass diese Tools nur in einer virtuellen Konsole funktionieren, nicht in einem Terminalemulator in einer grafischen Umgebung wie Gnome. Um mehr über den Unterschied zu erfahren, lesen Sie diese Frage und Antworten:https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .

Hier ist eine kurze Anleitung, wie Sie tun können, was Sie wollen:

  1. Speichern Sie Ihr aktuelles Tastaturlayout:

    $ dumpkeys > backup.kmap
    

    Falls etwas schief geht, können Sie Ihre Tastaturbelegung möglicherweise mit dem folgenden Befehl wiederherstellen:

    $ sudo loadkeys backup.kmap
    

    Wenn die Tastatur so durcheinander ist, dass Sie nicht einmal dies tun können, besteht Ihre einzige Möglichkeit, ohne alte Kernel-Magie, neu zu starten.

  2. Prüfen Sie, welche Keycodes Ihren Tasten zugeordnet sind:

    $ showkey
    

    Drücken Sie nun die ESC-Taste und die CAPSLOCK-Taste. Die Schlüsselcodes sollten auf dem Bildschirm erscheinen. Notieren Sie sich die Schlüsselcodes. Auf meinem System hat der ESC den Keycode 1 und CAPSLOCK den Keycode 58. showkey wird nach 10 Sekunden Inaktivität beendet (zumindest auf meinem Ubuntu 10.04).

  3. Notieren Sie sich die Namen der ESC- und CAPSLOCK-Tasten von dumpkeys:

    $ dumpkeys | grep 1
    ...
    keycode   1 = Escape
    ...
    $ dumpkeys | grep 58
    ...
    keycode  58 = CtrlL_Lock
    ...
    
  4. Beachten Sie die Keymap-Zeile von dumpkeys:

    $ dumpkeys | head -1
    keymaps 0-127
    
  5. Erstellen Sie eine Keymap-Datei, die ESC und CAPSLOCK umschaltet:

    keymaps 0-127
    keycode   1 = CtrlL_Lock
    keycode  58 = Escape
    
  6. Laden Sie die Tastaturbelegung:

    $ sudo loadkeys swap_esc_capslock.kmap
    
  7. Test:Das Testen der CAPSLOCK-Taste liegt auf der Hand. Drücken Sie einfach die FESTSTELLTASTE und prüfen Sie, ob andere Tasten groß geschrieben werden. Um die ESC-Taste zu testen, können Sie STRG+V gefolgt von ESC verwenden. Es sollte ^[ ausgeben . STRG+V lässt die Shell den nächsten Schlüssel wörtlich ausgeben, anstatt ihn zu interpretieren.

Damit diese Modifikation bei jedem Neustart geladen wird, fügen Sie die folgende Zeile in Ihren /etc/rc.local ein Datei:

/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap

Informationen, die von verschiedenen Seiten gesammelt wurden, einschließlich, aber nicht beschränkt auf:

  • http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-15.html
  • http://www.mail-archive.com/[email protected]/msg01407.html
  • http://ubuntuforums.org/showthread.php?p=4591324#post4591324

Verwenden Sie 'ctrl:nocaps' anstelle von 'ctrl:swapcaps', wenn Sie nur zwei Capslock-Tasten haben möchten (Capslock unter einem anderen Namen ist immer noch super nutzlos).

X11:(siehe auch:/usr/share/X11/xkb/rules/base.lst )

sudo vim /etc/default/keyboard
    XKBOPTIONS="ctrl:swapcaps"
udevadm trigger --subsystem-match=input --action=change
sudo restart lightdm

Textkonsole:(gestohlen von setupcon)

#!/bin/sh
. /etc/default/console-setup 
. /etc/default/keyboard
ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
            "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
            | gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
loadkeys /etc/console-setup/cached.kmap.gz

Linux
  1. So ändern Sie einen Hostnamen unter Linux

  2. So legen Sie den System-Hostnamen unter Linux fest oder ändern ihn

  3. So ändern Sie einen Benutzernamen in Linux

  4. So ändern Sie den Hostnamen unter Linux

  5. So ändern Sie den SSH-Port unter Linux

So ändern Sie Schriftart und -größe der Linux-Konsole

So legen Sie den Hostnamen unter Linux fest oder ändern ihn

So ändern Sie die MAC-Adresse in Linux

So ändern Sie eine Benutzer-Shell in Linux

So ändern Sie den Benutzer unter Linux

So ändern Sie die IP-Adresse unter Linux