一. 问题说明
学校服务器 + CentOS Linux
vscode利用ssh可以正确连接
vnc之前可以正确连接,后来突然出现报错:Timed out waiting for a response from the computer
二.解决方案
-
利用vscode连接服务器后,在终端输入:
[xxx@cat ~]$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
说明:当前没有任何正在运行的 VNC 会话
需要手动启动一个 VNC 会话
-
配置 VNC 启动桌面
编辑文件:
vi ~/.vnc/xstartup
内容全部替换为下面这几行:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /usr/bin/gnome-session &保存退出后,给执行权限:
chmod +x ~/.vnc/xstartup
出现问题:
:w ".vnc/xstartup"
".vnc/xstartup" E212: 无法打开并写入文件
原因:
vi 无法写入这个文件
常见原因只有 3 个:
~/.vnc/ 目录不存在
文件路径写错
文件权限/目录权限不对
解决方案:
1:确保 .vnc 目录存在
在服务器上执行:
mkdir -p ~/.vnc
2:直接用 cat 创建 xstartup(避开 vi)
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /usr/bin/gnome-session &
EOF
3:赋予执行权限(非常重要)
chmod +x ~/.vnc/xstartup
验证一下:
ls -l ~/.vnc/xstartup
输出结果:
[xxx@cat ~]$ ls -l ~/.vnc/xstartup
-rwxrwxr-x 1 xxx xxx 93 12月 28 05:47 /home/xxx/.vnc/xstartup
[xxx2@cat ~]$ vncserver :1
A VNC server is already running as :1
[xxx2@cat ~]$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
vncserver :1→ 说 already running
所以换一个端口:
[xxx2@cat ~]$ vncserver :18
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
Creating default config /home/xxx3/.vnc/config
Starting applications specified in /home/xxx3/.vnc/xstartup
Log file is /home/xxx3/.vnc/cat:19.log
成功启动。
重新启动vnc连接服务器。

成功。