web-dev-qa-db-ja.com

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

.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を実行しても何も起こりません。

ここでの問題は一体何ですか? :(

6
Joshua

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

1

うーん...根本的な問題は本当に些細なことでした。

rfkillにはroot権限が必要なため、正しく実行されません。

xinputコマンドが機能しなかった理由は、デバイス名のタイプミスが原因でした。 「Trackpoint」ではなく「TrackPoint」である必要があります。 xinputは黙って失敗しました。

くそー、それは私が誇りに思っているよりもずっと時間がかかりました。

0
Joshua