在 Gnome 中,當選擇俄語時,我經常輸入 sudo 密碼。等待密碼驗證失敗,切換到英文並重新輸入密碼真是太煩人了!
有沒有辦法在密碼輸入對話框中強制使用英文?特別是在登入畫面上。
答案1
使用 gsettings
它與 Ubuntu 13.10 或更高版本上的 Gnome/Unity Indicator/Layout 開關配合良好。
運行gsettings list-recursively org.gnome.desktop.input-sources
以檢查您的活動佈局和輸入系統。
問題:
在鎖定對話方塊情況下,無法恢復上次使用的鍵盤。所以解鎖後總是en
對於須藤(別名)
nano ~/.bashrc
追加這一行
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"
對於鎖定對話框(代理人)
cd /usr/lib/gnome-screensaver/ sudo mv gnome-screensaver-dialog gnome-screensaver-dialog_orig sudo nano gnome-screensaver-dialog_proxy
把這個放進去:
#!/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
修復一個連結:
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
使用 setxkbmap 的舊答案
僅當您的佈局是透過setxkbmap
命令設定時才使用它。
完整步驟如上所述。我只保留了不同的步驟。我正在使用我們,ara(英語,阿拉伯語),跑去setxkbmap -query
檢查你的。
問題:
setxkbmap 在 X 層級更改佈局,這會覆寫有效的 Unity/Gnome 佈局。指示器保持顯示最後的佈局。它還破壞了一些佈局切換鍵盤快捷鍵。為了避免這種情況,請將快捷方式選項新增至setxkbmap
命令中。例:setxkbmap us,ara -option grp:rshift_toggle -option grp:rctrl_switch
。
在鎖定對話方塊情況下,無法恢復上次使用的鍵盤。
對於須藤
nano ~/.bashrc
追加這一行
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"
對於鎖定對話框
nano gnome-screensaver-dialog_proxy
把這個放進去:
#!/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