Ubuntu20.04之VNC的安装使用与常见问题

news/2025/2/25 20:04:18

Ubuntu20.04之VNC的安装与使用

  • 安装图形桌面
    • 选择安装gnome桌面
    • 选择安装xface桌面
  • VNC-Server
    • 安装
    • 配置
    • 开机自启
  • VNC Client
  • root用户无法登入问题
    • 临时方案
    • 永久方案

安装图形桌面

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

选择安装gnome桌面

sudo apt update #更新软件源
sudo apt install ubuntu-gnome-desktop #安装gnome
sudo systemctl start gdm #刚安装Gnome,需要启动GDM服务以初识化桌面

选择安装xface桌面

sudo apt update #更新软件源
sudo apt install xfce4 xfce4-goodies #安装xface

在这里插入图片描述

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

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

VNC-Server

安装

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

sudo apt install tigervnc-standalone-server #在ubuntu上安装tigervnc-server

安装完tigervnc后需要启动一个vncserver来初识化密码

sudo vncserver #启动vnc-server
# 首次启动需要定义一个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

#Tip: 如需修改密码,你可以通过下面的命令修改你的vncserver的密码
# sudo vncpasswd

设置完vncserver的密码后先关闭vncserver做进一步的配置,否则现在连接你的客户端上是一篇空白的

sudo vncserver -kill :*

配置

  • 创建并添加xstartup文件到/etc/vnc/xstartup(这步一定要做)

    sudo mkdir /etc/vnc #创建VNC目录
    sudo nano /etc/vnc/xstartup #创建并编辑xstartup文件
    
  • /etc/vnc/xstartup文件中添加下面的内容

    #!/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
    

    使用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 &
    
  • 设置为可执行文件

    sudo chmod +x /etc/vnc/xstartup
    
  • 创建并添加xstartup文件到~/.vnc/xstartup(区别于上一步,这步也要做)

    sudo vim ~/.vnc/xstartup #创建并编辑xstartup文件
    
  • ~/.vnc/xstartup文件中添加下面的内容

    #!/bin/sh
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    
  • 设置为可执行文件

    sudo chmod a+x ~/.vnc/xstartup
    
  • 启动VCN-Server

    sudo vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
    #注:-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.
    

开机自启

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

  • 创建并添加到/etc/systemd/system/vncserver@.service文件中
    vim /etc/systemd/system/vncserver@1.service
    向文件里面添加以下内容

    [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
    
    
  • 开机自启vncserver

    sudo systemctl daemon-reload #加载引导程序
    sudo sudo systemctl enable vncserver@1.service # 设置开机自启
    # 输出内容如下:
    # Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@1.service → /etc/systemd/system/vncserver@.service.
    
  • 启动服务

    sudo sudo systemctl start vncserver@1.service
    
  • 检查服务状态

sudo sudo systemctl status vncserver@1.service

VNC Client

推荐 vnc-view,自接下载安装即可

大部分的VNC-Client都是只需要Ubuntu的 IP + 端口 + 密码 即可

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

在这里插入图片描述

root用户无法登入问题

Ubuntu安装图形化界面后使用root用户,输入正确密码也无法登录,但是可以通过ssh远程登录命令行界面,具体现象如下。
在这里插入图片描述
通过命令less /var/log/auth.log查看日志信息如下。

gdm-password]: pam_succeed_if(gdm-password:auth): requirement "user != root" not met by user "root"

临时方案

loginctl unlock-sessions  ## 可以解锁所有被锁的会话

永久方案

  • 使用命令vi /etc/pam.d/gdm-password修改gdm-password文件。 修改位置如图示。
    在这里插入图片描述
  • 将配置项的user != root删除,修改后配置信息如下。
    在这里插入图片描述
  • 保存退出

http://www.niftyadmin.cn/n/5865909.html

相关文章

PHP-综合4

[题目信息]&#xff1a; 题目名称题目难度PHP-综合42 [题目考点]&#xff1a; PHP综合训练[Flag格式]: SangFor{Ouk3i63BuShgxqdRcn_9kMNqKFDe5j4f}[环境部署]&#xff1a; docker-compose.yml文件或者docker tar原始文件。 http://分配ip:2087[题目writeup]&#xff1a;…

自学Linux系统软件编程第四天

进程 概念 进程&#xff1a;就是程序执行的过程&#xff0c;包括创建、调度和消亡&#xff0c;是活的 程序&#xff1a;一段数据的…

vue2中,打包报错ERROR in /node_modlules/@types/lodash/common/common.d.ts 26

报错如下&#xff1a; 解决 尝试安装lodash另外一个版本&#xff0c;然后重新打包 npm install --save types/lodash4.14.74

WPS计算机二级•文档的页面设置与打印

听说这是目录哦 纸张大小页边距和装订线❤️‍&#x1f525;打印界面讲解❤️缩印&#x1f495;打印作文稿纸&#x1f49e;将文档打印成书籍&#x1f493;限制编辑设置&#x1f497;给文字文档加密&#x1f496;文档导出为 PDF格式&#x1f498;协作编辑模式&#x1f49d;能量站…

使用 Apache Jena 构建 RDF 数据处理与查询服务

一、引言 随着语义网和知识图谱技术的不断发展&#xff0c;RDF&#xff08;Resource Description Framework&#xff09;作为一种用于描述资源的框架&#xff0c;被广泛应用于知识表示和数据集成。Apache Jena 是一个功能强大的 Java 框架&#xff0c;用于处理 RDF 数据和 SPA…

Spring Boot 中的日志管理

一、日志框架选择 1. 主流框架对比 框架特点Spring Boot 默认支持Logback- 性能优异&#xff0c;Spring Boot 默认集成- 支持自动热更新配置文件✅ (默认)Log4j2- 异步日志性能更强- 支持插件扩展- 防范漏洞能力更好❌ (需手动配置)JUL (JDK自带)- 无需额外依赖- 功能简单&am…

《深度剖析Linux 系统 Shell 核心用法与原理_666》

1. 管道符的用法 查找当前目录下所有txt文件并统计行数 # 使用管道符将ls命令的结果传递给wc命令进行行数统计 ls *.txt | wc -l 在/etc目录下查找包含"network"的文件并统计数量 # 使用find命令查找文件&#xff0c;并通过grep查找包含特定字符串的文件&#xf…

永洪科技旗下BI产品,成功入选“金融信创优秀解决方案“

3月28日至29日&#xff0c;金融信创生态实验室在京举办金融信创解决方案研讨会&#xff0c;发布第三期金融信创优秀解决方案、实验室推荐解决方案&#xff0c;启动解决方案的分享活动。 永洪科技凭借旗下的敏捷BI数据分析平台&#xff0c;成功入选“金融信创优秀解决方案&…