Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26332
  • 博文数量: 4
  • 博客积分: 211
  • 博客等级: 二等列兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-27 21:23
文章分类
文章存档

2020年(1)

2011年(3)

我的朋友
最近访客

分类: LINUX

2020-04-21 15:07:33

python2.7前几天报废害我的gentoo升级又失败了,所以这次重装琢磨想个办法绕开这些坑。之前试过flatpak,效果没我预期的理想,所以还是自己用容器封吧。
以后说不定可以拿来当一种自己发布程序的方法。

网上只找到一个x11的,在新的操作系统上已经不能用了,所以我琢磨了一下:



制作系统的方式是这样的,因人而异哈,我用的ubuntu20.04:

docker run -it ubuntu:20.04 /bin/bash

#创建和当前用户相同的用户
useradd -m -u 1000 -g 1000 -s /bin/bash wangjl

#root设个密码方便以后装软件
passwd root

#装几个软件,xclock测试x11,calibre、keepassxc是qt wayland。
apt update
apt install xclock calibre keepassxc

#参考安装qq、微信、百度网盘之类的。wine需要x11。

#然后退出来打包
docker commit gui ubuntu:20.04.gui

#启动

xhost +SI:localuser:$(id -un)

docker run -it -e XDG_RUNTIME_DIR=/home/wangjl \
           -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
           -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/home/wangjl/$WAYLAND_DISPLAY  \
           --user=`id -u`:`id -g`\
           -e QT_QPA_PLATFORM=wayland \
            -v /home/wangjl/:/home/wangjl \
           -e DISPLAY=:0 \
           --name gui -v /tmp/.X11-unix/:/tmp/.X11-unix/ \
          -e LANG=zh_CN.UTF-8 \
          --network host \
           ubuntu:20.04.gui /bin/bash

XDG_RUNTIME_DIR和WAYLAND_DISPLAY是wayland需要的,加起来指向wayland的unix socket路径,QT_QPA_PLATFORM=wayland是qt需要配的,DISPLAY=:0和/tmp/.X11-unix/指向x11的socket路径。

#然后就可以当本地应用那么玩了
也可以像
docker exec -it gui calibre
docker exec -it gui /opt/deepinwine/apps/Deepin-WeChat/run.sh
这样启动gui程序


刚刚又用18.04封了一个mysql-workbench,20.04的mysql-workbench还没出
gentoo上面我现在看着这种依赖一大堆python2.7包的程序我就怕。



阅读(1994) | 评论(0) | 转发(0) |
0

上一篇:HTTP多线下载的原理

下一篇:没有了

给主人留下些什么吧!~~