Есть скрипт, который выводит текущую раскладку:
killall kbdd 2>/dev/null
kbdd >/dev/null || exit 1
N=$( dbus-send --print-reply=literal --dest=ru.gentoo.KbddService\
/ru/gentoo/KbddService ru.gentoo.kbdd.getCurrentLayout 2>/dev/null |\
sed -un 's/^.*uint32 //p' )
LAYOUT=$( dbus-send --print-reply=literal --dest=ru.gentoo.KbddService \
/ru/gentoo/KbddService ru.gentoo.kbdd.getLayoutName uint32:$N )
echo $LAYOUT
echo "------"
if [[ $LAYOUT = "English (US)" ]]; then
echo "АНГ"
echo "АНГ"
echo ""
else
echo "РУС"
echo "РУС"
echo ""
fi
И есть вывод этого скрипта:
English (US)
------
РУС
И кроме этого, есть жесткое непонимание почему так происходит. Почему ему не нравится проверка?