TigerVNC是一个高性能、平台无关的虚拟网络计算(Virtual Network Computing,VNC)实现,是一个客户端/服务器应用程序,允许用户在远程机器上启动并与图形应用程序进行交互。TigerVNC提供了运行3D和视频应用程序所需的性能要求,并试图维护一个通用的桌面外观和感觉并重用组件,在可能的情况下,跨越它所支持的各种平台。TigerVNC还为高级身份验证方法和TLS加密提供了扩展。

TigerVNC最初是基于TightVNC从未发布过的VNC4分支,目标是提供一个高性能、稳定和通用的VNC实现。TigerVNC将继续支持Windows、Linux和Java等多个平台,而且对最新一代的X.Org的支持已经到位。

多平台上的统一外观和对新一代的X.Org的支持也许是TigerVNC与TightVNC的最大的区别。事实上,TightVNC的Unix-like平台的支持一直停留在十几年前的1.3版,一直不停更新的是其Windows版。而TigerVNC则注重Unix-like版本的开发,特别是对新版本的X桌面系统的强力支持,而Windows版本则是不建议使用。所以如果想要在BSD、Linux等Unix-like操作系统中实现远程虚拟桌面,最好的选择当然是TigerVNC,也正是TigerVNC才真正解决了GNOME 3版本中所采用的硬件加速等新功能的远程虚拟,有一个能实现全功能的GNOME的TigerVNC服务器为什么不用呢。

centos7为例:

1.配置好本地 yum 源,然后安装上 tigervnc 和 tigervnc-server 安装包,被远程只装tigervnc-server即可

[root@nginx ~]# yum search tigervnc --showduplicates //可以看到本地 yum 源提供的 vnc 版本。
[root@nginx ~]# yum -y install tigervnc*

2.临时启用 VNC 远程连接又可以简单分为以下两种情况:

  • 【单终端】只需要一个远程窗口供用户进行操作即可;
  • 【多终端】需要多个远程窗口供多个用户进行操作(比如多个用户都需要图形化界面来配置多个不同的应用服务)。

单终端配置:

服务端配置,注意其中 :1连接时要用到

注: nginx是主机名 , 注意冒号": ”后面的数字 , 这里是“1 ” , 这个1  在登录对方 ip 的时候用得上。

首次运行 vncserver 会提示生成了 xstartup文件 , 这个文件里面包含着登录启动 X 时的一些配置。

启动完 vncserver 后在你的主目录下将会产生一个 .vnc 的目录。
每次启动 vncserver ,都会在当前用户家目录下产生一个 .pid ,这里是 启动过一次这个服务,会有一次.pid

客户端配置

windows安装并打开 VNC Viewer 客户端,按照下图所示进行配置:

服务器主机名就是机器名,命令行提示符@后面的地址,如root@zl-virtual-machine:~#中zl-virtual-machine就是主机名

输入在服务器端启动 vnc 服务时所设置的密码, 就可以远程访问服务器的图形化桌面了

多终端配置:其实多终端也很好理解,就是启用多个 vnc 服务,如下图所示:

此时,在客户端我们就可以使用3个窗口进行连接,如下图所示:

相关命令:

启动 vnc 服务:
# vncserver

关闭 vnc 服务:
# vncserver -kill <X DISPLAY>     如vncserver -kill  :1  或者查杀进程ps -ef | grep vnc ,kill -9 pid

查看当前 vnc 服务运行列表:
# vncserver -list

修改 vnc 连接密码:
# vncpasswd

修改桌面分辨率:
# vncserver -geometry 1920x1080 //其实就是新启动一个分辨率为 1080p 的 vnc 服务窗口。

其他如银河麒麟系统可通过桌面共享配置vnc连接配置,再通过windows的vnc viewer连接

tigervnc客户端也可以连接,要填写端口号,ps -ef | grep vnc查看端口

注意:vnc-server端要关闭防火墙,否则vnc viewer连接会失败

如果要永久配置远程连接开机自启动,请参考文献地址:(38条消息) CentOS 7 配置 VNC 远程桌面连接_方先森有点懒的博客-CSDN博客_centos7远程桌面

ubuntu为例:

1.安装桌面环境

Ubuntu 20.04服务器是通过命令行管理的,默认情况下未安装桌面环境。如果您运行桌面版本的Ubuntu,请跳过此步骤。

当前Ubuntu 20.04存储库中提供了各种桌面环境,一种选择是安装Gnome,它是Ubuntu 20.04中的默认桌面环境。另一个选择是安装Xfce。它是一种快速、稳定且轻巧的桌面环境,非常适合在远程服务器上使用。

