setxkbmap não está sendo executado na inicialização no rc.local

0

Estou tentando executar

setxkbmap -option caps:escape 

no meu arquivo rc.local em /etc/init.d/ no Kubuntu 15.04, e não importa onde eu coloque, começo ou fim, ou com exec na frente dele, ele não está rodando. Basicamente, eu quero ser capaz de executar gvim com caps como escape, e eu realmente não quero colocar isso em .bashrc pois isso irá rodar toda vez que eu abrir um terminal (desnecessário) e também eu gostaria de poder execute gvim sem primeiro abrir bash e ainda ter caps como escape.

Este comando funciona bem na linha de comando.

O rc.local inteiro é assim:

#! /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

Estou fazendo algo errado? Qualquer outra coisa para fazer para obter o mesmo resultado? Eu não estou executando o Unity, então o compizconfig não funcionará.

    
por Thomas Browne 27.09.2015 / 00:17

1 resposta

1

Não pense que é útil rodar qualquer programa com 'x' em seus nomes antes que a sessão real da interface gráfica do usuário seja iniciada.

Coloque em 'Startup Applications' (ou o que quer que seja chamado no KDE).

    
por Velkan 27.09.2015 / 00:51