【docker】Windows11创建Ubuntu-desktop并使用VNC完成远程访问

【docker】Windows11创建Ubuntu-desktop并使用VNC完成远程访问

文章目录

  • 【docker】Windows11创建Ubuntu-desktop并使用VNC完成远程访问
  • 前言
  • 创建Ubuntu容器
    • 下载镜像
    • 运行容器
    • 连接容器
  • 搭建容器XFCE桌面环境
    • 安装ubuntu桌面
  • 总结


前言

docker ubuntu容器在深度学习领域的使用过程中安装桌面环境确实能带来便利,因此本文将介绍从创建Ubuntu容器,到安装桌面,再到VNC远程连接的全部过程。


创建Ubuntu容器

docker常用指令参考

下载镜像

docker pull image_name
# eg:docker pull ubuntu:20.04
docker images

运行容器

docker run -tid -p 3316:22 -p 5900:5900 -p 5901:5901 --name container_name --privileged=true image_name:tag /bin/bash
# eg:docker run -tid -p 3316:22 -p 5900:5900 -p 5901:5901 --name ubuntu20.04 --privileged=true ubuntu:20.04 /bin/bash
docker ps

连接容器

进入容器控制台

docker exec -it container_name /bin/bash
# eg: docker exec -it ubuntu20.04 /bin/bash


安装配置ssh

apt-get update && apt-get install -y sudo
# 设置密码:123456
passwd root
# 安装文本编辑器
sudo apt install vim -y
# SSH客户端
sudo apt install openssh-client -y
# SSH服务器:选择亚洲和上海
sudo apt install openssh-server -y
# 网络配置和诊断工具
sudo apt install net-tools -y
# 编辑sshd_config文件 
# 在末尾添加:PermitRootLogin yes
vim /etc/ssh/sshd_config 


启动ssh

# 启动ssh
service ssh start
# 查找与SSH相关的进程
ps -e|grep ssh


设置容器启动时启动ssh

# 编辑.bashrc文件 
# 在末尾添加:service ssh start
vim /root/.bashrc


用FinalShell工具连接容器


搭建容器XFCE桌面环境

安装ubuntu桌面

sudo apt-get update
# 安装XFCE桌面环境
sudo apt-get install -y xubuntu-desktop
# 或下面精简版本
sudo apt-get install -y --no-install-recommends xubuntu-desktop 
sudo apt-get install dbus-x11 -y
#安装中文字体,否则会出现乱码
sudo apt-get install fonts-wqy-microhei -y
#安装中文语言名和fcitx中文输入法
sudo apt-get install -y gnome-user-docs-zh-hans language-pack-gnome-zh-hans fcitx fcitx-pinyin fcitx-table-wubi

# 更改vnc4server的安装源:
vim /etc/apt/sources.list
# 上面替换成下面
# deb http://security.ubuntu.com/ubuntu/ focal-security universe
# deb http://archive.ubuntu.com/ubuntu/ bionic universe

sudo apt update
# 安装vncserver
sudo apt install -y vnc4server
# 启动vncserver生成配置文件
vncserver

初次启动需要设置密码:123456

# 备份启动设置
cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
# 编辑替换vnc启动设置
vim ~/.vnc/xstartup

替换内容:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export LANG=zh_CN.UTF-8
fcitx -r
startxfce4
# 重新启动vnc
vncserver -kill :1
vncserver -geometry 1920x1080 :1

安装VNC客户端【VNC官方下载地址】,傻瓜式安装即可。
发起远程控制(可以看到博主已经完全远程控制了):启动VNC Vewer–>File --New connection–>VNC Server输入wlan0的ip:port,name可以自定设置–>点击ok,输入用户密码(之前设置的vnc密码)。

重新启动容器后启动vnc,远程桌面可能会出现错误,需要进行以下操作:

# # 编辑.bashrc文件 
vim /root/.bashrc

在.bashrc末尾添加如下内容

# 目的是清理 X 服务器相关的锁文件和套接字文件
rm -rf /tmp/.X1-lock 	
rm -rf /tmp/.X11-unix/X1
# 自动启动桌面(每次启动容器后)
vncserver -geometry 1920x1080 :1

# 立即生效.bashrc 文件中的更改,否则再重新启动容器才能生效
source /root/.bashrc

总结

该文介绍了如何通过Docker创建一个基于Ubuntu18.04/20.04的容器,并在容器内安装桌面环境,然后使用VNC服务从本机进行连接。

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

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

相关文章

【Vulkan入门】01-列举物理设备

目录 先叨叨git信息主要逻辑VulkanEnvEnumeratePhysicalDevices()PrintPhysicalDevices() 编译并运行程序 先叨叨 上一篇已经创建了VkInstance,本篇我们问问VkInstance,在当前平台上有多少个支持Vulkan的物理设备。 git信息 repository: https://gite…

【嵌入式系统设计】LES3~5:Cortex-M4系统架构(上)第1节 ARM处理器,M4内核处理器,M4调试跟踪接口

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…

微信小程序px和rpx单位互转方法