建议安装Xfce,以具有sudo特权的用户身份输入以下命令:

sudo apt update

sudo apt install xfce4 xfce4-goodies

注:下载和安装Xfce软件包可能需要一些时间,请耐心等待安装完成。

2.安装TigerVNC服务器

Ubuntu 20.04存储库中有几种不同的VNC服务器,例如TightVNC、TigerVNC和x11vnc。每个VNC服务器在速度和安全性方面都有各自的优缺点。

TigerVNC-server,这是一个主动维护的高性能VNC服务器,输入以下命令以安装软件包::

apt install tigervnc-standalone-server

再使用apt install tigervnc*安装tigervnc相关配置后才能设置密码

3.配置VNC访问

安装VNC服务器后,下一步是创建初始用户配置并设置密码。

使用vncpasswd命令设置用户密码,运行以下命令时请勿使用sudo:

vncpasswd

系统将提示您输入并确认密码,以及是否将其设置为只读密码。如果选择设置仅查看密码,则用户将无法使用鼠标和键盘与VNC实例进行交互:

Password:

Verify:

Would you like to enter a view-only password (y/n)? n

密码文件存储在~/.vnc目录中,如果不存在则创建该目录。

接下来,我们需要配置TigerVNC以使用Xfce。为此,使用普通用户,请创建~/.vnc/xstartup文件,运行:

vi ~/.vnc/xstartup

增加以下内容:

#!/bin/sh

unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS

exec startxfce4

对于gnome桌面环境,如中科方德桌面版,在~/.vnc/xstartup添加一下内容:

#!/bin/sh

unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS

exec /etc/X11/xinit/xinitrc

对于ukui桌面,在新建~/.vnc/xtartup,添加下列内容:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

# Enable Fcitx Input Environment
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"
fcitx-autostart &

# Launch the UKUI Desktop
lightdm &

ukui-session &

保存并关闭文件。每当您启动或重新启动TigerVNC服务器时,以上命令都会自动执行。

~/.vnc/xstartup文件也需要具有执行权限,使用chmod命令设置文件权限:

chmod u+x ~/.vnc/xstartup

如果需要将其他选项传递给VNC服务器,请创建一个名为config的文件,可以不用配,即~/.vnc/config,并在每行添加一个选项。这是一个例子:

geometry=1920x1080

dpi=96

现在,您可以使用vncserver命令启动VNC服务器:

vncserver

返回如下信息,供参考:

New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com

Starting applications specified in /home/linuxize/.vnc/xstartup

Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.

在上面的输出中,请注意主机名后面的:1。这表示正在运行vnc服务器的显示端口号。在此示例中,服务器在TCP端口5901(5900+1)上运行。如果使用vncserver创建第二个实例,它将在下一个可用端口(即:2)上运行,这意味着服务器在端口5902(5900+2)上运行。

要记住的重要一点是,在使用VNC服务器时,:X是表示5900+X的显示端口。

所以vncserver的端口号=5900+display号,display号就是:1,:2等后面的数字

您可以通过输入以下命令获取所有当前正在运行的VNC会话的列表:

vncserver -list

返回如下图信息:

在继续下一步之前,请使用带有-kill选项和服务器编号作为参数的vncserver命令停止VNC实例。在此示例中,服务器在端口5901(:1)上运行,因此我们将使用以下命令将其停止:

vncserver -kill :1

返回信息如下:

Killing Xtigervnc process ID 5710... success!

步骤四:启动vncserver可以从任何地方访问

vncserver :1 -geometry 1920x1000 -depth 24 -localhost no

或vncserver :1 -localhost no

注意:

  • 一定要加上 -localhost no, 否则只能本地连接,不能实现远程连接,那么vnc就毫无意义
  • 关闭防火墙,否则可能无法连接
  • 一定要使用当前用户开启开启服务vncserver,不能切换到root用户

步骤五:使用工具连接远程桌面

下载安装vnc-viewer进行连接

