Virtual Network Computing (VNC),是一个图形桌面共享系统,允许我们像使用Windows桌面系统一样可视化的使用键盘和鼠标远程控制服务器,当做一台远程的电脑一样。 主要用在我们有一些服务器都是Linux系统,无法安装Windows系统,于是就用VNC的方式替代RDP协议桌面。
Ubuntu 20.04 镜像安装VNC实现Linux系统远程桌面

在这篇文章中,笔者准备记录如何在 Ubuntu 20.04 上安装和配置 VNC 服务器。Ubuntu 服务器是从命令行管理的,默认情况下没有安装桌面环境。Ubuntu 存储库中有各种可用的桌面环境。 一种选择是安装 Gnome,这是 Ubuntu 20.04 中的默认桌面环境。 另一种选择是安装 Xfce 。 它是一个快速、稳定和轻量级的桌面环境,非常适合在远程服务器上使用。

第一、安装XFCE

    sudo apt update
    sudo apt install xfce4 xfce4-goodies

根据我们服务器的系统,下载和安装 Xfce 软件包可能需要一些时间,有的比较快。

第二、安装VNC服务

Ubuntu 存储库中有几种不同的 VNC 服务器可用,例如 TightVNC 、 TigerVNC 和 x11vnc 。 每个 VNC 服务器在速度和安全性方面都有不同的优势和劣势。我们将安装 TigerVNC。 它是一个积极维护的高性能 VNC 服务器。 输入以下命令安装包。

sudo apt install tigervnc-standalone-server

第三、VNC设置

安装 VNC 服务器后,下一步是创建初始用户配置并设置密码。使用 vncpasswd 命令设置用户密码。 运行以下命令时不要使用 sudo:

vncpasswd

我们需要输入两次密码。

~/.vnc/xstartup

修改这个文件,更换成:

    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    exec startxfce4

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

使用 chmod 命令设置文件权限:

chmod u+x ~/.vnc/xstartup

如果我们需要向 VNC 服务器传递其他选项,请创建一个名为 config 的文件并在每行添加一个选项。 下面是一个例子:

    geometry=1920x1080
    dpi=96

我们可以设置分辨率。设置保存完毕后,我们需要启动生效。

vncserver

第四、创建 Systemd 文件

与其手动启动 VNC 会话,不如创建一个 systemd 单元文件,以便您根据需要启动、停止和重新启动 VNC 服务。打开文本编辑器并将以下配置复制并粘贴到其中。 确保更改第 7 行的用户名以匹配您的用户名。

sudo nano /etc/systemd/system/vncserver@.service

然后设置:

    [Unit]
    Description=Remote desktop service (VNC)
    After=syslog.target network.target
     
    [Service]
    Type=simple
    User=linuxize
    PAMName=login
    PIDFile=/home/%u/.vnc/%H%i.pid
    ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
    ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
    ExecStop=/usr/bin/vncserver -kill :%i
     
    [Install]
    WantedBy=multi-user.target

然后重启生效。

sudo systemctl daemon-reload

设置开机启动。

sudo systemctl enable vncserver@1.service

执行命令启动。

sudo systemctl start vncserver@1.service

第五、连接远程客户端

 这里,我们可以用TigerVNC, TightVNC, RealVNC, UltraVNC软件连接。



我们直接用5901端口登录。输入我们开始设置的VNC密码。

 
我们是不是看到,有些类似用过WIN客户端的界面,而且还有浏览器。这个就是我们在Linux服务器中安装VNC可视化桌面的过程。

参考文档:

1、https://www.banwagongvps.com/ubuntu-xfcevnc.html

2、https://blog.csdn.net/shuirenbushijun/article/details/108056338

3、https://blog.csdn.net/godbessinyou/article/details/84749389

原文链接:https://blog.csdn.net/u011805907/article/details/119546428

