将xinput添加到LXDE的启动序列中

将xinput添加到LXDE的启动序列中

我希望这两个命令在启动时运行。

xinput --set-prop "Razer Razer DeathAdder" "Device Accel Constant Deceleration" 4
xinput --set-prop "Razer Razer DeathAdder" "Device Accel Velocity Scaling" 1

我尝试将这两个命令/etc/rc.local, .zshrc, 也放入 中/etc/xdg/lxsession/Lubuntu/autostart,但似乎什么也没有发生。有什么帮助吗?

答案1

正如 Skippy 所说,您应该将它们添加到~/.xinitrc文件中。这是因为:

  • /etc/rc.local在启动时、Xserver 启动之前执行
  • .zshrc仅当您启动 zsh shell 时才会加载。
  • /etc/xdg/lxsession/Lubuntu/autostart需要特殊的名称和格式:它们应该被命名<something>.conf并具有正确的exec=值并存储在/etc/xdg/autostart/.

上面的方法不会起作用

~/.xinitrc您只需为系统范围的建议获取或 中的脚本行/etc/X11/xinit/xinitrc

这应该有效:

sudo sh -c "echo 'xinput --set-prop \"Razer Razer DeathAdder\" \"Device Accel Constant Deceleration\" 4' >> /etc/X11/xinit/xinitrc"
sudo sh -c "echo 'xinput --set-prop \"Razer Razer DeathAdder\" \"Device Accel Velocity Scaling\" 1' >> /etc/X11/xinit/xinitrc"

当然,如果您使用终端,上述命令应该有效,否则您什么也不做。然后重新启动您的系统并ta-da。

答案2

我真的不明白.xinitrc这里有什么相关性。该文件由 读取xinit,这是一种启动 X 会话的旧方法,而且您几乎肯定不会使用该方法。在大多数现代 Linux 系统中,X 会话是由登录管理器服务(例如lightdmgdm2其他)启动的,而不是由xinit.

无论如何,根据LXDE 维基,您需要将这些行添加到$HOME/.config/lxsession/<profile>/autostart.更改<profile>为 中的任何内容$HOME/config/lxsession。只需编辑(或创建不存在的文件)文件并向其中添加相关行:

xinput --set-prop "Razer Razer DeathAdder" "Device Accel Constant Deceleration" 4                                 
xinput --set-prop "Razer Razer DeathAdder" "Device Accel Velocity Scaling" 1  

答案3

xinput命令放入 shell 脚本中并添加要执行的脚本~/.config/lxsession/LXDE/autostart对我来说很有效。

例子:

$ cat ~/bin/set-touch
#!/bin/bash

xinput set-prop "ADS7846 Touchscreen" "Coordinate Transformation Matrix" 1.09588 0 -0.0565 0 -1.11 1.057 0 0 1
    
$ cat ~/.config/lxsession/LXDE/autostart 
@xset s off
@xset -dpms
@xset s noblank
@bin/set-touch
@midori -e Fullscreen -a https://start.duckduckgo.com/

相关内容