.xinitrc
スクリプトでいくつかのbashコマンドを実行しようとしていますが、これらのコマンドが正しく実行されずにウィンドウマネージャーが起動します。
私は「素晴らしい」と呼ばれるウィンドウマネージャーでArchLinuxを実行し、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
を実行しても何も起こりません。
ここでの問題は一体何ですか? :(
~/.xsession-errors
を見てください。 .xinitrc
の出力はそこにリダイレクトされるため、発生したエラーはすべてそこに表示され、スクリプトのデバッグに役立ちます。
うーん...根本的な問題は本当に些細なことでした。
rfkill
にはroot権限が必要なため、正しく実行されません。
xinput
コマンドが機能しなかった理由は、デバイス名のタイプミスが原因でした。 「Trackpoint」ではなく「TrackPoint」である必要があります。 xinput
は黙って失敗しました。
くそー、それは私が誇りに思っているよりもずっと時間がかかりました。