首页 > 系统相关 >Ubuntu20.04之VNC的安装与使用

Ubuntu20.04之VNC的安装与使用

时间:2024-07-01 15:20:28浏览次数:17  
标签:Ubuntu20.04 vnc sudo vncserver etc VNC xstartup 安装

本教程适用于Ubuntu20.04及以下版本,Ubuntu22.04版本或有出入
更多更新的文章详见我的个人博客:【前往】

文章目录
1.安装图形桌面
1.1选择安装gnome桌面
1.2选择安装xface桌面
2.安装VNC-Server
3.配置VCN-Server
4.连接VNC
5.设置VNC-Server为系统服务(可选)
1.安装图形桌面
如果linux系统已经安装了图形桌面可跳过这一步

Ubuntu20.04主流的图形桌面有gnome和xface两种,两种桌面的安装方式我都会写,但这里较推荐gnome桌面

1.1选择安装gnome桌面
sudo apt update #更新软件源
sudo apt install ubuntu-gnome-desktop #安装gnome
sudo systemctl start gdm #刚安装Gnome,需要启动GDM服务以初识化桌面
1
2
3
1.2选择安装xface桌面
sudo apt update #更新软件源
sudo apt install xfce4 xfce4-goodies #安装xface
1
2


这个选项选择是否启用显示管理器,选择第一个并Enter

显示管理器是一个程序,使您的 Linux 发行版拥有图形登录功能。它还负责在您使用用户名和密码登录后启动显示服务器和桌面环境

2.安装VNC-Server
主流的vnc软件有RealVNC、TightVNC、x11vnc等

RealVNC是由VNC团队部分成员开发,分为全功能商业版及免费版。TightVNC则强调节省带宽使用。UltraVNC加入了TightVNC的部分程序及加强效能的图形映射驱动程序,并结合Active Directory及NTLM的帐号密码认证,但仅有Windows版本。 Vine Viewer是MacOSX的VNC用户端。这些软件各有所长,例如UltraVNC支持文件传输以及全屏模式。而这些软件间大多遵循基本的VNC协议,因此大多可互通使用。

需要说明的是VNC分为Server(服务端,用于提供图像数据)和Client (客户端,用于接收图像数据),这里推荐使用TightVNC Server + RealVNC View的组合

sudo apt install tigervnc-standalone-server #在ubuntu上安装tigervnc-server
1
安装完tigervnc后需要启动一个vncserver来初识化密码

sudo vncserver #启动vnc-server
1
首次启动需要定义一个6-8位的密码,超8位密码会被自动截断

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
1
2
3
4
5
设置完vncserver的密码后先关闭vncserver做进一步的配置,否则现在连接你的客户端上是一篇空白的

sudo vncserver -kill :*
1
Tip: 你可以通过下面的命令修改你的vncserver的密码

sudo vncpasswd
1
3.配置VCN-Server
创建并添加xstartup文件到/etc/vnc/xstartup(这步一定要做)
sudo mkdir /etc/vnc #创建VNC目录
sudo nano /etc/vnc/xstartup #创建并编辑xstartup文件
1
2
向/etc/vnc/xstartup文件中添加下面的内容(Ctrl+O->Enter->Ctrl+X保存文件)
#!/bin/sh

test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

vncconfig -iconic &
"$SHELL" -l << EOF
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=ubuntu
dbus-launch --exit-with-session gnome-session --session=ubuntu
EOF
vncserver -kill $DISPLAY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
使用xface桌面的添加下面的内容

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
1
2
3
4
5
6
7
8
设置为可执行文件
sudo chmod +x /etc/vnc/xstartup
1
创建并添加xstartup文件到~/.vnc/xstartup(区别于上一步,这步也要做)
sudo nano ~/.vnc/xstartup #创建并编辑xstartup文件
1
向~/.vnc/xstartup文件中添加下面的内容(Ctrl+O->Enter->Ctrl+X保存文件)
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
1
2
3
设置为可执行文件
sudo chmod a+x ~/.vnc/xstartup
1
启动VCN-Server
sudo vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
1
注:-localhost no参数一定要有,没有的话可能无法正常连接,其余参数就是分辨率之类的了,可自定义参数

如果输出下面的类似内容则说明服务器端正常运行

New 'bytexd:1 (edxd)' desktop at :1 on machine bytexd
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/edxd/.vnc/passwd :1 to connect to the VNC server.
1
2
4.连接VNC
安装VNC View,VNC View就有很多选择了

TigerVNC-Client:前往下载
RealVNC-Client:前往下载
MobaXterm(推荐):前往下载
连接VNC

大部分的VNC-Client都是只需要Ubuntu的 IP + 端口 + 密码 即可,这里说明一下端口

端口号就是5900+服务器索引,如 vncserver :1指令开启的是第一个服务器,因此第一个服务器的端口就是5901,类推,vncserver :2的端口就是5902

