I am running Fluxbox on an Ubuntu (14.04.5) NoMachine server. I have a very simple startup file:
fluxbox="$HOME/.fluxbox"
stderr="$fluxbox/stderr"
(umask 077; > "$stderr")
exec 2> "$stderr"
setxkbmap de nodeadkeys
exec ssh-agent fluxbox -verbose -log "$fluxbox/log"
My problem is, that some process is modifying the xkbmap after I have set it in the startup file. The nodeadkeys variant gets lost about one second after I have set it. In order to track this behavior I wrote a trace program, which I start just in front of the setxkbmap command. This is my trace script.
#! /bin/bash
set -eu
exec > $HOME/setxkbmap.trace
n=${1:-100000}
while ((n>0)); do
date +"%T.%6N"
setxkbmap -query
n=$((n-1))
done
When the script starts the variant is set:
$ head -5 setxkbmap.trace
16:09:04.930663
rules: evdev
model: evdev
layout: de
variant: nodeadkeys
And after about a second the variant is missing:
$ grep -A 5 nodeadkeys setxkbmap.trace | tail -5
16:09:05.864251
rules: evdev
model: evdev
layout: de
16:09:06.309512
How can I figure out, which process is changing the option?