Over the years, various xsetwacom
incantations have confined the tablet stylus to the left-hand landscape monitor on my desk. Updating to Xubuntu 18.04 once again changed the monitors names (from HEAD-0
back to DP-1
), but xsetwacom
stopped working.
My startup.sh
script runs from Xubuntu’s “Application Autostart” list, so X is already running and xsetwacom
should do the right thing. Alas, even with $XAUTHORITY
and $DISPLAY
set correctly (automagically by X), xsetwacom
still didn’t corral the cursor.
Some rummaging around the Intertubes suggested a delay would allow X to get up to speed and, indeed, sleeping for two seconds solved the problem:
logger "startup.sh - copying Xauthority values" whoami > /tmp/who cp /home/ed/.Xauthority /tmp/Xauthority.txt echo $XAUTHORITY > /tmp/XAUTHORITY.txt cp $XAUTHORITY /tmp/xauth.cp echo $DISPLAY > /tmp/DISPLAY.txt # xsetwacom needs an additional delay after $XAUTHORITY and $DISPLAY become correct logger "startup.sh - waiting aimlessly" sleep 2s logger "startup.sh - doing wacom setup" xsetwacom --verbose set "Wacom Graphire3 6x8 Pen stylus" MapToOutput "DP-1" xsetwacom --verbose set "Wacom Graphire3 6x8 Pen eraser" MapToOutput "DP-1"
Sheesh & similar remarks.
The complete Bash script as a GitHub Gist:
logger "startup.sh - starting" | |
logger "startup.sh - setting configurations" | |
#setxkbmap -option terminate:ctrl_alt_bksp | |
#pactl set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo | |
amixer -D pulse sset Master 41% | |
amixer -D pulse sset Master 1%- | |
gsettings set org.gnome.Evince page-cache-size 500 | |
# enable Kinesis volume and calculator keys | |
#/home/ed/bin/Kinesis/kfreestyle2d /dev/hidraw6 & | |
logger "startup.sh - starting applications" | |
/usr/bin/thunar & | |
/usr/bin/gimp & | |
/usr/bin/chromium-browser & | |
/usr/bin/digikam & | |
/usr/bin/firefox & | |
/usr/bin/thunderbird & | |
/usr/bin/xfce4-terminal & | |
logger "startup.sh - copying Xauthority values" | |
# similar lines in .xprofile happen before X grabs the display | |
whoami > /tmp/who | |
cp /home/ed/.Xauthority /tmp/Xauthority.txt | |
echo $XAUTHORITY > /tmp/XAUTHORITY.txt | |
cp $XAUTHORITY /tmp/xauth.cp | |
echo $DISPLAY > /tmp/DISPLAY.txt | |
# xsetwacom needs an additional delay after $XAUTHORITY and $DISPLAY become correct | |
logger "startup.sh - waiting aimlessly" | |
sleep 2s | |
logger "startup.sh - doing wacom setup" | |
xsetwacom --verbose set "Wacom Graphire3 6x8 Pen stylus" MapToOutput "DP-1" | |
#xsetwacom --verbose set "Wacom Graphire3 6x8 Pen stylus" MapToOutput "HEAD-0" | |
xsetwacom --verbose set "Wacom Graphire3 6x8 Pen eraser" MapToOutput "DP-1" | |
#xsetwacom --verbose set "Wacom Graphire3 6x8 Pen eraser" MapToOutput "HEAD-0" | |
logger "startup.sh -- done" |
The cruft in there reminds me of previous fixes / workarounds / haxx, so it’s not entirely wasted space.