Ich verwende mehr als ein Tastaturlayout und möchte einen Weg finden, ein Skript auszuführen, wenn ich zwischen ihnen wechsle.
Ist das möglich?
Bisher kann ich eine Verknüpfung für ein Skript wie dieses zuweisen:
#!/bin/bash
#switch between two layouts (English and Greek in this case)
current_layouts=$(gsettings get org.gnome.libgnomekbd.keyboard layouts)
if [ "$current_layouts" = "us" ]; then
gsettings set org.gnome.libgnomekbd.keyboard layouts "['gr']"
else
gsettings set org.gnome.libgnomekbd.keyboard layouts "['us']"
fi
exec /path/to/another/script
Mit dieser Methode kann ich jedoch nur diese Verknüpfung verwenden, um zwischen Layouts zu wechseln, und die Tastaturanzeige verschwindet aus dem Statusmenü, was unangenehm ist.
ubuntu
shell-script
keyboard-layout
gnome-panel
Radu Rădeanu
quelle
quelle
Ich würde es umgekehrt machen und ein Skript ausführen, das das Layout ändert. Auf diese Weise können Sie mit demselben Skript alles andere tun, was Sie wollen. Leider ist es ziemlich schwierig, das aktuelle Tastaturlayout herauszufinden. Ich habe keinen Ansatz gefunden, der für alle Methoden der Layoutumschaltung funktioniert . Aus irgendeinem Grund gibt es einen Unterschied, wenn Sie mit
setxkbmap
oder über die GUI-Verknüpfungen wechseln .Meine Problemumgehung besteht also darin, immer mit zu wechseln
setxkbmap
. Ich habe ein Skript, das aufruft,setxkbmap
und ich habe dieses Skript an eine Verknüpfung in meiner Desktop-Umgebung gebunden, damit ich problemlos wechseln kann. Das folgende Beispiel bezieht sich auf griechische und US-amerikanische Layouts. Sie müssen es an Ihr Setup anpassen:quelle
quelle