Wie ändere ich das Tastaturlayout in der Konsole?

42

Ich muss das Tastaturlayout ändern, während ich in der Konsole unter Linux arbeite. Ich muss das englische Layout als Standard für die Konsole einrichten. Wie es geht?

J. Olufsen
quelle
Welche Distribution benutzt du?
Emzero
Ubuntu, angemeldet unter root
J.Olufsen
1
"loadkeys us" hat funktioniert! Wie macht man es Standard-Layout?
J. Olufsen

Antworten:

42

Führen Sie Folgendes aus, um das systemweite Tastaturlayout zu ändern

sudo dpkg-reconfigure keyboard-configuration

oder bearbeiten Sie die XKBLAYOUTZeile in /etc/default/keyboard.

vergänglich
quelle
2
Auf Red Hat 7: localectl status, localectl list-keymaps, localectl set-keymap czfinden Sie das Tastaturlayout ändern ... Die keymaps in sind /usr/lib/kbd/keymaps/btw ..
David TONHOFER
Hallo)) Ubuntu 18.04.2 mit dem Gnome-Desktop reagiert nicht auf den Status /etc/default/keyboard. Um die Tastatureinstellungen in diesem Fall zu ändern, müssen Sie verwendendconf
AtachiShadow
16

Um Ihr Tastaturlayout schnell zu ändern, installieren Sie einfach setxkbmap mit:

sudo apt-get install x11-xkb-utils

Danach können Sie das Tastaturlayout jederzeit ändern mit:

setxkbmap us

Um dies jedes Mal automatisch zu tun, erweitern Sie Ihre .bashrcmit:

echo "setxkbmap us" >> ~/.bashrc

Öffnen Sie nun eine neue Konsole und das US-Tastaturlayout ist aktiviert. Machen Sie sich keine Sorgen, wenn sich das kleine Tastaturlayout-Symbol im Ubuntu-Bedienfeld nicht ändert.

Malte Ahl
quelle
Dies ändert nicht wirklich das Standard-Tastaturlayout, ist jedoch eine Art Hack, um das Tastaturlayout bei jedem Öffnen einer neuen Konsole auf ein anderes zurückzusetzen (wobei ein Zurücksetzen erst nach dem Neustart erforderlich ist). Für eine dauerhafte Lösung ist es möglich, diese direkt einzustellen, beispielsweise /etc/default/keyboardwie in anderen Antworten vorgeschlagen.
Taufe
Dies beantwortet die Frage nicht. setxkbmap (1) funktioniert unter X (grafisch), während OP nach der Konsole fragt. OP hat sogar loadkeys (1) in einem Kommentar zu seiner Frage erwähnt, drei Jahre bevor Sie diese Antwort gepostet haben (loadkeys (1) ist ein reines Konsolenprogramm).
Guildenstern
6

Ein anderer Weg, aber ich verstehe, es wird nicht für den nächsten Start dauern:

sudo loadkeys /usr/share/keymaps/i386/qwerty/us.kmap.gz

Überprüfen Sie / usr / share / keymaps / i386 / auf Ihr Tastaturlayout und die Tastaturzuordnungen, die besser zu Ihnen passen

Wassermann Power
quelle
Legen Sie es in /etc/profile.d/bashrc
BK
@BK, kann es sein /etc/rc.local, dass sudo nicht benötigt wird?
Aquarius Power
1

loadkeys us ---- Lädt US-Schlüssel, jedoch für eine einzelne Sitzung.

sunilyadav0201
quelle
Loadkeys wurde vorgeschlagen und enthält in besseren Antworten Informationen zur Verwendung. Vermeiden Sie es, doppelte Informationen in Antworten zu veröffentlichen, insbesondere wenn Ihre Beiträge nicht aus einer vollständigen Antwort bestehen.
music2myear
Beste Antwort für mich.
not2savvy
0

Das sehr lustige könnte sein, zurückzuschalten. Eine mögliche Lösung besteht darin, ein Bash-Skript zu erstellen (benannt mit Symbolen der Zielsprache, z. B. Englisch). Der zweite Trick besteht darin, "setxkbmap us; setxkbmap ru" einzugeben, und dann den Bash-Verlauf zu verwenden, um das Hauptlayout an die Konsole zurückzugeben.

Z0dCHiY8
quelle
1
Können Sie bitte (1) erläutern, was Sie sagen und (2) wie die Frage beantwortet wird?
Scott
Nun, Sie haben die Konsole in russischer Sprache umgestellt. Wie möchten Sie es zurück auf Englisch stellen? 777 Eigentlich habe ich die Hauptfrage nicht beantwortet. Ich habe nur ein paar Tricks hinzugefügt, um mögliche Probleme zu vermeiden. Beispielsweise arbeiten Sie ohne GUI und haben die Konsole auf Russisch umgestellt, sodass Sie keinen Befehl eingeben können. :)
Z0dCHiY8
0

Ein besserer Hack ist es, udev zu überwachen und automatisch zurückzusetzen, wenn die Tastatur getrennt wird. Sogar Benutzer auf Laptops benötigen es möglicherweise, da die Verbindung sofort getrennt wird. Ich habe gerade ein Github-Repo gemacht, um dies zu tun.

Spenser Truex
quelle