xkbmapの変更を追跡する方法は?

xkbmapの変更を追跡する方法は?

私はUbuntu(14.04.5)NoMachineサーバーでFluxboxを実行しています。非常に単純なファイルがありますstartup

fluxbox="$HOME/.fluxbox"
stderr="$fluxbox/stderr"
(umask 077; > "$stderr")
exec 2> "$stderr"
setxkbmap de nodeadkeys
exec ssh-agent fluxbox -verbose -log "$fluxbox/log"

私の問題は、起動ファイルにxkbmapを設定した後、一部のプロセスがそれを修正することです。nodeadkeys設定してから約1秒後に変形が失われます。この動作を追跡するために、setxkbmapコマンドの前に始まる追跡プログラムを作成しました。これが私の追跡スクリプトです。

#! /bin/bash
set -eu
exec > $HOME/setxkbmap.trace
n=${1:-100000}
while ((n>0)); do
  date +"%T.%6N"
  setxkbmap -query 
  n=$((n-1))
done

スクリプトが起動すると変数が設定されます。

$ head -5 setxkbmap.trace 
16:09:04.930663
rules:      evdev
model:      evdev
layout:     de
variant:    nodeadkeys

約1秒後に変形が消えます。

$ grep -A 5 nodeadkeys setxkbmap.trace | tail -5
16:09:05.864251
rules:      evdev
model:      evdev
layout:     de
16:09:06.309512

どのプロセスがオプションを変更するのか、どうすればわかりますか?

ベストアンサー1

おすすめ記事