睡眠模式后Wacom平板电脑被移除

将Lenovo Tablet从睡眠模式唤醒(关闭并打开)后,平板电脑function停止工作。 错误消息是“Tablet Serial Wacom Tablet(Lenovo X201)已删除”(屏幕截图: http : //dl.dropbox.com/u/2471034/MOS-ASH1.jpeg )。 在输入设备下的系统设置中,它指出“未检测到平板电脑设备”。 只有重启才能帮助,触摸屏再次工作。

此错误仅在从Kubuntu 12.04升级到14.04后才出现。 在12.04中,从睡眠模式唤醒后出现相同的错误消息,但随后另一个错误消息再次激活平板电脑并且它正常工作。 任何想法如何解决这个问题?

最后,我找到了方便的解决方案! 这确实是(K)ubuntu 14.04中的一些错误,影响了许多平板电脑用户。 该错误已被提交为Launchpad Bug#1275416 。

这里提出了许多解决方案。 Rmano在这个答案中提供的解决方案并不遥远,但建议的脚本在我的情况下不起作用。 (我正在使用联想ThinkPad X201平板电脑。)

post号码的脚本。 错误报告中的21个 ,加上来自post no的命令。 然而, 22 ,工作:

  1. 使用以下内容创建文件/etc/pm/sleep.d/20_x200-wacom-workaround

     #!/bin/sh reenable_touch() { for idfile in /sys/class/tty/ttyS*/device/id; do if test -f $idfile; then if grep -q '^WACf00c$' $idfile; then devicefile=`echo "$idfile" | \ sed -n \ 's/^\/sys\/class\/tty\/ttyS\([0-9]\+\)\/.*$/\/dev\/ttyS\1/p'` if test -n $devicefile; then inputattach --daemon -w8001 $devicefile break fi fi fi done } case $1 in resume|thaw) reenable_touch ;; esac 
  2. 使该文件可执行以确保它可以在resume上运行:

     sudo chmod +x /etc/pm/sleep.d/20_x200-wacom-workaround 

从睡眠模式唤醒后,Wacom平板电脑被删除的通知现在紧接着是另一个通知,说明Wacom平板电脑已重新激活…确切地说它曾经是(K)ubuntu 12.04。 问题解决了。

在挂起和恢复阶段,Ubuntu(实际上每个使用pm-utils的Linux系统)都执行位于/etc/pm/sleep.d/目录中的一系列脚本。 它们按字母顺序执行—在暂停期间从0..9A..Z执行,在恢复期间反过来执行。 通常,所有脚本都以数字(00,01,02 …)开头,并且编号也有常规含义。 有关Arch Linux doc网站上精心制作的页面的更多信息。 使用可以“暂停”,“恢复”,“hibernate”,“解冻”的参数调用脚本,以便他们可以知道调用它们的原因。

因此,如果您想分别在挂起和恢复时卸载并重新加载wacom模块,您可以添加一个脚本 – 例如/etc/pm/sleep.d/04_myscript的内容:

 #!/bin/sh case "$1" in resume|thaw) modprobe wacom ;; suspend|hibernate) rmmod wacom ;; esac exit 0 

并记住使用可执行和可读的脚本

 chmod 755 /etc/pm/sleep.d/04_myscript 

注意事项:

  1. 以上所有必须以root身份完成; 因此,要编辑脚本并更改其权限,您必须添加适当的sudo

  2. 这真的是一个黑客—卸载和重新加载模块可能会混淆应用程序。 例如,除非你重新启动它,否则肯定会混淆那些无法看到触摸屏的xournal