Ошибка, которую я получаю, является этим:
GConf Error: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon.
See http://projects.gnome.org/gconf/ for information.
(Details - 1: Failed to get connection to session: Error connecting: Connection refused)
Failed to open bus: Failed to connect to socket /tmp/dbus-BYC0LHrEHk: Connection refused
Какие-либо предложения?
Вместо того, чтобы позволить выполненному Gnome dbus-launch
для создания случайного D-адреса-шины запустить dbus-daemon
явно рано в Ваших X запусках сессии и дают ему фиксированный адрес как unix:path=~/.dbus-$HOSTNAME-$DISPLAY
.
Учитывая информацию в отчете об ошибках, можно даже смочь сойти с рук unset DBUS_SESSION_BUS_ADDRESS
и позвольте приложениям узнать адрес шины от корневых свойств окна.
С 15,10, dbus экземпляр на сессию создается через Выскочка задание сессии. Рассматриваемый файл задания /usr/share/upstart/sessions/dbus.conf
. Можно заменить случайный адрес по умолчанию путем переопределения pre-start script
строка файла конфигурации, которая указывает адрес для использования. Создать ~/.config/upstart/dbus.override
со следующим:
pre-start script
DBUS_SESSION_BUS_ADDRESS=unix:path=$HOME/.dbus-$(hostname)-$(echo $DISPLAY | sed -e s/:/%3A/)
initctl set-env DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS
end script
Фиксированный адрес будет использоваться после следующего входа в систему.
Это - по-видимому, ошибка в gconf, который уже имеет фиксацию (если я понял правильно из этого отчета об ошибках). Тем временем следующее должно работать вокруг проблемы:
export DBUS_SESSION_BUS_ADDRESS=$(tr '\0' '\n' < /proc/$(pgrep -U $(whoami) gnome-session)/environ|grep ^DBUS_SESSION_BUS_ADDRESS=|cut -d= -f2-)
Или если как я Вы не используете гнома:
unset DBUS_SESSION_BUS_ADDRESS
tmux можно сказать всегда сбросить определенный огибающий Вар:
update-environment variables Set a space-separated string containing a list of environment variables to be copied into the session environment when a new session is created or an existing session is attached. Any variables that do not exist in the source environment are set to be removed from the session environment (as if -r was given to the set-environment command). The default is "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY".
На основе этого могло бы быть уместно добавить DBUS_SESSION_BUS_ADDRES к этой опции в ~/tmux.conf
:
set-option -g update-environment "DBUS_SESSION_BUS_ADDRESS DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
Это работало на меня.