windows远程linux桌面的更多相关文章

  1. VNC轻松连接远程Linux桌面

    VNC连接Linux桌面,要想连接Linux远程桌面,按照下面的步骤,非常简单.快速,Linux配置VNC(以RedHat.CentOS.Fedora系列为例). 工具/原料 Linux平台安装VNC ...

  2. Windows远程CentOS桌面

    Windows远程CentOS桌面 1.VNC 服务器配置 1) 安装vncserver yum install -y vnc-server 2) 修改配置 vi /etc/sysconfig/vnc ...

  3. 【转载】使用rdp协议访问远程Linux桌面

    使用rdp协议访问远程Linux桌面 2017年03月31日 16:23:49 太阳之影 阅读数:2169   一般情况下,如果需要登陆远程Linux系统,我们会使用ssh/telnet来完成,如果需 ...

  4. VNC轻松连接远程Linux桌面(1)

    Linux平台安装VNCServer Windows平台使用VNC-Viewer 方法/步骤     在Linux平台安装VNCServer服务端软件包. #yum -y install vnc *v ...

  5. Windows远程linux服务器执行shell命令

    一.前言 借用百度百科关于putty的描述:PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台 ...

  6. centos6.5安装图形界面,windows远程linux图形界面

    1. 查询是否已安装图形界面 yum grouplist |more 在grouplist的输出结果中的“Installed Groups:”部分中,如果你能找到“X Window System”和G ...

  7. windows远程linux的方法(不用xshell)

    先cmd进入DOS,再输入命令ssh root@要远程的linux的ip 输入密码 即可进入linux后台.如下图,即为edr后台,可以见到unabackup服务了. 如果是多次远程不同IP,第二次远 ...

  8. Windows与Linux如何实现相互远程桌面连接?

    今天跟大家一起讨论下,利用Windows自带的远程桌面连接工具,实现远程Linux桌面及在Linux系统中远程Windows桌面 一.Windows远程Linux桌面 1)本次实验以CentOS 7. ...

  9. 用windows远程连接linux桌面(使用tightvnc或者tigervnc)

    一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...

  10. windows远程连接linux桌面---使用tightvnc或者tigervnc

    一.安装tightvnc: tightvnc的安装在安装包中有详细的说明(README文件) 首先你要确保linux已经安装jpeg和zlib库, 2.编译 执行如下两个命令: [root@local ...

随机推荐

  1. SPI接口(续三)

    在SPI接口中,判断传输的数据位上电平的高低是通过时钟来衡量的,根据时钟的上升沿/下降沿和数据电平的保持/更改,可以组合出4种方式,具体如下图所示. 从上图中可以看出,时钟相位CPHA决定传输的数据电 ...

  2. IDEA常用的快捷键(win版)

    IDEA常用的快捷键ctrl+shift+alt:多行操作psvm:生成main()方法:fori:生成for循环:Ctrl+Alt+v:自动补齐返回值类型ctrl+o:覆写方法ctrl+i:实现接口 ...

  3. 有一个按钮,点击后就发起一次请求,我现在要限制每2S只能发起一次请求,怎么办?

    1.防抖/节流方案2.临时变量记录最后发起请求的时间,点击时对比时间差的方案

  4. TinyRadius客户端java登录认证

    jar包:TinyRadius-1.0.jar 依赖:commons-logging.jar radius配置文件: <?xml version="1.0" encoding ...

  5. Android studio学习第一期

    下载工具 Android studio 参考博客https://blog.csdn.net/weixin_45406151/article/details/114531103 汉化完成 并创建了虚拟手 ...

  6. Java-【大数处理】和【日期类】

    [大数类] BigInteger(整数) 和 BigDecimal(小数) 都是Java针对大数提供的类 常用方法: (1)加:add (2)减:subtract (3)乘:multiply (4)除 ...

  7. 如何保证RabbitMQ的消息不会丢失?怎么保证RabbitMQ的可靠性?

    生产者: 原因: 由于网络原因导致消息发送失败,消息队列没有接收到生产者发送的消息,但生产者认为消息发送成功. 解决办法: transaction模式:事务模式:开启事务,发送消息,成功提交事务,失败 ...

  8. 1.1 安装gin框架&使用gin编写简单服务端

    01.安装gin框架 1)go环境配制 a)配制环境变量 GOPATH修改为go的工作文件夹路径 D:\Golang\goproject GOROOT修改为go的安装路径 D:\Golang\go1. ...

  9. luogu 3676小清新数据结构题

    真·小清新... 其实本题正解是动态点分治,但是考虑到那个东西需要先大力推导一波再套上一个幻想乡战略游戏的搞法,所以还不如大力推导一波,然后无脑套上一个树剖+线段树写法... 首先我们考虑没有换根操作 ...

  10. matlab读写文件

    dsp,fpga这些产生的文件大部分都是二进制存储的,知道格式后可以直接读取. 读取后的"可懂"数据如何以"可懂"的形式保存在.dat,.txt,.csv之类文 ...