我创建了一个脚本来在会话开始时设置我的 Intuos 平板电脑:
#!/bin/sh
xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelUp "key ctrl minus";
xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelDown "key ctrl plus";
xsetwacom set "Wacom Intuos4 4x6 pad" Button 1 "key ctrl 0"; #touchring button
xsetwacom set "Wacom Intuos4 4x6 stylus" Button 2 3;
xsetwacom set "Wacom Intuos4 4x6 stylus" Button 3 2;
xsetwacom set "Wacom Intuos4 4x6 stylus" TabletPCButton on;
我已将其保存为~/bin/.wacomsetup.sh
正在运行chmod a+x ~/bin/.wacomsetup.sh
。检查属性,显示它被允许作为程序运行,但我的用户帐户只能读取/写入该文件。
我已经确认当我使用从终端运行它时它可以工作sh ~/bin/.wacomsetup.sh
,但是当我将路径作为命令条目放在启动应用程序中的新条目中时(这是特定于 Cinnamon 的吗?),它不会在登录/重新启动后运行脚本(我必须手动运行它)。
编辑启动程序:
名称:Setup Wacom Intuos
命令:sh ~/bin/.wacomsetup.sh
注释:ksdfk
我是否需要向脚本应用不同的权限才能以这种方式在启动时运行?
谢谢
(如果有更好的标签,如果有人可以更恰当地重新标记这个问题,我将不胜感激。)
答案1
可以尝试以下几件事:
将启动应用程序中路径中的“~”替换为你的主文件夹的绝对路径(例如
/home/whateveryourusernameis
)删除
sh
路径中的,因为它不是必需的;只要脚本是可执行的(在 DACL 中为您设置了“x”位),#!/bin/sh
脚本开始时就会检测到它是一个 shell 脚本并自动启动 shell 解释器来执行命令。尝试将脚本移动到
/usr/bin
,使其世界可读和可执行,并将Command:
启动应用程序中的设置为wacomsetup.sh
。虽然我怀疑这一步是否必要,因为启动应用程序在您登录后在您的用户帐户下执行,并且 Xorg 应该已经启动了……只是为了确保问题不是脚本运行但由于某种原因,命令无法执行:在脚本顶部的行下
#!/bin/sh
,尝试添加:(echo scripted > ~/scripted
如果您已经有同名文件用于其他用途,请更改“脚本”部分)。然后确保该文件不存在,然后注销/登录并查看它是否写入该文件。如果没有,则脚本甚至没有运行。如果您确实看到该文件,则脚本正在运行,但调用xsetwacom
失败。
答案2
我不确定您说的“启动应用程序”是什么意思。我猜想它是一个 GUI 前端。您在哪里找到它的?
无论如何,您是否尝试过向 中添加新的 .desktop 文件~/.config/autostart
?它应该是这样的:
[Desktop Entry]
Name=wacomsetup
Type=Application
Exec=/home/your_user/bin/.wacomsetup.sh
X-GNOME-Autostart-enabled=true
Comment=Blah blah
Hidden=false
例如,将其另存为,wacomsetup.desktop
然后注销并重新登录。