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

news2025/2/27 5:57:49

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.coloradmin.cn/o/2306726.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 科学计算

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

2024中国信通院“集智”蓝皮书合集(附下载)

【目 录】 1. 数字政府一体化建设蓝皮书&#xff08;2024年&#xff09; 2. 数字乡村发展实践蓝皮书&#xff08;2023年&#xff09; 3. 中国工业互联网发展成效评估报告&#xff08;2024年&#xff09; 4. 云计算蓝皮书&#xff08;2024年&#xff09; 5. 具身智能发展报告…

nvm 1.2.2 报错解决方法 The system cannot find the file specified.

安装了最新版本nvn1.2.2后&#xff0c;安装老版本node时报错&#xff08;安装新版本没问题&#xff09;&#xff0c;报错内容如下&#xff1a; error installing 14.16.0: open C:\Users\admin\AppData\Local\Temp\nvm-npm-430098699\npm-v6.14.11.zip: The system cannot fin…

OpenEuler学习笔记(三十五):搭建代码托管服务器

以下是主流的代码托管软件分类及推荐&#xff0c;涵盖自托管和云端方案&#xff0c;您可根据团队规模、功能需求及资源情况选择&#xff1a; 一、自托管代码托管平台&#xff08;可私有部署&#xff09; 1. GitLab 简介: 功能全面的 DevOps 平台&#xff0c;支持代码托管、C…

平台设备驱动之gpio子系统(写驱动实现在/sys/...目录下用echo命令点灯)

1、 关键函数&#xff08;include/linux 及 driver目录下&#xff09; ​ module_platform_driver(leds_drv); //平台设备驱动入口//获取匹配成功后设备树节点中的 property ​ of_get_named_gpio_flags(node, "led_gpio", 0, &flags); //在/sys/目录下创建文…

JavaScript将:;隔开的字符串转换为json格式。使用正则表达式匹配键值对,并构建对象。多用于解析cssText为style Object对象

// 使用正则表达式匹配键值对&#xff0c;并构建对象 let string2Json(s)>{const r {};s.replace(/&#xff1b;/g, ;).replace(/\;/g, \n).replace(/&#xff1a;/g, :).replace(/\n/g, \n)//合并多个换行符.split(\n).forEach(item > {const [k, v] item.split(:);(k…

2025年追觅科技社招校招入职测评北森题库商业推理测试内容与技巧

在追觅科技的招聘流程中&#xff0c;无论是校园招聘还是社会招聘&#xff0c;应聘者都需要通过北森测评题库的商业推理部分。这部分的测评旨在评估应聘者的商业推理能力&#xff0c;是评估考生综合能力的重要工具。考试时间为40分钟&#xff0c;需要完成28题&#xff0c;题型以…

【工具变量】公司企业数字领导力(2004-2023年)

数据简介&#xff1a;企业数字化领导力是指在数字经济时代&#xff0c;领导者通过战略性地使用数字资产、引领组织变革&#xff0c;使企业在数字化环境中获得持续成功的能力。对于上市公司而言&#xff0c;这种领导力尤为重要&#xff0c;因为它直接关系到企业的战略方向、市场…

【Vue工作原理】VueCli4 模板文件template不存在会生产一个默认文件原理

Vue CLI 4 的 HtmlWebpackPlugin 在模板文件缺失时&#xff0c;‌不会中断构建流程‌&#xff0c;而是自动生成一个‌极简 HTML 结构‌&#xff08;DeepSeek回答&#xff09; ‌&#x1f4d8; 官方资料来源解析&#xff08;基于 2025 年存档数据&#xff09;‌ 当前时间&#…

数据开发的简历及面试

简历 个人信息: 邮箱别写QQ邮箱, 写126邮箱/189邮箱等 学历>>本科及以上写,大专及以下不写 专业>>非计算机专业不写 政治面貌>>党员写, 群众不用写 掌握的技能: 精通 > 熟悉 > 了解 专业工具: 大数据相关的 公司: 如果没有可以写的>>金融服…

如何在docker上部署前端nginx服务(VUE)

目录结构 clean.sh docker stop rszWeb; docker rm rszWeb; start.sh docker run -d \ --name rszWeb \ -p 7084:80 \ -m 500m \ --privileged=true \ --restart=always \ -v /home/rsz/ui/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/rsz/ui/logs:/meta/logs \ -v /…

模型和数据集的平台之在Hugging Face上进行模型下载、上传以及创建专属Space

模型下载 步骤&#xff1a; 注册Hugging Face平台 https://huggingface.co/ 新建一个hf_download_josn.py 文件 touch hf_download_josn.py 编写hf_download_josn.py文件 import os from huggingface_hub import hf_hub_download# 指定模型标识符 repo_id "inter…

[Web 信息收集] Web 信息收集 — 手动收集 IP 信息

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] Web 安全攻防 - 学习手册-CSDN博客 0x01&#xff1a;通过 DNS 服务获取域名对应 IP DNS 即域名系统&#xff0c;用于将域名与 IP 地址相互映射&#xff0c;方便用户访问互联网。对于域名到 IP 的转换过程则可以参考下面这篇…

排序算法(3):

这是我们的最后一篇排序算法了&#xff0c;也是我们的初阶数据结构的最后一篇了。 我们来看&#xff0c;我们之前已经讲完了插入排序&#xff0c;选择排序&#xff0c;交换排序&#xff0c;我们还剩下最后一个归并排序&#xff0c;我们今天就讲解归并排序&#xff0c;另外我们还…

TypeScript - 泛型

泛型允许在定义函数、类或接口时&#xff0c;使用类型参数来表示未指定的类型&#xff0c;这些参数在具体使用时&#xff0c;才被指定具体的类型&#xff0c;泛型能让同一段代码适用于多种类型&#xff0c;同时仍然保持类型的安全性。 举例&#xff1a;如下代码中 <T> 就…

Python基于Django和Vue的校园互助平台(附源码、文档说明)

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

Redis 高可用性:如何让你的缓存一直在线,稳定运行?

&#x1f3af; 引言&#xff1a;Redis的高可用性为啥这么重要&#xff1f; 在现代高可用系统中&#xff0c;Redis 是一款不可或缺的分布式缓存与数据库系统。无论是提升访问速度&#xff0c;还是实现数据的高效持久化&#xff0c;Redis 都能轻松搞定。可是&#xff0c;当你把 …

【Linux】调试工具GDB的使用及案例讲解

Linux系列 文章目录 Linux系列前言一、gdb的使用背景二、gdb的使用总结 本篇主要针对小白讲解&#xff0c;可以很多地方比较咯嗦 前言 GDB是Linux下一款强大的调试工具。GDB可以调试C、C、Java等语言&#xff0c;对于在Linux下工作的程序员来说&#xff0c;GDB是必不可少的调试…

DeepSeek回答:AI时代Go语言学习路线

最近有小伙伴经常会问&#xff1a;**该如何学习入门Go语言&#xff1f;怎样提升Go语言Coding水平&#xff1f;**这篇文章我们就使用DeepSeek来梳理下Go语言在AI时代的学习路线。 向DeepSeek提问的问题原文&#xff1a; 你现在是一名资深的Go语言工程师&#xff0c;精通Go语言并…

1分钟用DeepSeek编写一个PDF转Word软件

一、引言 如今&#xff0c;在线工具的普及让PDF转Word成为了一个常见需求&#xff0c;常见的pdf转word工具有收费的wps&#xff0c;免费的有pdfgear&#xff0c;见下文&#xff1a; PDFgear:一款免费的PDF编辑、格式转化软件-CSDN博客 还有网上在线的免费pdf转word工具smallp…