首先创建文件夹,任意名字,此处叫 ubuntu
mkdir ubuntu
接下来使用 debootstrap
部署 Ubuntu 系根文件系统
# 此处的 ubuntu 是文件夹名字
sudo debootstrap --include=systemd-container --no-check-gpg focal ubuntu https://mirrors.163.com/ubuntu/
首先 machinectl 要求容器 rootfs 必须位于 /var/lib/machines/
所以这里用 --bind
来挂载文件夹
# 注意替换真实路径,我这里是 /data/nspawns/ubuntu
sudo mount --bind /data/nspawns/ubuntu /var/lib/machines/ubuntu
对应的 fstab 写法是
/data/nspawns/ubuntu /var/lib/machines/ubuntu none defaults,bind 0 0
接下来创建 /etc/systemd/nspawn/ubuntu.nspawn
写入以下内容
注意
视情况而定
的部分 比如没有 NVIDIA 显卡则可以跳过相关部分
[Exec]
Boot = true
PrivateUsers = no
[Files]
# Xorg
BindReadOnly =/tmp/.X11-unix
# GPU
# 视情况而定
Bind =/dev/dri
# NVIDIA
# 视情况而定
Bind =/dev/nvidia0
Bind =/dev/nvidiactl
Bind =/dev/nvidia-modeset
Bind =/dev/shm
# Controller
# 视情况而定
Bind =/dev/input
# PulseAudio etc.
BindReadOnly =/run/user/1000:/run/user/host
# AppIndicator
#BindReadOnly =/run/user/1000/bus
# DataDir
# 此处可以自定义
Bind = /data/nspawns/share
[Network]
VirtualEthernet = no
Private=no
启动也很简单
machinectl start ubuntu
进入 Shell 更简单
machinectl shell ubuntu
# 指定用户
machinectl shell root@ubuntu
然后以 root 进入容器的 Shell
开始准备环境
echo "deb https://mirrors.163.com/ubuntu focal main restricted universe multiverse" > /etc/apt/sources.list
apt update
apt install vim git -y
# 克隆仓库
git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git
cd deepin-wine-for-ubuntu
./install.sh
接下来获取 Deepin 打包好的安装包,可以参考仓库的 README.md
也可以去下面几个镜像站寻找
https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.qq.im/
https://mirrors.163.com/deepin/pool/non-free/d/deepin.com.qq.im/
为了修复字体方框,需要安装中文字体
还有安装中文支持
apt install fonts-wqy-microhei fonts-wqy-zenhei -y
apt install language-pack-zh-hans -y
接下来编写运行脚本
#!/bin/bash
# 设定语言
export locale=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8
# 设定输入法
export XIM="fcitx5"
export XMODIFIERS="@im=fcitx5"
export GTK_IM_MODULE="fcitx5"
export QT_IM_MODULE="fcitx5"
# 声音与显示
export PULSE_SERVER=unix:/run/user/host/pulse/native
export DISPLAY=:0
# 某些机器上需要移除 32 位的库
rm /lib/i386-linux-gnu/libGL.so.1
/opt/deepinwine/apps/Deepin-QQ/run.sh
KDE 用户此处还需要补充安装一些东西
由于 wine 调用了 GNOME 的组件,所需我们需要在宿主机安装 gnome-settings-daemon
对于 Fedora 操作如下
dnf install gnome-settings-daemon -y
然后把这个东西启动起来
对于 Fedora 路径如下
/usr/libexec/gsd-xsettings &
最后别忘了开放本地 X11 权限
xhost +
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。