![bash 명령이 .xinitrc에서 실행되지 않는 것 같습니다.](https://linux55.com/image/43743/bash%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20.xinitrc%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EA%B2%83%20%EA%B0%99%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
.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
그곳으로 리디렉션되므로 발생한 오류가 여기에 표시되고 스크립트를 디버깅하는 데 도움이 됩니다.