Ubuntu-Server-22.04安装桌面+VNC

前提:Ubuntu Server安装好后,ubantu其他版本是否适用这里未知,欢迎大佬们前来评论

一、默认没有图形界面,有时觉得用图形界面操作更简单直接,于是用如下命令安装:

1.更新本地环境

sudo apt-get update
sudo apt-get upgrade

2.安装桌面

sudo apt-get -y install ubuntu-desktop // 桌面程序

3.安装 Windows兼容层程序

sudo apt-get -y install wine    //wine(Windows兼容层程序)

4.重启

reboot

二、安装vnc方式一 GNOME 桌面环境,非root用户操作。[推荐使用该方法]

1.更新软件源。

sudo apt update

2.安装桌面环境所需的软件包,包括系统面板、窗口管理器、文件浏览器、终端等桌面应用程序。

sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop

3.安装 TightVNC 服务器。

sudo apt install tightvncserver

4.启动 vncserver

首次启动需要设置密码两次
注意输入两次密码

更改密码:sudo vncpasswd

5.备份VNC的xstartup配置文件。

sudo mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

6.修改VNC的xstartup配置文件。

sudo vim ~/.vnc/xstartup

写入内容

#!/bin/shunset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#gnome-terminal &
#nautilus &
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

7. 设置权限

sudo chmod 777 ~/.vnc/xstartup

8.设置开机自启(VNCUSER=‘xxx’,xxx为你的用户名)

sudo vim /etc/init.d/vncserver

写入内容

#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $syslog $remote_fs $network
# Required-Stop: $syslog $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts VNC Server on system start.
# Description: Starts tight VNC Server. Script written by James Swineson.
### END INIT INFO
# /etc/init.d/vncserver
VNCUSER='cnki'
case "$1" instart)#以pi用户运行'vncserver :1'指令,如果使用的是其他VNC 直接替换成对应的启动命令即可su $VNCUSER -c 'vncserver :1'echo "Starting VNC Server for $VNCUSER";;stop)su $VNCUSER -c 'vncserver -kill :1'echo "TightVNC Server stopped";;*)echo "Usage: /etc/init.d/vncserver {start|stop}"exit 1;;
esac
exit 0

9.然后对自启文件添加可执行权限

sudo chmod 755 /etc/init.d/vncserver

10.自启文件添加到开机启动列表

sudo update-rc.d vncserver defaults

三、安装vnc方式二(不推荐)

1.安装XFCE

sudo apt update
sudo apt install xfce4 xfce4-goodies

2.安装vnc服务端

sudo apt install tigervnc-standalone-server

3.修改VNC密码

注意需要输入两次密码

vncpasswd

4.修改VNC启动文件内容

修改这个文件,更换成:

~/.vnc/xstartup

内容

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

5.使用 chmod 命令设置文件权限

chmod u+x ~/.vnc/xstartup

6.允许其他ip访问

vncserver -localhost no

四.注意修改iptables

如果访问失败,可能是iptables被限制了

sudo vim /etc/iptables/rules.v4

大概如下,请根据自身情况而定:

# Generated by iptables-save v1.8.7 on Sat Sep 16 15:22:31 2023
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [539324:46894725]
-A INPUT -s 10.15.6.0/24 -p tcp -m multiport --dports 19911,2181,5901 -j ACCEPT
-A INPUT -s 10.21.0.0/24 -p tcp -m tcp --dports 19911,5901 -j ACCEPT
-A INPUT -s 10.11.0.0/24 -p tcp -m tcp --dports 19911,5901 -j ACCEPT
-A INPUT -s 10.1.0.0/24 -p tcp -m tcp --dports 19911,5901 -j ACCEPT
-A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dports 19911,5901 -j ACCEPT
-A INPUT -s 10.200.0.0/24 -p tcp -m tcp --dports 19911,5901 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m addrtype --src-type LOCAL -j ACCEPT
-A INPUT -s 10.0.0.0/8 -p tcp -m multiport --dports 80,443,4567,4568,6789,5901 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j DROP
COMMIT
# Completed on Sat Sep 16 15:22:31 2023

修改完需要重启

reboot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145741.html

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

相关文章

驱动插入中断门示例代码

驱动插入中断描述符示例代码 最近做实验,每次在应用层代码写测试代码的时候都要手动挂一个中断描述符,很不方便所以就想着写个驱动挂一个中断门比较省事 驱动测试效果如下: 下面的代码是个架子,用的时候找个驱动历程传递你要插…

聊聊并发编程——并发容器和阻塞队列

目录 一.ConcurrentHashMap 1.为什么要使用ConcurrentHashMap? 2.ConcurrentHashMap的类图 3.ConcurrentHashMap的结构图 二.阻塞队列 Java中的7个阻塞队列 ArrayBlockingQueue:一个由数组结构组成的有界阻塞队列。 LinkedBlockingQueue&#xf…

如何快速搭建app自动化环境编写用例?

使用Airtest 作为测试开发工程师,快速搭建app自动化环境并编写用例可以使用Airtest解决方案来实现。Airtest是一款基于Python的全平台UI自动化测试框架,支持多种移动设备和模拟器,同时集成了丰富的图像识别和手势操作功能。 以下是使用Airt…

【0223】源码剖析smgr底层设计机制(3)

1. smgr设计机制 PG内核中smgr完整磁盘存储介质的管理是通过下面三部分实现的。 1.1 函数指针结构体 f_smgr 函数指针结构体 f_smgr。 通过该函数指针类型,可完成类似于UNIX系统中的VFD功能,上层只需要调用open()、read()、write()等系统函数,用户不必去关系底层的文件系统…

