Я добавил в свой .profile следующее:
rm -f executed.log
echo ".profile starting" >> executed.log
if [ `whoami` != "root" ]
then
setxkbmap -v >> executed.log
setxkbmap -layout "us" -variant "altgr-intl" -option "ctrl:nocaps"
echo "setxkbmap executed" >> executed.log
setxkbmap -v >> executed.log
fi
echo ".profile finished" >> executed.log
После запуска пишется следующий журнал:
[22:02:21][giorgio@Desmond:~]$ cat executed.log
.profile starting
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+us(altgr-intl)+inet(evdev)
geometry: pc(pc105)
setxkbmap executed
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+us(altgr-intl)+inet(evdev)+ctrl(nocaps)
geometry: pc(pc105)
.profile finished
Но после графического входа в систему я получаю:
[22:02:23][giorgio@Desmond:~]$ setxkbmap -v
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+us+inet(evdev)
geometry: pc(pc105)
Кажется, Unity переопределяет мои настройки, возможно, с помощью апплета индикаторной клавиатуры или чего-то подобного. Как отключить его, чтобы я мог использовать мои настройки .profile?
обновил
rm -f executed.log
echo ".profile starting" >> executed.log
if [ $(whoami) != "root" ]
then
echo "$(setxkbmap -v)">> executed.log
echo "$(setxkbmap -layout "us" -variant "altgr-intl" -option "ctrl:nocaps")"
echo "setxkbmap executed" >> executed.log
echo "$(setxkbmap -v)">> executed.log
fi
проверка на маленькое исправление. Проверьте на обратную кавычку.
, Когда Вы входите в систему в GUI. Его взятие setxkbmap как строка. Необходимо использовать обратную кавычку, чтобы сказать обработке те символы как команду.