Antworten:
Vom Terminal
Englisch nach Hebräisch und umgekehrt mit Alt+Shift
setxkbmap -option grp:alt_shift_toggle us,il
Mit diesem Befehl können Sie alle Gebietsschema-Aliasnamen anzeigen
cat /etc/locale.alias
Mehr Infos zu setxkbmap im Handbuch
man setxkbmap
Sie finden die verschiedenen Keymaps an folgenden Orten:
/usr/share/keymaps/i386/
/usr/share/kbd/keymaps/i386/
/usr/share/X11/xkb/symbols/
Geben Sie den folgenden Befehl ein, um das Tastaturlayout (z. B. auf Spanisch) in der Linux-Befehlszeile zu ändern:
loadkeys es
Für X:
setxkbmap es
Um diese Änderungen systemweit vorzunehmen, können Sie unter der Annahme, dass Sie Ubuntu verwenden, Folgendes verwenden:
sudo dpkg-reconfigure console-setup
/usr/share/X11/xkb/symbols/
undsetxkbmap es
Dies funktioniert besser als setxkbmap mit Gnome / Unity-Tastaturlayoutanzeige.
gsettings set org.gnome.desktop.input-sources current 0
0 ist der Layoutindex (0 Standard- oder oberstes Layout). Layouts indiziert ab 0.
Erstellen Sie zur einfachen Verwendung einen Alias.
dconf-editor
Werkzeug zu verwenden und zu überprüfen /org/gnome/desktop/
. Sie können es einfach umbenennen.
Es scheint kein Standard-CLI-Tool zu geben, aber xkb-switch ist ein kleines Open-Source-Tool, um diese Aufgabe zu erledigen. Habe es gerade mit Ubuntu 16.04.4 LTS getestet und es funktioniert einwandfrei.
$ xkb-switch # display current group
ua
$ xkb-switch -l # list groups
us
ua
$ xkb-switch -s us # switch to a named group
$
Dies sieht besser aus als die anderen Lösungen, da setxkbmap <name>
alle Optionen ruiniert werden und setxkbmap -layout <name>
die Optionen zwar beibehalten werden, jedoch weder der Taskleistenindikator noch das grp_led
If-Set geändert werden können .
Wenn Ihre ~/.config/kxkbrc
Verwendung LayoutLoopCount
(z. B. auf weniger als die Gesamtanzahl der in aufgeführten Layouts festgelegt LayoutList
) wie folgt lautet :
LayoutList=us,ua,th,de
LayoutLoopCount=2
Options=grp_led:scroll,grp:rwin_switch,compose:menu,lv3:ralt_switch,
nbsp:level2,grp:rctrl_toggle,misc:typo
Dann können Sie xkb-switch
nur zwischen den Layouts in der aktuellen Gruppe wechseln.
Ihr Kommentar ist mir aufgefallen:
Kurz bevor sich mein Bildschirmschoner einschaltet, möchte ich auf Englisch umschalten, damit es einfach ist, mein Passwort einzugeben, wenn ich zurückkomme.
Dies war genau mein Ziel, daher hier die Antwort:
Um dies zu tun, musst du es nur in ein Skript einbinden, das sich an dbus-monitor
die hier diskutierten Punkte anhängt .
Wenn Sie gsettings in Version 18.04+ mit Gnome verwenden, können Sie sowohl Tastaturlayouts hinzufügen als auch über die Befehlszeile oder den Tastaturlayout-Umschalter auf dem Desktop zwischen diesen wechseln .
1. Präsentieren Sie Tastaturlayouts und -optionen:
$ gsettings list-recursively org.gnome.desktop.input-sources
org.gnome.desktop.input-sources show-all-sources false
org.gnome.desktop.input-sources xkb-options ['terminate:ctrl_alt_bksp']
org.gnome.desktop.input-sources per-window false
org.gnome.desktop.input-sources current uint32 1
org.gnome.desktop.input-sources mru-sources @a(ss) []
org.gnome.desktop.input-sources sources [('xkb', 'es'), ('xkb', 'no')]
2. Hinzufügen von Tastaturlayouts:
$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'no'),('xkb','gr')]"
$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'es'), ('xkb', 'no'), ('xkb', 'gr')]
3.Ändern des aktuellen Tastaturlayouts über die Befehlszeile:
$ gsettings set org.gnome.desktop.input-sources current 1
Da wir jetzt 3 verschiedene Sprachen haben, haben wir drei Auswahlmöglichkeiten von 0 bis 2, wobei 1 Spanisch, 2 Norwegisch und 3 Griechisch ist. Wenn Sie also die aktuelle Einstellung auf 1 setzen, wird Norwegisch zur aktuellen Tastaturbelegung.
4. Auflisten aller möglichen Tastaturlayouts:
cat //usr/share/X11/xkb/rules/base.lst
5.Ändern des Tastaturlayouts mit einer Tastenkombination:
Zum Ändern des Tastaturlayouts ist eine Tastenkombination vorkonfiguriert. Die vorliegende Abkürzung:
$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']
Eine neue Verknüpfung kann mithilfe von gsetting set festgelegt werden. Achten Sie jedoch darauf, keine bereits verwendete Verknüpfung zu verwenden. So listen Sie alle verwendeten Verknüpfungen auf:
$ gsettings list-recursively org.gnome.desktop.wm.keybindings
org.gnome.desktop.wm.keybindings cycle-windows-backward ['<Shift><Alt>Escape']
org.gnome.desktop.wm.keybindings minimize ['<Super>h']
org.gnome.desktop.wm.keybindings move-to-workspace-7 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-8 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-9 @as []
org.gnome.desktop.wm.keybindings move-to-monitor-left ['<Super><Shift>Left']
...
Für Ubuntu 18.04 + Gnome haben die anderen Antworten bei mir nicht funktioniert, aber das hat funktioniert:
gdbus call --session --dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
Das Argument in "inputSources [0]" ist der Index des Tastaturlayouts, genau wie bei der gsettings-Lösung.
Fand es auf Linux StackExchange .
Nur aus Neugier, warum würdest du das tun? Warum sollten Sie ein Terminal öffnen und einen Befehl eingeben, um Ihr Tastaturlayout zu ändern, wenn Sie dies über eine einfache Tastenkombination tun können? Angenommen, Sie verwenden Ubuntu, dann heißt es Windows
+Space