docker 运行deepin 20,可GUI(vcxsr)
Tofloor
poster avatar
爪巴戈
deepin
2020-12-11 04:15
Author

看到论坛有人问deepin有没有wsl2镜像,得到的答案是没有,手痒,就想自己试下,使用LxRunOffline转换成功了,就是不能启动,等于失败,就有了配置一个docker版的想法,经测试docker版可以运行,且可以使用vcxsr来运行GUI程序,过程如下!


测试环境:

Microsoft Windows 10 专业版  10.0.19042
  开启WSL2 使用 Ubuntu20.04
  WSL2 安装docker
  安装Vmware 16 (此版本兼容 wsl2)
   
deepin:deepin-desktop-community-1002-amd64.iso

步骤:

  1. 在虚拟机安装 deepin,不演示,安装完成后关机。注意:虚拟机硬盘为单文件

  2. 接下来把虚拟机转换为docker镜像

# 挂载,.vmdk文件,xyz.vmdk 修改为你的虚拟机硬盘文件
sudo apt install libguestfs-tools
sudo guestmount -a xyz.vmdk -i --ro /mnt/deepin

# 转换为 xz,占用空间少
sudo tar Jcf $(pwd)/img.tar.xz -C /mnt/deepin .

# 取消挂载
sudo umount /mnt/deepin

# 编译Dockerfile,内容如下:
FROM scratch
ADD img.tar.xz /

# 编译为 docker 镜像, Dockerfile 与 img.tar.xz 在同一目录
sudo docker build . -t deepin
  1. 启动deepin容器:docker run -it --name deepin --network host deepin bash ,--network host 是使用wsl2的网络,以便vcxsr显示GUI

  2. 查看wsl2 网卡,命令:ipconfig ,我这里wsl网卡 ip为:172.18.176.1 ,等下要用,以你实际ip为做准。


  3. 安装vcxsr,地址为:https://sourceforge.net/projects/vcxsrv/,自行安装!

  4. 进入容器:docker exec -it deepin bash,配置vcxsr显示:export DISPLAY=172.18.176.1:0,在当前终端就可以打开deepin的gui程序了,如果要每个终端都可以打开GUI,把:export DISPLAY=172.18.176.1:0 配置到 ~/.bashrc 文件中

以上就是配置的全部过程。

截图演示:

dde-file-manager


dde-calendar


qt-creator


放个合照



经测试xcala、xclock、qt这些使用正常,可以移动,最小化,最大化。操作也没有卡顿!

存在的问题:

    所有dde 相关的程序可以打开,但不能移动。


Reply Favorite View the author
All Replies
早起的虫儿有鸟吃
deepin
2020-12-11 05:36
#1

牛X!!

Reply View the author
Hello
deepin
2020-12-11 06:32
#2

windows上玩相当于开了一个虚拟机再开一个容器,还不如直接虚拟机,吐槽一下

Reply View the author
爪巴戈
deepin
2020-12-15 16:30
#3
Hello

windows上玩相当于开了一个虚拟机再开一个容器,还不如直接虚拟机,吐槽一下

哈哈,的确是这样的,只是测试下可行性!

Reply View the author
兔子12138
deepin
2022-05-21 02:24
#4
Hello

windows上玩相当于开了一个虚拟机再开一个容器,还不如直接虚拟机,吐槽一下

所以docker这种还是在macos和linux下玩

Reply View the author