#!/usr/bin/bash ### WARNING: Your distro might not put bash in this location. ### You could just use `/usr/bin/env bash` instead. # only needed for debugging exec >/tmp/udev.out 2>&1 HOME=/home/dim XAUTHORITY=$HOME/.Xauthority export XAUTHORITY HOME DISPLAY=:0 ; export DISPLAY; # Path to lock file lock="/tmp/keyboard.lock" # Lock the file (other atomic alternatives would be "ln" or "mkdir") exec 9>"$lock" if ! flock -n 9; then notify-send -t 5000 "Keyboard script is already running." exit 1 fi /usr/bin/su dim -c "sleep 3; /usr//bin/xmodmap $HOME/.Xmodmap;" & notify-send -t 2000 "Xmodmap finished" & # The lock file will be unlocked when the script ends echo '' > /tmp/keyboard.lock & unset DISPLAY