The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

The New Hotness

  • Xubuntu Startup Delay vs. xsetwacom

    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 6×8 Pen stylus" MapToOutput "DP-1"
    #xsetwacom –verbose set "Wacom Graphire3 6×8 Pen stylus" MapToOutput "HEAD-0"
    xsetwacom –verbose set "Wacom Graphire3 6×8 Pen eraser" MapToOutput "DP-1"
    #xsetwacom –verbose set "Wacom Graphire3 6×8 Pen eraser" MapToOutput "HEAD-0"
    logger "startup.sh — done"
    view raw startup.sh hosted with ❤ by GitHub

    The cruft in there reminds me of previous fixes / workarounds / haxx, so it’s not entirely wasted space.