js代码如下 Page({data: {width: 0,width2: 0},onLoad: function (options) {let px this.pxToRpx(380)let rpx this.rpxToPx(730.7692307692307) // 检查两个互转是否是相同即可,例如pxToRpx(380)转成730.7692307692307 则rpxToPx(730.7692307692307)如果是380则代表互转没…

分布式推理框架 xDit

1. xDiT 简介 xDiT 是一个为大规模多 GPU 集群上的 Diffusion Transformers(DiTs)设计的可扩展推理引擎。它提供了一套高效的并行方法和 GPU 内核加速技术,以满足实时推理需求。 1.1 DiT 和 LLM DiT(Diffusion Transformers&am…

JAVA-响应报文转XML

在我们的开发过程中,接口响应一般都是使用的JSON格式;随着我们接入的系统的增加,以及开发需求的增加,不乏出现一些使用XML解析的系统,需要我们将response内容转换成XML的格式响应,那么我们需要对此重新写个…

前端热门面试题目(三)

DIFF算法的原理 DIFF算法用于比较两棵虚拟DOM树的差异并更新真实DOM,其基本原理如下: 分层比较: DIFF算法假设不同层级的节点不会互相影响,因此只比较同一层级的节点,避免全树比较的高成本。 三种操作: D…

资料文件夹转移工具5.2.3 |快速转移到D盘,释放C盘空间

这是一款支持将C盘的常用文件夹转移到其他磁盘分区的工具,提供仅变目录、复制资料和转移资料三种转移方式。该工具完全免费,单文件免安装,大小仅为546KB,非常适合需要释放C盘空间的用户。 大小:546KB 下载地址&#…

xargs命令的基本语法

1. 基本语法 xargs [选项] [命令]-0, --null:使用null字符(\0)作为输入项的分隔符。这在处理包含空格、换行符等特殊字符的文件名或路径时特别有用。 -I{}:指定替换字符串,其中{}将被替换为输入行的内容。这个选项允…

学习笔记052——Spring Boot 自定义 Starter

文章目录 Spring Boot 自定义 Starter1、自定义一个要装载的项目2、创建属性读取类 ServiceProperties3、创建 Service4、创建自动配置类 AutoConfigration5、创建 spring 工程文件6、将项目打成 jar 包7、jar 打包到本地仓库8、配置application.yml Spring Boot 自定义 Starte…

windows opencv imshow图片报错解决

import cv2# 检查版本 print(cv2.__version__)# 加载一张图片(确保你有一个名为test.jpg的文件在当前目录) image cv2.imread(C:\\test1.jpg)# 显示图片 cv2.imshow(image, image) cv2.waitKey(0) cv2.destroyAllWindows() cv2意思是opencv c o(*&…

时间序列模型在LSTM中的特征输入

这里写目录标题 前言LSTM的输入组成时间步例子 实际代码解读特征提取处理成dataloader格式(用于输入到模型当中)对应到lstm的模型创建代码 总结 前言 本文章将帮助理解如何将一个时间序列的各种特征(年月日的时间特征,滚动窗口滞…

uniapp 自定义导航栏增加首页按钮,仿微信小程序操作胶囊

实现效果如图 抽成组件navbar.vue&#xff0c;放入分包 <template><view class"header-nav-box":style"{height:Props.imgShow?:statusBarHeightpx,background:Props.imgShow?:Props.bgColor||#ffffff;}"><!-- 是否使用图片背景 false…

node.js基础学习-express框架-静态资源中间件express.static(十一)

前言 在 Node.js 应用中&#xff0c;静态资源是指那些不需要服务器动态处理&#xff0c;直接发送给客户端的文件。常见的静态资源包括 HTML 文件、CSS 样式表、JavaScript 脚本、图片&#xff08;如 JPEG、PNG 等&#xff09;、字体文件和音频、视频文件等。这些文件在服务器端…

下载maven 3.6.3并校验文件做md5或SHA512校验

一、下载Apache Maven 3.6.3 Apache Maven 3.6.3 官方下载链接&#xff1a; 二进制压缩包&#xff08;推荐&#xff09;: ZIP格式: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zipTAR.GZ格式: https://archive.apache.org/dist/…

单片机知识总结(完整)

1、单片机概述 1.1. 单片机的定义与分类 定义&#xff1a; 单片机&#xff08;Microcontroller Unit&#xff0c;简称MCU&#xff09;是一种将微处理器、存储器&#xff08;包括程序存储器和数据存储器&#xff09;、输入/输出接口和其他必要的功能模块集成在单个芯片上的微型…

C# winform非常好用的图表开源控件Scottplot

wifnorm自带的chart控件功能和性能都不太行&#xff0c;所以在网上搜索到了Scottplot开源图表控件。根据自己需要&#xff0c;将已经试验使用过的用法记录在这里 winform建议使用版本 Scottplot包版本&#xff1a;4.1.71 这个版本在winform中可以以控件形式直接拖拉到窗体中使…

Python 3 教程第33篇(MySQL - mysql-connector 驱动)

Python MySQL - mysql-connector 驱动 MySQL 是最流行的关系型数据库管理系统&#xff0c;如果你不熟悉 MySQL&#xff0c;可以阅读我们的 MySQL 教程。 本章节我们为大家介绍使用 mysql-connector 来连接使用 MySQL&#xff0c; mysql-connector 是 MySQL 官方提供的驱动器。…

Gooxi Eagle Stream 2U双路通用服务器:性能强劲 灵活扩展 稳定易用

人工智能的高速发展开启了飞轮效应&#xff0c;实施数字化变革成为了企业的一道“抢答题”和“必答题”&#xff0c;而数据已成为现代企业的命脉。以HPC和AI为代表的新业务就像节节攀高的树梢&#xff0c;象征着业务创新和企业成长。但在树梢之下&#xff0c;真正让企业保持成长…

UICollectionView在xcode16编译闪退问题

使用xcode15运行工程&#xff0c;控制台会出现如下提示&#xff1a; Expected dequeued view to be returned to the collection view in preparation for display. When the collection views data source is asked to provide a view for a given index path, ensure that a …

Gentoo Linux部署LNMP

一、安装nginx 1.gentoo-chxf ~ # emerge -av nginx 提示配置文件需更新 2.gentoo-chxf ~ # etc-update 3.gentoo-chxf ~ # emerge -av nginx 4.查看并启动nginx gentoo-chxf ~ # systemctl status nginx gentoo-chxf ~ # systemctl start nginx gentoo-chxf ~ # syst…