使用VNC连接远程linux

1.linux安装TigerVNC
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
2.设置VNC密码
vncpasswd
3.启用VNC,开启-localhost yes预防内网扫描到5901端口
vncserver -localhost yes -geometry 1920x1080 -depth 24 :1
4.建立连接
ssh -L 5901:localhost:5901 yourname@你的Linux服务器IP
ssh -i "C:\Users\你的用户名\.ssh\id_rsa" -L 5901:127.0.0.1:5901 yourname@你的Linux服务器IP
5.修改配置
sudo vim /etc/ssh/sshd_config

修改sshd_config文件

AllowTcpForwarding yes
GatewayPorts yes

//检查linux 5901端口是否接听
//bash //ss -tlnp | grep 5901 //
//没有输出就是端口没有打开

//启用端口
//bash //vncserver :3 -localhost yes -geometry 1920x1080 -depth 24 //

6.开启VNCserver

修改~/.vnc/xstartup

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# 在桌面启动前,强制定义并设置 1920x1080 模式
# TigerVNC 的输出设备名称通常叫 "Default"
xrandr --newmode "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Default 1920x1080
xrandr --output Default --mode 1920x1080

startxfce4 &

给xstartup权限

chmod +x ~/.vnc/xstartup

首先检查是否开始VNC

vncserver -list

若无输出则没开启VNC

tigervncserver -xstartup /usr/bin/xterm :2

image

安装xterm

sudo apt install xterm

再次启动

tigervncserver -xstartup /usr/bin/xterm :2

看到没有三秒退出即可
查看服务是否启动

tigervncserver -list

image

查看是否监听5902

ss -tlnp | grep 5902

image
[::1]5902

杀掉所有名字里带 vnc 的进程
vncserver -kill :2 2>/dev/null
sudo pkill -9 Xtigervnc
sudo pkill -9 Xvnc

# 强制删除锁文件(这是解决 "Server is already active" 的关键)
sudo rm -f /tmp/.X2-lock /tmp/.X11-unix/X2
暴力启动
Xtigervnc :2 -auth /home/yourname/.Xauthority -geometry 1920x1080 -depth 24 -rfbauth /home/yourname/.vnc/passwd -localhost no &

再次

ss -tlnp | grep 5902

image

[::0]5902
使用ssh连接VNC

ssh -i C:\Users\xxx\.ssh\密钥 -L 5902:127.0.0.1:5902 ubuntu_name@ip
7.windows打开trigerVNC

连接127.0.0.1:5902
使用使用以下命令 将界面传输到屏幕2

export DISPLAY=:2

切换背景板

sudo apt update && sudo apt install fluxbox -y
export DISPLAY=:2
fluxbox &

补全缺失工具

sudo apt update
sudo apt install dbus-x11 x11-xserver-utils fluxbox -y

其他命令

# 查询远程桌面端口号
sudo ss -tulpn
# 创建快捷方式
ln -s [文件地址]
# 查询分辨率
xrandr | grep '*'
#输出到5902端口 (5903则是DISPLAYL=:3)
DISPLAY=:2
posted @ 2026-02-08 15:35  HadyLiu  阅读(69)  评论(0)    收藏  举报