实战记录在 Linux Ubuntu 20.04 安装VNC 远程桌面的更多相关文章

  1. Linux Ubuntu 16.04 安装步骤+远程环境

    简介 Ubantu 16.04 系统是一款比较稳定的linux系统,适合用户使用以及针对一些兼容性的服务搭建. 这里我推荐安装桌面版,用于方便使用. 准备工作 1.准备1个U盘空间5G以上 2.需下载 ...

  2. Ubuntu 14.04安装teamviewer 远程桌面

    teamviewer 真是一款非常强大的远程登录软件,可以跨Windows和Ubuntu远程登录,但是在64bit的Ubuntu下安装时,按照官方安装方法总是会遇到问题,下面说一下如何安装: 安装i3 ...

  3. Ubuntu 18.04安装VNC远程登录

    reference: https://blog.csdn.net/bluewhalerobot/article/details/73649353 https://community.bwbot.org ...

  4. Ubuntu 20.04安装Docker

    Docker学习系列文章 入门必备:十本你不容错过的Docker入门到精通书籍推荐 day1.全面的Docker快速入门教程 day2.CentOS 8.4安装Docker day3.Windows1 ...

  5. ubuntu 20.04 安装 vim8.2

    由于ubuntu 20.04自带的vim版本比较老了,有些新装的插件适配不上,所以需要安装最新版本的vim.在网上找了很久也没有比较官方的安装教程所以记录一下. 安装依赖库 sudo apt inst ...

  6. Linux Ubuntu 14.04安装LAMP(Apache+MySQL+PHP)网站环境

    从虚拟主机到VPS/服务器的过度,对于普通的非技术型的站长用户来说可能稍许有一些困难,麦子建议我们如果能够在虚拟主机环境中满足建站需要的, 还是用虚拟主机比较好.除非我们真的有需要或者希望从虚拟主机过 ...

  7. Linux (Ubuntu 18.04) 安装vim编辑器

    大家可以去Ubuntu官网下载桌面系统:https://ubuntu.com/download/desktop,虽然最新版是19.04,但是建议大家下载稳定版18.04.安装过程非常简洁,我使用的是V ...

  8. linux Ubuntu 16.04安装 postgresql

    两次的重装系统安装数据库折磨的死去活来. 安装步骤: 1,运行  sudo apt-get update     --这个用来查找数据源 2 ,运行  apt install postgresql  ...

  9. Linux/Ubuntu 16.04 安装编辑器 Sublime Text 3

    在ubuntu 16.04 系统上使用Sublime Text 3 编辑文本还是不错的, 先到官网下载安装包,链接:http://www.sublimetext.com/3 ,下载对应的版本,64位或 ...

  10. 给ubuntu安装VNC远程桌面

    (只有背景,没有菜单栏问题没有解决)Virtual Network Computing(VNC)是进行远程桌面控制的一个软件.客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作.服务 ...

随机推荐

  1. vue 利用xlsx、xlsx-style、file-saver实现前端导出excel表格 (包括设置单元格居中、边框等样式) antdesignvue、elementui、vxetable 等都适用

    我用的方法是在表格的根组件外层赋一个div用来导出整个表格,所以antdesignvue.elementui.vxetable 或者原生的table写法应该全都适用,此处我用的框架为antdesign ...

  2. 第二天python 基础

    一.Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分 ...

  3. MSF内网信息收集

    1. msf通过shell关闭防火墙 Netsh advfirewall set allprofiles state off(关闭防火墙) Netsh advfirewall show allprof ...

  4. Django路由重定向

    路由重定向又称HTTP协议重定向,也可以称为网页跳转,它对应的HTTP状态码为301.302.303.307.308. 网页重定向就是在浏览器访问某个网页的时候,这个网页不提供响应内容,而是自动跳转到 ...

  5. PHP后端 H5页面 打开微信小程序

    /** * 功能:获取小程序access_token * Author:郑康凯 * Date: 2023/2/6 0006 15:14 */ public function hhsGetAccessT ...

  6. RxJava2.x的理解与总结

    RxJava2.x的理解与总结 RxJava是一个基于观察者设计模式将链式编程和异步结合在一起的开源库. 链式编程 通过查看GitHub开源项目的简介开源知道,RxJava有几个基类. 他们分别适用于 ...

  7. 069_VisualForce Ajax 更多用法解读02

    一.同步调用的异常处理:AJAX Toolkit  try catch... <html> <head> <script src="/soap/ajax/44. ...

  8. Spring 常见注解及其作用

    1.@ConfigurationProperties    可以非常方便的把资源文件中的内容绑定到对象上       绑定单一属性值,绑定整个对象属性   2.@Value("${app.n ...

  9. pkill 直接对进程对名字进行操作,可以同时杀死多个进程。

    Linux pkill 命令  Linux 命令大全 Linux pkill 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令. kill 命令杀死指定 ...

  10. WPF datagrid双击一整行而不是选中单元格

    WPF开发一个工具 需要双击datagrid的某一行显示详细数据并编辑,之前双击行(DatagridRow)每次都跳转到单元格上(DatagridCell) 经验证,需要修改datagrid样式的某几 ...