Los scripts lanzados desde udev ya no tienen acceso a DISPLAY?

Tengo un script que se ejecuta desdeudev Cuando conecto mi unidad externa. Siempre funcionó. Pero después de actualizar desdeLinux 3.8 / Xorg 1.12 / Mint 14 (Ubuntu 12.10 compatible) aLinux 3.11 / Xorg 1.14 / Mint 16 (Ubuntu 13.10 compatible), ya no funciona.

El script aún se ejecuta, pero ninguno de los comandos que requieren la visualización funciona. Me di cuenta de eso dejando eludev daemon y ejecutar manualmenteudevd --debug para salida detallada (más abajo).

Este script solía trabajar enMenta 14 / 12.10:

export DISPLAY=:0
UUID=$1
DEV=$2

notify-send -t 700 "mounting $DEV ($UUID)"
gnome-terminal -t "Backing up home..." -x rsync long line of data
zenity --warning --text="Done."

Pero ya no enMenta 16 / 13.10. En caso de que se esté preguntando sobre posibles soluciones, gradualmente agregué cosas y ahora se ve así:

export DISPLAY=:0.0

xhost +local:
xhost +si:localuser:root
xhost +

DISPLAY=:0.0
export DISPLAY=:0.0
UUID=$1
DEV=$2

notify-send -t 700 "mounting $DEV ($UUID)"
gnome-terminal -t "Backing up home..." -x rsync long line of data
zenity --warning --text="Done." --display=:0.0

Pero todavía no funciona.udevd --debug todavía muestra esto:

'(err) 'No protocol specified'
'(err) ''
'(err) '** (gnome-terminal:24171): WARNING **: Could not open X display'
'(err) 'No protocol specified'
'(err) 'Failed to parse arguments: Cannot open display: '
'(err) 'No protocol specified'
'(err) ''
'(err) '** (zenity:24173): WARNING **: Could not open X display'
'(err) 'No protocol specified'
'(err) ''
'(err) '(zenity:24173): Gtk-WARNING **: cannot open display: :0.0'
'(err) 'No protocol specified'

Tenga en cuenta que cualquier lógica bash funciona. Haciendo eco de las pruebas a>>/tmp/test.log trabajos. Simplemente está accediendo a la pantalla que ya no funciona.

Esto me está volviendo loco. ¿Cuál es la forma correcta de lograr esto ahora?

Actualización 2013-12-20

Así, en el Ubuntu anterior,X comandos encontrarían automáticamente su camino a la corrienteX utilizando usuario.

Ahora, parece que necesito estas dos cosascada vez:

Sobre elX usando usuario:xhost +si:localuser:rootSobre elroot/udev lado:DupdoX usando usuarios~/.Xauthority archivar a/root

Esto 'se siente' como un paso atrás en el tiempo. Esto solo funciona con secuencias de comandos cuando inicio sesión como el mismo usuario cada vez, por lo que puedo copiar el.Xauthority archivo de la casa de los usuarios cuando se ejecuta el script.

¿Qué 'truco' usó el viejo Ubuntu para que esto se hiciera 'mágicamente' automáticamente?

Respuestas a la pregunta(5)

Su respuesta a la pregunta