我试图在.xinitrc
脚本中运行一些 bash 命令,但窗口管理器启动时这些命令没有正确运行。
我使用名为“很棒”的窗口管理器运行 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
您可能已经注意到,我正在尝试关闭蓝牙并激活笔记本电脑上的轨迹点滚动。这些命令xinput
和rfkill
命令在手动输入时都有效,但当我运行时什么也没有发生startx
。
这里到底出了什么问题? :(
答案1
呃……根本问题真的很微不足道。
rfkill
需要root权限,所以无法正常运行。
xinput
我的命令不起作用的原因是设备名称中存在拼写错误。它应该是“TrackPoint”而不是“Trackpoint”。xinput
只是默默地失败了。
该死,这比我自豪的时间要长得多。
答案2
看着~/.xsession-errors
。的输出.xinitrc
被重定向到那里,因此遇到的任何错误都应该显示在那里,并将帮助您调试脚本。