bash 命令似乎无法在 .xinitrc 中运行

bash 命令似乎无法在 .xinitrc 中运行

我试图在.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

您可能已经注意到,我正在尝试关闭蓝牙并激活笔记本电脑上的轨迹点滚动。这些命令xinputrfkill命令在手动输入时都有效,但当我运行时什么也没有发生startx

这里到底出了什么问题? :(

答案1

呃……根本问题真的很微不足道。

rfkill需要root权限,所以无法正常运行。

xinput我的命令不起作用的原因是设备名称中存在拼写错误。它应该是“TrackPoint”而不是“Trackpoint”。xinput只是默默地失败了。

该死,这比我自豪的时间要长得多。

答案2

看着~/.xsession-errors。的输出.xinitrc被重定向到那里,因此遇到的任何错误都应该显示在那里,并将帮助您调试脚本。

相关内容