xinitrc - 设置 DBUS_SESSION_BUS_ADDRESS

xinitrc - 设置 DBUS_SESSION_BUS_ADDRESS

不使用显示管理器并通过 xinitrc 执行启动逻辑。问题是一些与 dbus 相关的环境变量未设置。

xinitrc 摘录:

dbus-update-activation-environment --systemd --all  # note this errors
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID

第一个返回错误

dbus-update-activation-environment:警告:发送到 systemd 时出错:org.freedesktop.DBus.Error.InvalidArgs:无效的环境分配

如何确保 dbus 变量(例如DBUS_SESSION_BUS_ADDRESS)已设置?

请注意,我也可以注释掉这些行/usr/bin/startx

unset DBUS_SESSION_BUS_ADDRESS
unset SESSION_MANAGER

但不确定这就是要走的路。

运行 Debian 测试。

答案1

我用得startx很好(Debian不稳定+实验)。如果您(再次)查看 dbus 环境变量的设置位置,它位于/etc/X11/Xsession.d/20dbus_xdg-runtime.我使用自己的脚本,并且意识到由于没有获取脚本(就像默认情况下那样).xinitrc而产生的一系列问题。我强烈建议您不要尝试自己运行,而是直接获取文件(它们添加了许多其他内容,例如修改您的设置)。/etc/X11/Xsession.dxinitrcdbus-update-activation-environment/etc/X11/Xsession.dxhost

相关内容