问:为什么不在本机直接运行软件或桌面环境?
答:一方面deepin软件源较老,很多新软件不支持或兼容性差,需要手动编译甚至无法运行
另一方面可以有效隔离软件,有风险的软件可以使用容器运行
问:为什么不用虚拟机
答:相较于虚拟机,容器的性能更好,几乎没有性能损耗,事实上有了容器你几乎没有理由在linux上虚拟机运行另一个linux
问:flatpak等容器化的软件包管理器与这个有什么区别?
答:相较于容器化包管理器,此方案占用磁盘空间更大,且初次配置较为复杂,但是也更有"折腾"的空间,比如跑桌面环境,且能控制软件版本(要用高版本软件就用arch,debian testing等,反之就用ubuntu lts),而且无需包管理器的学习成本,只要容器内是debian系的系统你依然可以快乐apt
不多bb先上图
桌面模式:(没有装截图软件手机比较糊,此时运行的是容器内完整的kde,但是从内核能看出主系统是deepin)
GUI应用模式(在deepin的dde桌面基础上运行容器内GUI应用)
命令行模式(在深度终端下运行终端软件)
准备工作:任意容器(理论上chroot proot lxc docker systemd-nspawn等都可以,仅测试chroot和systemd-nspawn)
容器可以使用https://gitee.com/mo2/linux配置,教程可以参考b站上使用termux运行linux的教程这里不过多解释https://www.bilibili.com/video/BV1qb4y1C7n5/?spm_id_from=333.337.search-card.all.click&vd_source=134460b1ba660b6c9125951a345687ff
命令行软件:配置好容器后就可以用
GUI软件:
1.在容器内安装任意桌面
2.在容器外(再开一个深度终端)运行xhost +(注意,每次运行图形化程序前都需要这么做)
3.在容器内运行export DISPLAY=:0(可以使用tmoe的脚本或手动设置全局变量,否则每次都需要运行一次)
4.在容器内用命令运行你要运行的软件,大功告成
桌面:
两种方案
一.安装任意桌面后用vnc链接
二.直接连接到显示器(本地的x11服务)
1.在容器内安装任意桌面
2.在容器外(再开一个深度终端)运行xhost +(注意,每次运行桌面环境前都需要这么做)
3.主系统注销
4.Ctrl+F2进入tty2,输入用户名,回车,输入密码登录
5.在tty2下kill掉lightdm的进程(我使用的是htop,可以sudo apt install htop安装,
sudo htop然后找到/usr/sbin/lightdm,F9回车kill掉,F10退出)
6.tty2下运行sudo Xorg
7.Ctrl+F3进入tty3并像tty2一样登录
8.命令行运行容器(我是用的tmoe脚本,直接输入tmoe进入,tty不支持中文盲操作进入容器)
9.容器内运行export DISPLAY=:0(可以使用tmoe的脚本或手动设置全局变量,否则每次都需要运行一次)】
10.容器内运行桌面(如kde是startplasma-x11)
11Ctrl+F1,不出意外容器的桌面就开始加载了!
tips:桌面模式下退出容器桌面的方法:
1.Ctrl+F3进入tty3,此时应该是在运行容器,一路exit以退出容器
2.reboot重启(不要使用容器桌面本身的重启,也不要在容器内reboot)