【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专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…

分布式推理框架 xDit

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

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

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

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

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

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…

CQ 社区版 2024.11 | 新增“审批人组”概念、可通过SQL模式自定义审计图表……

CloudQuery 社区 11 月新版本来啦&#xff01;本月版本依旧是 CUG&#xff08;CloudQuery 用户组&#xff09;尝鲜版的更新。 针对审计模块增加了 SQL 模式自定义审计图表&#xff1b;在流程模块引入了“审批人组”概念。此外&#xff0c;在 SQL 编辑器、连接管理等模块都涉及…

做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE

确切地说&#xff0c;你不需要在IDE里面编写或者阅读代码。 IDE用于Render资源文件比较合适&#xff0c;但处理文本&#xff0c;并不划算。 这的文本文件&#xff0c;包括源代码&#xff0c;配置文件&#xff0c;文档等非二进制文件。 先说说IDE带的便利: 函数或者变量的自动…

RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式

1、介绍 在软件开发领域&#xff0c;尤其是企业级应用开发中&#xff0c;灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目&#xff0c;如何高效地与后端数据库进行交互&#xff0c;以及如何提供多样化的服务访问方式&#xff0c;是开发者需要深入考虑的问题。…

基于Pyside6开发一个通用的在线升级工具

UI main.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>MainWindow</class><widget class"QMainWindow" name"MainWindow"><property name"geometry"&…

Redis(配置文件属性解析)

一、tcp-backlog深度解析 tcp-backlog是一个TCP连接的队列&#xff0c;主要用于解决高并发场景下客户端慢连接问题。配置文件中的“511”就是队列的长度&#xff0c;对联与TCP的三次握手有关&#xff0c;不同的linux内核&#xff0c;backlog队列中存放的元素&#xff08;客户端…

24.12.02 Element

import { createApp } from vue // 引入elementPlus js库 css库 import ElementPlus from element-plus import element-plus/dist/index.css //中文语言包 import zhCn from element-plus/es/locale/lang/zh-cn //图标库 import * as ElementPlusIconsVue from element-plus/i…