In Gnome gebe ich oft das Sudo-Passwort ein, wenn die russische Sprache ausgewählt ist. Es ist so ärgerlich, auf einen fehlgeschlagenen Passwortüberprüfungsversuch zu warten, auf Englisch zu wechseln und das Passwort erneut einzugeben!
Gibt es eine Möglichkeit, Englisch im Dialogfeld zur Kennworteingabe zu erzwingen? Insbesondere auf dem Anmeldebildschirm.
Antwort1
Verwenden von gsettings
Es funktioniert gut mit dem Gnome/Unity Indicator/Layout-Schalter unter Ubuntu 13.10 oder höher.
Führen Sie es aus gsettings list-recursively org.gnome.desktop.input-sources
, um Ihre aktiven Layouts und Eingabesysteme zu überprüfen.
Probleme:
Im Sperrdialog kann die zuletzt verwendete Tastatur nicht wiederhergestellt werden. Nach dem Entsperren immeren
Für sudo(Alias)
nano ~/.bashrc
Fügen Sie diese Zeile hinzu
alias sudo="sudo_success='' ; last_kbd=`gsettings get org.gnome.desktop.input-sources current | awk '{print $2}'` ; gsettings set org.gnome.desktop.input-sources current 0 ; sudo echo -n && sudo_success='1' ; gsettings set org.gnome.desktop.input-sources current $last_kbd ; test $sudo_success && sudo"
Für den Sperrdialog(Stellvertreter)
cd /usr/lib/gnome-screensaver/ sudo mv gnome-screensaver-dialog gnome-screensaver-dialog_orig sudo nano gnome-screensaver-dialog_proxy
Tragen Sie Folgendes ein:
#!/usr/bin/env bash last_kbd=`gsettings get org.gnome.desktop.input-sources current | awk '{print $2}'` gsettings set org.gnome.desktop.input-sources current 0 /usr/lib/gnome-screensaver/gnome-screensaver-dialog_orig $@ gsettings set org.gnome.desktop.input-sources current $last_kbd
Einen Link reparieren:
sudo chown root:root gnome-screensaver-dialog_proxy sudo chmod +x root:root gnome-screensaver-dialog_proxy sudo ln -s gnome-screensaver-dialog_proxy gnome-screensaver-dialog
Alte Antwort mit setxkbmap
Verwenden Sie es nur, wenn Ihr Layout per setxkbmap
Befehl festgelegt wurde.
Die vollständigen Schritte sind oben aufgeführt. Ich habe nur die anderen Schritte beibehalten. Ich verwende us,ara (Englisch, Arabisch). setxkbmap -query
Schauen Sie sich Ihre an.
Probleme:
setxkbmap ändert das Layout auf X-Ebene, wodurch das effektive Unity/Gnome-Layout überschrieben wird. Der Indikator zeigt weiterhin das letzte Layout an. Außerdem werden dadurch einige Tastaturkürzel zum Wechseln des Layouts beschädigt. Um dies zu vermeiden, fügen Sie dem setxkbmap
Befehl Ihre Tastenkürzeloptionen hinzu. Beispiel: setxkbmap us,ara -option grp:rshift_toggle -option grp:rctrl_switch
.
Im Falle eines Sperrdialogs ist es nicht möglich, die zuletzt verwendete Tastatur wiederherzustellen.
Für sudo
nano ~/.bashrc
Fügen Sie diese Zeile hinzu
alias sudo="sudo_success='' ; last_kbd=$(setxkbmap -query | awk 'FNR == 3 {print $2}') ; setxkbmap us,ara ; sudo echo -n && sudo_success='1' ; setxkbmap $last_kbd ; test $sudo_success && sudo"
Für den Sperrdialog
nano gnome-screensaver-dialog_proxy
Tragen Sie Folgendes ein:
#!/usr/bin/env bash last_kbd=$(setxkbmap -query | awk 'FNR == 3 {print $2}') setxkbmap us,ara /usr/lib/gnome-screensaver/gnome-screensaver-dialog_orig $@ setxkbmap $last_kbd