我正在运行带有 VNC 的 Ubuntu 22.04 LTS 以实现远程桌面。最近,终端无法在 VNC 会话中打开。但是,此行为仅在一个用户帐户上可见,并且 VS Code 中的终端运行正常。
如果我坚持打开终端,它会在屏幕上出现一些圆形的等待过程动画,左上方然后 VNC 会话将崩溃。
这是 /var/log/syslog 的 cathttps://pastebin.com/kJ2wvFRn。为了方便起见,我想强调一下这一部分
Non UTF-8 locale (ANSI_X3.4-1968) is not supported!
这可能是错误原因,但我不知道如何修复它。我的 cat /etc/default/locale 是
cat /etc/default/locale
LANG=en_US.UTF-8
作为比较,这是我在 VNC 会话中成功运行终端后生成的 cat /var/log/syslog(https://pastebin.com/ZkY09mfZ)我猜这是一个dbus问题。
这是我的 xstartup 设置。我正在使用 tigervncserver。
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
gnome-setting-daemon & gnome-session & gnome-terminal
我从 apt 安装了其他终端(目前使用 guake)并且运行良好。
答案1
我终于找到了根本问题。虽然 locales.conf 是正确的。但我的环境有一个 LC_ALL 覆盖。export LC_ALL=en_US.UTF-8 解决了我的问题。
因此,在检查完您的 locales-gen 后,不要忘记检查您的环境!