четверг, 30 декабря 2010 г.

$HOME/.Xauthority и Ubuntu 10.10 Maverick

В Ubuntu Maverick файл с magic cookie для X-сервера неожиданно переместился в /var/run/gdm/*/database. В следствии этого кое-что перестало работать, например, некоторые функции acpi, потому что они всё ещё ссылаются на файл $HOME/.Xauthority.
Сложно сказать кто тут виноват и что делать, а я пока привожу work around для временного решения проблемы (необходимо выполнить этот скрипт в окне терминала):

cat << EOF | sudo tee /etc/gdm/PostLogin/Default
#!/bin/bash

auth=\$HOME/.Xauthority
if [ -e \$auth ]; then
        diff <(xauth extract - \$DISPLAY) \\
        <(XAUTHORITY=\$auth xauth extract - \$DISPLAY) > /dev/null \\
        && exit 0
fi
xauth extract - \$DISPLAY | XAUTHORITY=\$auth xauth merge -
EOF
sudo chmod +x /etc/gdm/PostLogin/Default

Update: тоже самое справедливо и для Arch Linux, по крайней мере если у вас установлен Gnome.

2 комментария:

koct9i комментирует...

а симлинька тут не поможет?

GiNeR комментирует...

Думаю, что нет, потому что путь к файлу, судя по всему, непостоянный.
$ env|grep XAUTH
XAUTHORITY=/var/run/gdm/auth-for-giner-nYEOYX/database