【我的创作纪念日】使用pix2pixgan实现barts2020数据集的处理(完整版本)

使用pix2pixgan (pytorch)实现T1 -> T2的基本代码 使用 https://github.com/eriklindernoren/PyTorch-GAN/ 这里面的pix2pixgan代码进行实现。 进去之后我们需要重新处理数据集,并且源代码里面先训练的生成器,后训练鉴别器。 一般情况下…

数据结构之单链表

首先我们要分析为什么要链表 那么我们就要先分析顺序表的优缺点 首先我们要确定链表的结构是一个数据存放的空间,指向下个结点的指针域 然后我们实现打印和创建新的节点 然后我们实现头插和尾插 这个地方有一个易错点 首先对尾插来说,如果我们插入的是…

国庆《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书行将售罄

国庆《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书行将售罄 国庆《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书行将售罄

Vue之transition组件

Vue提供了transition组件,使用户可以更便捷地添加过渡动画效果。 transition组件 transition组件也是一个抽象组件,并不会渲染出真实dom。Vue会在其第一个真实子元素上添加过渡效果。 props render 这里将render分为两部分,第一部分界定真…

【模板语法+数据绑定+el与data的两种写法+MVVM模型】

模板语法数据绑定el与data的两种写法MVVM模型 1 模板语法1.1 插值语法1.2 指令语法 2 数据绑定2.1 单向数据绑定2.2 双向数据绑定 3 el与data的两种写法4 MVVM模型 1 模板语法 1.1 插值语法 双大括号表达式功能:用于解析标签体内容语法:{{xxx}}&#x…

Firecamp2.7.1exe安装与工具调试向后端发送SocketIO请求

背景: 笔者在python使用socket-io包时需要一个测试工具,选择了firecamp这个测试工具来发送请求。 参考视频与exe资源包: Firecamp2.7.1exe安装包以及基本使用说明文档(以SocketIO为例).zip资源-CSDN文库 15_send方法…

论文笔记(整理):轨迹相似度顶会论文中使用的数据集

0 汇总 数据类型数据名称数据处理出租车数据波尔图 原始数据:2013年7月到2014年6月,170万条数据 ICDE 2023 Contrastive Trajectory Similarity Learning with Dual-Feature Attention 过滤位于城市(或国家)区域之外的轨迹 过…

html、css学习记录【uniapp前奏】

Html 声明:该学习笔记源于菜鸟自学网站,特此记录笔记。很多示例源于此官网,若有侵权请联系删除。 文章目录 Html声明: CSS 全称 Cascading Style Sheets,层叠样式表。是一种用来为结构化文档(如 HTML 文档…

NLP 04(GRU)

一、GRU GRU (Gated Recurrent Unit)也称门控循环单元结构,它也是传统RNN的变体,同LSTM一样能够有效捕捉长序列之间的语义关联, 缓解梯度消失或爆炸现象,同时它的结构和计算要比LSTM更简单,它的核心结构可以分为两个部分去解析: 更新门、重置门 GRU的内…

宝塔 php修改了php.ini配置不生效

最近在使用hypref,php的版本是7.4 服务器linux,用宝塔安装完php,并装完swoole插件后 安装了swoole后,需要在php.ini中修改一下配置文件 添加 swoole.use_shortnameOff 但是添加了,重启php,依然不生效 解决方法是: 同时…

AI项目十三:PaddleOCR训练自定义数据集

若该文为原创文章,转载请注明原文出处。 续上一篇,PaddleOCR环境搭建好了,并测试通过,接下来训练自己的检测模型和识别模型。 paddleocr检测模型训练 1、准备数据集 在PaddleOCR目录下新建文件夹:train_data, 这个…

idea2023根据表自动生成+springboot跑起来

idea安装插件 idea中显示数据库连接 就可以看到如下界面 选中你想生成的表,右键如下操作 如上就有了所有需要的后端代码 生成后,要查看一下mapper.xml中的文件是否 正确,若有误请先去修改,例如我的版本下生成了xml文件中缺乏…

从 低信噪比陆上地震记录 解决办法收集 到 走时层析反演中的折射层析调研

目录 (前言1) 关于背景的回答:(前言2) 现有的降低噪声, 提高信噪比的一些特有方法的论文资料 (传统策略):1. 关于波形反演与走时层析反演2. 折射层析3. 用一个合成数据来解释折射层析反演的思路4. 其他层析反演方法:5. 关于层析反演的一些TIPS (可补充)参考文献: 降噪有关资料参…

Unity中Shader的前向渲染路径ForwardRenderingPath

文章目录 前言一、前向渲染路径的特点二、渲染方式1、逐像素(效果最好)2、逐顶点(效果次之)3、SH球谐(效果最差) 三、Unity中对灯光设置 后,自动选择对应的渲染方式1、ForwardBase仅用于一个逐像素的平行灯,以及所有的逐顶点与SH2、ForwardAdd用于其他所…

GitHub 基本操作

最近要发展一下自己的 github 账号了,把以前的项目代码规整规整上传上去,这里总结了一些经验,经过数次实践之后,已解决几乎所有基本操作中的bug,根据下面的操作步骤来,绝对没错了。(若有其他问题…

Java初始化大量数据到Neo4j中(二)

接Java初始化大量数据到Neo4j中(一)继续探索,之前用create命令导入大量数据发现太过耗时,查阅资料说大量数据初始化到Neo4j需要使用neo4j-admin import 业务数据说明可以参加Java初始化大量数据到Neo4j中(一),这里主要是将处理好的节点数据和…