> 文章列表 > VNCServer

VNCServer

VNCServer

安装VNCServer

VNC(Virtual Network Computing)是一种远程桌面协议,可以在不同的计算机之间共享屏幕和键盘鼠标输入。在Linux系统中,可以通过安装VNC Server来允许其他计算机通过VNC客户端远程访问Linux系统的桌面界面。

安装

安装VNC Server的步骤一般如下:

  1. 安装VNC Server软件包。在Ubuntu和Debian系统中,可以使用以下命令安装:

    sudo apt-get update
    sudo apt-get install vnc4server
    

设置密码

  1. 设置VNC Server的访问密码。可以使用以下命令设置:

    vncpasswd
    

启动服务

  1. 启动VNC Server并指定显示器号和分辨率。例如,以下命令将启动一个大小为1280x800像素的VNC会话:

    vncserver :1 -geometry 1280x800 -depth 24
    
  2. 在VNC客户端上输入Linux系统的IP地址和VNC Server的显示器号(例如:1),然后输入之前设置的密码即可远程访问Linux系统的桌面界面。

注意:VNC Server的默认端口为5900,因此如果使用默认端口,请确保在防火墙中开放此端口。但是VNC服务器也

可以配置成监听其他的端口号。例如,如果你启动的是:1,那么它会监听5901端口;如果你启动的是:2,那么它会

监听5902端口

停止服务

  1. 要停止 VNC 服务器,可以执行以下命令:
vncserver -kill :1

​ 其中 :1 是启动 VNC 服务器时指定的显示号码,如果你使用的是其他显示号码,需要将 :1 替换为相应的显

示号码。执行该命令后,VNC 服务器进程会被终止,VNC 连接也会被关闭。

查找进程服务

  1. 你可以尝试使用以下命令查找是否已经有 VNC 服务器在运行:
ps -ef | grep Xtightvnc

​ 如果输出结果中包含类似于 Xtightvnc :1 的行,那么说明已经有一个 VNC 服务器在运行。你可以使用

kill 命令结束掉该进程,例如:

kill <PID>

其中 <PID> 是要结束的进程的进程 ID。

无法连接?

如果你已经成功启动了 VNC Server,但仍无法连接到它,可以尝试以下方法:

  1. 确认 VNC Server 的监听端口:使用命令 netstat -anp | grep 5900 查看是否有进程在监听端口 5900。
  2. 确认网络连接:确保客户端和服务器在同一个网络中,并且没有任何防火墙或路由器设置阻止连接。
  3. 检查 VNC Server 的配置文件:检查 VNC Server 的配置文件中是否启用了 VNC 监听端口。

如果还不行换换一招吧

Uos进入开发者模式,然后用终端安装xrdp

下载安装xrdp:

sudo apt-get install xrdp

检查xrdp服务运行状态:

systemctl status xrdp

重启Uos退出桌面模式(不使用此命令可能会出现卡顿或者黑频,使用之后会退出桌面模式,进入到命令行模式)

sudo init 3

端口相关

检查连接

可以使用以下命令检查本地或远程主机的5900端口是否开放:

telnet <hostname or IP address> 5900

如果端口开放,你将看到一个类似于下面的输出:

Trying <hostname or IP address>...
Connected to <hostname or IP address>.
Escape character is '^]'.

如果端口未开放,你将看到一个类似于下面的输出:

Trying <hostname or IP address>...
telnet: connect to address <hostname or IP address>: Connection refused
telnet: Unable to connect to remote host

防火墙开放端口

如果使用的是iptables防火墙,可以使用以下命令放开5900端口:

sudo iptables -A INPUT -p tcp --dport 5900 -j ACCEPT

这将允许TCP连接到5900端口。如果你想允许UDP连接,可以使用以下命令:

sudo iptables -A INPUT -p udp --dport 5900 -j ACCEPT

查看端口被占用的进程

你可以通过以下命令来查看某个端口被哪个进程占用:

sudo lsof -i :端口号
# 或者 
netstat -tlnp | grep 5901

例如,要查看端口号为 8080 的进程,可以使用以下命令:

sudo lsof -i :8080

该命令会返回一些列信息,其中包括进程名和 PID。你可以通过 PID 来结束该进程,例如:

sudo kill -9 PID