5.设置VNC-Server为系统服务(可选)
为设置vnc开机自启,不用每次都需要输入指令开启,可以将vnc-server的开启指令添加到系统服务中

创建并添加到 /etc/systemd/system/[email protected] 文件中
nano /etc/systemd/system/[email protected]
1
向文件里面添加以下内容

[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target

[Service]
Type=simple
User=root
PAMName=login
PIDFile=/home/tom/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -fg -depth 24 -geometry 1920x1080 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
开机自启vncserver
sudo systemctl daemon-reload #加载引导程序
sudo sudo systemctl enable [email protected] # 设置开机自启
1
2
输出内容如下:

Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /etc/systemd/system/[email protected].

启动服务
sudo sudo systemctl start [email protected]
1
检查服务状态
sudo sudo systemctl status [email protected]
1
输出下面内容则服务启动正常:


————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_45516773/article/details/132072500

标签:Ubuntu20.04,vnc,sudo,vncserver,etc,VNC,xstartup,安装
From: https://www.cnblogs.com/gaoyanbing/p/18278139

相关文章

  • 磐维数据库安装提示max_process_memory must greater than问题
    很多人在个人虚拟机部署磐维测试环境时会碰上一个提示内存太少的报错,多数是因为虚拟机给的内存太少了。遇到报错也可以不用调整虚拟机内存,可以调整参数解决。报错示例如下:BACKEND]FATAL:thevaluesofmemoryoutoflimit,thedatabasefailedtobestarted,max_process_mem......
  • Docker 镜像安装
    ​​​前言Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。在安装Docker时,我们经常需要用到镜像安装,为此我整理了一下如何通过镜像源来安装Docker的......
  • Ingress-Nginx 安装
    Ingress-Nginx安装配置一个Web服务器或者负载均衡器比想象的难。大多数Web服务的配置文件非常相似。有些应用需要一些奇怪的需求,但是在大多数的情况下,可以使用相同的逻辑以达到预期的效果。Ingress资源体现了这一思想,ingress控制器处理了上述奇怪的需求。Ingress控制......
  • 在虚拟机Linux系统中下载安装Wireshark
    #实习记录#我的ubantu版本在Ubuntu中下载和安装Wireshark可以通过以下步骤完成:1.更新包管理器:确保你的包管理器是最新的:sudoapt-getupdate 2.安装Wireshark:sudoapt-getinstallwireshark 3.配置Wireshark:在安装过程中,系统会询问是否允许非超级用户捕获数据包。......
  • 在虚拟机Linux系统中安装pyshark库
    #实习记录#安装pyshark之前需要确保已安装Wireshark或其命令行版本tshark-->pyshark依赖于tshark来进行网络数据包的捕获和解析。#安装Wireshark可以进主页查找教程#开始安装1.先更新系统的包管理器,并安装pip和tshark(Wireshark的命令行版本):sudoapt-getupdatesudoapt-g......
  • Centos7 安装Rabbitmq3.9.11
    安装erlang安装依赖包yum-yinstallgccglibc-develmakencurses-developenssl-develxmltoperlwgetgtk2-develbinutils-devel下载wgethttps://github.com/erlang/otp/releases/download/OTP-24.1.7/otp_src_24.1.7.tar.gz解压tar-zxvfotp_src_24.1.7.tar......
  • 一键进阶ComfyUI!懂AI的设计师现在都在用的节点式Stable Diffusion!内附安装包
    大家好,我是设计师阿威目前使用StableDiffusion进行创作的工具主要有两个:WebUI和ComfyUI。而更晚出现的ComfyUI凭借超高的可定制性和复现性迅速火遍全球。有设计师表示SD发布了XL1.0后,ComfyUI用它优秀的底层逻辑率先打击了臃肿不稳定的WebUI1.6,成为更适合“体验”XL的......
  • PC系统安装&引导:1、制作系统维护U盘(启动PE&安装介质)
    目录......
  • 餐厅在线点餐小程序源码系统可外卖配送 带完整的安装代码包以及搭建部署教程
    系统概述在当今数字化时代,餐厅在线点餐小程序已成为餐饮行业的重要工具。它不仅为消费者提供了便捷的点餐体验,也为餐厅提高了运营效率和服务质量。小编给大家分享一款餐厅在线点餐小程序源码系统,该系统不仅支持在线点餐,还具备外卖配送功能,同时提供完整的安装代码包以及搭建部......
  • 适合任何行业在线DIY预约报名小程序源码系统 带完整的安装代码包以及搭建教程
    系统概述在当今数字化时代,便捷高效的预约报名系统成为了许多行业的迫切需求。“适合任何行业在线DIY预约报名小程序源码系统”便是一款为满足这一需求而设计开发的创新解决方案。这款源码系统是基于先进的技术架构,旨在为各类企业和组织提供一个强大、灵活且易于使用的在线......