Чувак, чувак здесь https://wiki.manjaro.org/index.php/Restore_the_GRUB_Bootloader Describers, как делать то, что вы хотите. Я тоже установил Ubuntu с /boot.
[Edit] Это может быть обходным решением, но прямо сейчас его беспорядок с другими переключениями клавиш переключения клавиш
[Original] Этот работал для меня, но я не мог запустить его при запуске и поддерживать его в запуске задний план.
Слушайте сигнал блокировки и меняйте макет на один из ваших паролей. (уродливое обходное решение, но, похоже, работает)
dbus-monitor --session "type=signal,interface=org.gnome.ScreenSaver" |
while read MSG; do
LOCK_STAT=`echo $MSG | grep boolean | awk '{print $2}'`
if [[ "$LOCK_STAT" == "true" ]]; then
setxkbmap us
else
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,il
fi
done
Ubuntu 16.04 использует другое имя интерфейса:
dbus-monitor --session "type=signal,interface=com.canonical.Unity.Session" |
while read MSG; do
LOCK_STAT=`echo $MSG | egrep -o member='.*' | cut -d '=' -f 2`
if [[ "$LOCK_STAT" == "Locked" ]]; then
CURRENTL=$(setxkbmap -query | grep layout | awk '{print $2}')
echo "Locked with current layout ${CURRENTL}"
setxkbmap us
fi
if [[ "$LOCK_STAT" == "Unlocked" ]]; then
setxkbmap $CURRENTL
echo -n "Returning to"
setxkbmap -query | grep layout
fi
done