.xinitrc
スクリプトでいくつかのbashコマンドを実行しようとしていますが、ウィンドウマネージャの起動時に正しく実行されません。
私は "awesome"というウィンドウマネージャを使用してArch Linuxを実行していますstartx
。~/.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
xinput set-int-prop "TPPS/2 IBM Trackpoint" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "TPPS/2 IBM Trackpoint" "Evdev Wheel Emulation Button" 8 2
xinput set-int-prop "TPPS/2 IBM Trackpoint" "Evdev Wheel Emulation Timeout" 8 200
xinput set-int-prop "TPPS/2 IBM Trackpoint" "Evdev Wheel Emulation Axes" 8 6 7 4 5
rfkill block bluetooth
# exec gnome-session
# exec startkde
# exec startxfce4
# ...or the Window Manager of your choice
exec awesome
私はBluetoothをオフにしてラップトップでトラックポイントスクロールを有効にしようとしていることに気づきました。これらのコマンドxinput
とrfkill
コマンドはどちらも手動で入力すると機能しますが、実行すると何も起こりませんstartx
。
ここで何が起こっていますか? :(
答え1
まあ…根本的な問題は本当にマイナーです。
rfkill
ルート権限が必要なので、正しく実行されません。
xinput
私のコマンドが機能しない理由は、デバイス名にスペルエラーがあったためです。 「トラックポイント」ではなく「トラックポイント」でなければなりません。xinput
静かに失敗しました。
くそー、私が誇りに思うよりもはるかに長い時間がかかった。
答え2
より~/.xsession-errors
。の出力が.xinitrc
そこにリダイレクトされるため、発生したエラーがここに表示され、スクリプトをデバッグするのに役立ちます。