Scripts lançados a partir do udev não têm mais acesso ao DISPLAY?

Eu tenho um script que vai deudev quando eu conecto minha unidade externa. Isso sempre funcionou. Mas depois de atualizar deLinux 3.8 / Xorg 1.12 / Mint 14 (Ubuntu 12.10 compatível) paraLinux 3.11 / Xorg 1.14 / Mint 16 (Ubuntu 13.10 compatível), não funciona mais.

O script ainda é executado, mas nenhum dos comandos que exigem a exibição funciona. Eu percebi isso por desistir doudev daemon e executar manualmenteudevd --debug para saída detalhada (mais abaixo).

Este script costumava trabalhar emHortelã 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."

Mas não mais emHortelã 16 / 13.10. Caso você esteja se perguntando sobre possíveis soluções, eu gradualmente adicionei coisas e agora se parece com isso:

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

Mas ainda não funciona.udevd --debug ainda mostra isso:

'(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'

Note que qualquer lógica bash funciona. Ecoando vars de teste para>>/tmp/test.log trabalho. É só acessar a tela que não funciona mais.

Isto está me enlouquecendo. Qual é a maneira correta de conseguir isso agora?

Atualização 2013-12-20

Então, no Ubuntu anterior,X comandos iria automaticamente encontrar seu caminho para o atualX usando o usuário.

Agora eu pareço precisar dessas duas coisastoda vez:

NoX usando o usuário:xhost +si:localuser:rootNoroot/udev lado:cópia deX usando usuários '~/.Xauthority arquivo para/root

Isso "parece" um passo atrás no tempo. Isso só funciona quando eu fizer login como o mesmo usuário toda vez, então eu posso copiar o.Xauthority arquivo da casa dos usuários quando o script é executado.

Qual 'truque' o antigo Ubuntu usou para fazer isso auto'magic'ally?

questionAnswers(5)

yourAnswerToTheQuestion