AWS EC2 Ubuntu 16.04实例VNC连接后无法显示及打开终端求助
解决Ubuntu 16.04 EC2实例VNC连接后无法显示/打开终端的问题
我之前在Ubuntu 16.04 EC2实例配置VNC GUI时,也碰到过和你完全一样的情况——连接后只有桌面框架,终端死活出不来。折腾了几个方案后终于搞定,分享给你:
1. 先检查xstartup文件的执行权限
很多时候问题出在这个文件没有可执行权限,导致VNC启动时根本没跑里面的终端启动命令。执行下面的命令修复:
chmod +x ~/.vnc/xstartup
然后重启VNC服务生效:
vncserver -kill :1 vncserver :1
2. 替换vnc4server为tightvncserver
vnc4server在Ubuntu 16.04上和GNOME桌面的兼容性不算太好,换成更稳定的tightvncserver试试:
sudo apt-get remove --purge vnc4server sudo apt-get install tightvncserver
重新启动VNC服务后再连接看看效果。
3. 调整xstartup的终端启动命令
gnome-terminal在VNC的无头环境下有时候会因为缺少GNOME会话的环境变量而启动失败,可以换成更轻量的xterm,或者给xstartup补上必要的环境变量。修改后的xstartup内容如下:
#!/bin/sh export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # 补上GNOME桌面的环境变量 export XDG_CURRENT_DESKTOP=GNOME export XDG_SESSION_DESKTOP=GNOME [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-panel & gnome-settings-daemon & metacity & nautilus & # 替换为xterm,或者保留gnome-terminal但确保环境变量正确 xterm &
保存后别忘了给文件加执行权限,再重启VNC服务。
4. 查看VNC日志排查具体错误
如果上面的方法都没用,去看VNC的日志文件找线索,日志路径是~/.vnc/[你的实例主机名]:1.log。打开日志后搜索gnome-terminal或者xterm相关的错误信息,比如有没有依赖库缺失、权限不足的提示,根据日志提示针对性修复(比如用apt-get install安装缺失的包)。
内容的提问来源于stack exchange,提问作者abhimanyuaryan
相关产品推荐
相关产品推荐

