bashコマンドが.xinitrcで実行されていないようです。

bashコマンドが.xinitrcで実行されていないようです。

.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をオフにしてラップトップでトラックポイントスクロールを有効にしようとしていることに気づきました。これらのコマンドxinputrfkillコマンドはどちらも手動で入力すると機能しますが、実行すると何も起こりませんstartx

ここで何が起こっていますか? :(

答え1

まあ…根本的な問題は本当にマイナーです。

rfkillルート権限が必要なので、正しく実行されません。

xinput私のコマンドが機能しない理由は、デバイス名にスペルエラーがあったためです。 「トラックポイント」ではなく「トラックポイント」でなければなりません。xinput静かに失敗しました。

くそー、私が誇りに思うよりもはるかに長い時間がかかった。

答え2

より~/.xsession-errors。の出力が.xinitrcそこにリダイレクトされるため、発生したエラーがここに表示され、スクリプトをデバッグするのに役立ちます。

関連情報