setxkbmap не запускается при запуске в rc.local
Я пытаюсь бежать
setxkbmap -option caps:escape
в моем файле rc.local в /etc/init.d/ в Kubuntu 15.04, и независимо от того, где я его положил, начало или конец, или с exec перед ним, он не работает. По сути, я хочу иметь возможность запускать gvim с помощью caps в качестве escape, и я не хочу помещать это в.bashrc, так как он будет запускаться каждый раз, когда я открываю терминал (ненужный), а также я хотел бы иметь возможность запустите gvim, не открывая bash, и по-прежнему сохраняйте шапки как escape.
Эта команда отлично работает в командной строке.
Весь rc.local выглядит так:
#! /bin/sh
### BEGIN INIT INFO
# Provides: rc.local
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO
/usr/bin/setxkbmap -option caps:escape
PATH=/sbin:/usr/sbin:/bin:/usr/bin
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start() {
if [ -x /etc/rc.local ]; then
[ "$VERBOSE" != no ] && log_begin_msg
"Running local boot scripts (/etc/rc.local)"
/etc/rc.local
ES=$?
[ "$VERBOSE" != no ] && log_end_msg
$ES
return $ES
fi
}
case "$1" in
start)
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
Я делаю что-то неправильно? Что-нибудь еще сделать, чтобы получить тот же результат? Я не использую Unity, поэтому compizconfig не будет работать.
1 ответ
Не думайте, что полезно запускать какие-либо программы с символом "x" в именах до начала реального сеанса X GUI.
Поместите его в "Startup Applications" (или как он называется в KDE).