使触摸板和恢复密码更改永久生效

使触摸板和恢复密码更改永久生效

在 Ubuntu 10.10 中,我真的不想在我的 EeePC 上恢复时输入任何密码,所以我必须运行

gconftool-2 --set --type=bool /apps/gnome-power-manager/lock/suspend false

我想要两个手指单击鼠标中键,所以我必须运行

xinput set-prop "ETPS/2 Elantech Touchpad" "Synaptics Tap Action" 8, 9, 0, 0, 1, 2, 3 (该 gpointingdevice 包对我无能为力)

这些都有效,但只能持续到下一次恢复。出于某种奇怪的原因,Ubuntu 总是会覆盖这些更改。

我将这两个命令放入脚本中/etc/pm/sleep.d/,但即使这样,恢复后更改仍然消失。

这种奇怪的行为从何而来?我该如何使这些更改永久生效?

答案1

您可以在 sh 文件中添加这些命令

#!/bin/sh
gconftool-2 --set --type=bool /apps/gnome-power-manager/lock/suspend false
xinput set-prop "ETPS/2 Elantech Touchpad" "Synaptics Tap Action" 8, 9, 0, 0, 1, 2, 3

将其另存为 startup.sh(例如)并将其放入系统->首选项->启动应用程序中。哦,并在文件上下文菜单->权限中添加将此文件作为程序执行的权限

答案2

您应该知道,所有 sleep.d 脚本都以 root 身份运行,这很容易成为问题。

  • 您可以将调试信息添加到脚本中,例如echo "Touchpad command"随后将显示在日志中的信息。更多信息

  • 使用打开日志日志文件查看器并发现暂停日志然后搜索您添加到脚本的回显注释并查找任何错误。

  • 如果您需要帮助解读日志,请将其复制并粘贴到粘贴并将该链接粘贴到这里。

  • 您可以使用其他用户身份运行这些命令su username -c command

答案3

对于 Ubuntu Oneiric,你应该使用新的热插拔命令钩子基本上,你使用以下方式创建脚本这个模板它会在路径中的某个地方使用你想要的设置来调用 xinput,使其可执行,然后:

gsettings set org.gnome.settings-daemon.peripherals.input-devices hotplug-command <script>

该脚本将在启动、恢复以及设备插入/拔出时被调用。

答案4

我刚刚将其添加为 /etc/pm/sleep.d/99_touchpad(不要忘记 chmod +x。)在 Debian Wheezy 中运行良好,因此它在最近的 Ubuntu 版本中应该也能正常工作:

#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
case "${1}" in
        hibernate)
                ;;
        resume|thaw)
        DISPLAY=:0.0 su <username> -c /home/<username>/touchpad.sh
                ;;
esac

当然,请替换您自己的用户名。我的 touchpad.sh(也通过“启动应用程序”调用)是

#!/bin/bash
dev="ETPS/2 Elantech Touchpad"
# Use xinput --list-props "ETPS/2 Elantech Touchpad" to list data
xinput set-prop "$dev" "Synaptics Tap Action" 8, 9, 0, 0, 1, 2, 3
xinput set-prop "$dev" "Synaptics Locked Drags" 1
xinput set-prop "$dev" "Synaptics Locked Drags Timeout" 500

设置锁定拖动和双指中键单击。

相关内容