问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/yangyu0515/article/details/144204549

本文将详细介绍如何在Windows11系统上使用Docker创建一个Ubuntu桌面环境,并通过VNC实现远程访问。这对于需要在Docker容器中使用图形界面的用户,尤其是从事深度学习等需要图形界面支持的工作场景,具有较高的实用价值。

前言

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

创建Ubuntu容器

下载镜像

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服务从本机进行连接。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号