Wie kann ich im Dialogfeld zur Kennworteingabe festlegen, dass die Sprache immer Englisch ist?

Wie kann ich im Dialogfeld zur Kennworteingabe festlegen, dass die Sprache immer Englisch ist?

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 setxkbmapBefehl festgelegt wurde.

Die vollständigen Schritte sind oben aufgeführt. Ich habe nur die anderen Schritte beibehalten. Ich verwende us,ara (Englisch, Arabisch). setxkbmap -querySchauen 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 setxkbmapBefehl 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
    

verwandte Informationen