如何使用固定地址启动dbus?

Mik*_*kov 6 openbox d-bus

该问题与此处此处描述的相同,但我此处看不到明确的解决方案。我的意思是我有同样的错误:

Failed to connect to socket /tmp/dbus-CwQMg2RxWx: Connection refused
Run Code Online (Sandbox Code Playgroud)

这是因为我在没有重新启动的情况下重新启动了我的 openbox 会话tmux。吉尔斯提到我应该:

开始dbus-daemon在你的X会话启动早明确,并给它像一个固定的地址unix:path=~/.dbus-$HOSTNAME-$DISPLAY

但我真的不知道把这个地址放在哪里。

当我检查系统中的 dbus 进程时,我得到如下信息:

$ ps -eo user,group,args | grep -i dbus
morfik   morfik   ck-launch-session dbus-launch --sh-syntax --exit-with-session openbox-session
morfik   morfik   dbus-launch --sh-syntax --exit-with-session openbox-session
morfik   morfik   /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
message+ message+ /usr/bin/dbus-daemon --system
morfik   morfik   grep --color=auto -i dbus
Run Code Online (Sandbox Code Playgroud)

现在我只使用starx命令来启动 X-server,我不再使用 lightdm。

更新#1

我终于设法用固定地址启动了 dbus。该行应如下所示:

unix:path=/home/morfik/.dbus/.dbus-morfikownia-0
Run Code Online (Sandbox Code Playgroud)

我无法使用:~在补丁中。

但是有一个问题。

Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] sink.c: Default and alternate sample rates are the same.
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-sink-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-sink-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-sink-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-sink-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-sink-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] source.c: Default and alternate sample rates are the same.
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-source-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-source-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-source-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-source-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [alsa-source-ca0106] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] module-console-kit.c: Unable to contact D-Bus system bus: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] module.c: Failed to load module "module-console-kit" (argument: ""): initialization failed.
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] main.c: Module load failed.
Feb 14 07:24:29 morfikownia pulseaudio[6979]: [pulseaudio] main.c: Failed to initialize daemon.
Run Code Online (Sandbox Code Playgroud)

现在,我有以下 dbus 进程:

morfik:~$ ps -eo user,group,args | grep -i dbus
message+ message+ /usr/bin/dbus-daemon --system --address=unix:path=/home/morfik/.dbus/.dbus-morfikownia-0
morfik   morfik   dbus-launch --sh-syntax --exit-with-session openbox-session
morfik   morfik   /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
morfik   morfik   grep --color=auto -i dbus
Run Code Online (Sandbox Code Playgroud)

但是 DBUS_SESSION_BUS_ADDRESS 仍然被设置为一个随机值:

morfik:~$ env | grep -i dbus
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-W0pGpHoLOW,guid=20f83c74a8f5cef7e95ba8cb52fdb5cd
Run Code Online (Sandbox Code Playgroud)

我把它改成

morfik:~$ export DBUS_SESSION_BUS_ADDRESS=unix:path=/home/morfik/.dbus/.dbus-morfikownia-0
Run Code Online (Sandbox Code Playgroud)

看看会发生什么,为了测试我使用过xfce4-notifyd-config它仍然有效。所以,我检查了另一个地址:

morfik:~$ export DBUS_SESSION_BUS_ADDRESS=unix:path=/home/morfik/.dbus/.dbus-morfikownia-01
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

Failed to connect to socket /home/morfik/.dbus/.dbus-morfikownia-01: No such file or director
Run Code Online (Sandbox Code Playgroud)

我将以下行放在/home/morfik/.config/openbox/environment

export DBUS_SESSION_BUS_ADDRESS="unix:path=/home/morfik/.dbus/.dbus-morfikownia-0"
Run Code Online (Sandbox Code Playgroud)

我现在可以xfce4-notifyd-config毫无问题地在 tmux中启动,但是pulseaudio 不起作用。还有一些其他的问题。当我启动 Firefox 时,出现以下错误:

An error occurred while loading or saving configuration information for firefox. Some of your configuration settings may not work properly.

Failed to activate configuration server: The name org.gnome.GConf was not provided by any .service files

Failed to activate configuration server: The name org.gnome.GConf was not provided by any .service files

Failed to activate configuration server: The name org.gnome.GConf was not provided by any .service files

Failed to activate configuration server: The name org.gnome.GConf was not provided by any .service files
Run Code Online (Sandbox Code Playgroud)

因此,解决方案--address部分有效,我认为它弊大于利。也许还有其他事情需要做?

Gil*_*il' 2

dbus-daemon --address="unix:path=~/.dbus-$HOSTNAME-$DISPLAY"
Run Code Online (Sandbox Code Playgroud)

~/.xinitrc如果您使用 startx,~/.xsession如果您使用带有自定义会话的图形 X 登录管理器,或者您的桌面环境启动时运行的任何 shell 脚本,请将其放入其中。请注意,如果您的系统已启动 DBus 守护进程,您可能需要先终止它。这可能会影响某些桌面环境的功能。

通过此设置,所有 DBus 命令都将涉及发出命令的进程正在运行的主机,而不是远程 GUI(如果您通过使用 X11 转发的 SSH 登录)。