首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在连接Wacom图形平板电脑(通过USB)后立即运行配置脚本?

如何在连接Wacom图形平板电脑(通过USB)后立即运行配置脚本?
EN

Ask Ubuntu用户
提问于 2020-01-03 19:22:06
回答 1查看 1.8K关注 0票数 4

我使用的是Ubuntu18.04下的Wacom图形平板(内核:4.15.0-72-generic)。

不幸的是,我无法使用系统设置来配置它,因为它没有被正确识别。

通过xsetwacom进行的配置可以工作,但不是持久的。一旦我重新启动计算机或回复设备,默认设置就会被加载。

我认为最简单的解决方案是在平板电脑被识别为USB设备后立即运行配置脚本。

根据我的理解,要做到这一点,需要采取两个步骤:

  1. Create -- udev规则我已经创建了一个文件/etc/udev/rules.d/99-config_wacom_intuos.rules,其内容是:# "idVendor“和"idProduct”是从lsusb命令的输出派生出来的。ACTION==“添加”、SUBSYSTEM==“输入”\、KERNEL==“鼠标*”、ATTRS{idVendor}=="1234“\、ATTRS{idProduct}=="5678”\、RUN+=“bin/sh -c‘/usr/local/bin/config_wacom_tuos.sh >> /var/log/custom/config_wacom_tuos.log’”该文件具有权限:-rw-r-r-1根根.(字典/var/log/custom_logs也是我创建的。)
  2. Create一个配置脚本我已经创建了一个文件/usr/local/bin/config_wacom_intuos.sh,其内容是:#!/bin/bash #编码:utf8 8#--这些都是答案所建议的缺失语句。#导出DISPLAY=:1 #export =/run/user/1000/gdm/Xauthority echo "date '+%Y-%m-%dT%H:%M:%S',ShellPID $$,start 1 if xsetwacom -列出设备grep -q "Wacom Intuos BT“,main_screen=”“HEAD-0”bezier_args="0 2080 100“positioning_mode=”raw_sample_lvl="9“suppress_lvl="10”映射到指定屏幕的区域(适用于多屏幕环境)。xsetwacom集"Wacom Intuos BT S笔笔“”MapToOutput "$main_screen“xsetwacom set”"Wacom Intuos BT Intuos Pen eraser“”MapToOutput "$main_screen“xsetwacom set”"Wacom Intuos BT动笔“MapToOutput "$main_screen”#改变压力灵敏度。xsetwacom集"Wacom Intuos BT S笔笔“”PressureCurve "$bezier_args“xsetwacom set”"Wacom Intuos BT S Pen eraser“”PressureCurve“$bezier_args#通过减少抖动来平滑画线。xsetwacom集"Wacom Intuos BT S笔笔“”RawSample "$raw_sample_lvl“xsetwacom set”"Wacom Intuos BT Pen笔笔“压制"$suppress_lvl”xsetwacom集"Wacom Intuos BT "$suppress_lvl“RawSample "$raw_sample_lvl”xsetwacom集“"Wacom Intuos BT双击笔”禁止"$suppress_lvl“xsetwacom集"Wacom Intuos BT Pen光标"$raw_sample_lvl”xsetwacom“xsetwacom设置"Wacom Intuos BT # Pen”$suppress_lvl指定定位模式。(“绝对”/“相对”) xsetwacom集"Wacom Intuos BT S笔笔“模式"$positioning_mode”xsetwacom集"Wacom Intuos BT S Pen橡皮擦“模式"$positioning_mode”xsetwacom set "Wacom Intuos BT声笔“光标模式"$positioning_mode”将动作分配给平板按钮。xsetwacom集"Wacom Intuos BT S Pad Pad pad“Button 1 +ctrl z -ctrl”xsetwacom set“"Wacom Intuos BT S Pad pad”Button 2 "key +ctrl +shift z -ctrl -shift“xsetwacom set "Wacom INTUOS BT + Pad pad”Button 3键0 0xffab“xsetwacom set”"Wacom Intuos BT pad pad“按钮8”按键0 0xffad“其他回复”没有“WACOM Intuos BT设备。fi回送"date '+%Y-%m-%dT%H:%M:%S',ShellPID $$,end“”echo -e“-”退出0“该文件具有权限:-rwxr-xr-x1根根目录.

当我从终端手动执行脚本时,脚本工作得很好。

当我插入设备时,它也会执行。Unfortunately,这似乎没有任何效果。

此外,在插入设备后,脚本会连续执行几次。我假设这种行为的发生是因为udev规则不够严格。

有人能告诉我我做错了什么吗?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-01-05 18:23:45

X服务器工具通常只影响当前会话(这就是为什么每次都必须设置它们)。

由于您在没有附加到任何X会话的shell中运行该脚本,因此该工具不知道这些设置应该更改为什么(或者更确切地说,它根本不知道X会话甚至存在)。

您可以手动将shell连接到当前的X会话,但有时解决方案可能有点脆弱。

您需要向脚本中添加两个变量导出,一个用于DISPLAYXAUTHORITY。它们用于标识和访问正确的X会话。您可以通过以常规用户身份登录时运行env来获得适当的值。

在我的例子中,输出看起来如下(用[...]标记的部分是省略的):

代码语言:javascript
复制
$ env
[...]
XAUTHORITY=/home/tim/.Xauthority
[...]
DISPLAY=:0.0
[...]

对于这些值,我需要将脚本扩展如下:

代码语言:javascript
复制
export DISPLAY=:0.0
export XAUTHORITY=/home/tim/.Xauthority

现在,即使您是根用户,脚本也应该工作。

udev配置本身似乎很好。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1200476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档