不使用显示管理器并通过 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.d
xinitrc
dbus-update-activation-environment
/etc/X11/Xsession.d
xhost