我使用 Crouton 将 16.04 安装在我的 chromebook 上。当我单击终端时,它会弹出到仪表板上并像正在加载一样,但随后很快消失并且什么也不做。当我尝试在 xterm 中输入“gnome-terminal”时,我收到错误:
Error constructin proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0:
Error calling StartServiceByName for org.gnome.Terminal: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited.
Process org.gnome.
Terminal exited with status 8
答案1
经过一番调查,我找到了一种解决方法,按照这里提供的提示: https://unix.stackexchange.com/questions/231152/gnome-terminal-stopped-working/243696#243696
首先,您需要导出 DISPLAY(运行 X 的那个)、LANG 和 DBUS_SESSION_BUS_ADDRESS 环境变量。
要获取 DBUS_SESSION_BUS_ADDRESS,您可以从 gnome-session 进程之一的环境中选择它,甚至可以从 dbus-daemon 进程中选择它:
$ ps aux | grep dbus-daemon
xuser 10752 0.0 0.0 42764 2532 ? Ss 13:50 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
xuser 10804 0.0 0.0 43620 4012 ? Ss 13:50 0:00 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-UhfCCoqTSP
xuser 10891 0.0 0.0 42896 3932 ? S 13:50 0:00 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
在这种情况下,DBUS_SESSION_BUS_ADDRESS 是“unix:abstract=/tmp/dbus-UhfCCoqTSP”。
现在您可以执行以下操作(从 xterm 或控制台 shell)
export DISPLAY=:1
export LANG=en_US.UTF-8
export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-UhfCCoqTSP
dbus-update-activation-environment --verbose LANG DISPLAY DBUS_SESSION_BUS_ADDRESS
或者你也可以使用以下方式设置所有变量
dbus-update-activation-environment --all
但我发现只有这三个是必需的。