Distrobox
自动集成桌面、文件系统,资源占用低,可用来解决依赖冲突。
安装
1 2 3
| sudo apt update
sudo apt install distrobox podman -y
|
基础使用
创建
1
| distrobox create --name ubuntu24 --image ubuntu:24.04
|
进入
1
| distrobox enter ubuntu24
|
退出
停止
删除容器
1
| distrobox rm -f debian12
|
查看当前容器
高级使用
直接启动容器中的程序
1
| distrobox enter ubuntu24 -- /opt/ubaa/bin/UBAA
|
导出应用到宿主机开始菜单
1 2 3 4
| distrobox-export --app mailmaster --export-label "网易邮箱大师"
distrobox-export --bin /usr/local/bin/start-mailmaster --export-path ~/.local/bin
|
实例:网易邮箱大师
下载mail.deb安装包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| sudo apt update && sudo apt install distrobox podman -y
distrobox create --name ubuntu22 --image docker.io/library/ubuntu:22.04 distrobox enter ubuntu22 sudo apt update && sudo apt upgrade -y sudo apt install ~/installers/mail.deb -y sudo apt install -y libatk-bridge2.0-0 libgtk-3-0 libnss3 libxss1 libasound2 libxtst6 libgbm1 libxshmfence1 libdrm2 libx11-xcb1 libxcb-dri3-0 libxcb-xinerama0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xfixes0 libxcb-xkb1 libfontconfig1 libfreetype6 libxcb-cursor0
dpkg -l | grep -i mailmaster
dpkg -L mailmaster | grep -E '(/opt|launch\.sh|mailmaster$)'
sudo tee /usr/local/bin/start-mailmaster << 'EOF'
export QT_QPA_PLATFORM=xcb
export QT_IM_MODULE=fcitx5 export GTK_IM_MODULE=fcitx5 export XMODIFIERS=@im=fcitx5
exec /opt/mailmaster/mailmaster "$@" EOF sudo chmod +x /usr/local/bin/start-mailmaster
dpkg -L mailmaster | grep '.desktop'
sudo sed -i 's|^Exec=.*|Exec=/usr/local/bin/start-mailmaster %U|' /usr/share/applications/mailmaster.desktop
sudo apt install -y fcitx5-frontend-qt5 fcitx5-frontend-gtk2 fcitx5-frontend-gtk3
start-mailmaster
distrobox-export --app mailmaster --export-label none
distrobox-export --bin /usr/local/bin/start-mailmaster --export-path ~/.local/bin
distrobox-export --list-apps
distrobox-export --app MailMaster --delete
exit
|
输入法问题未解决
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| 第二步:把 fcitx5 输入法插件放入程序自带的 Qt 目录 这是最关键的一步 —— 自带 Qt 的程序不会读取系统的 Qt 插件目录,必须手动把插件放进去才能加载输入法。
先找到程序自带的 Qt 插件根目录:
bash 运行
find /opt/mailmaster -name "platforms" -type d
正常会输出类似 /opt/mailmaster/plugins/platforms,它的上一级 /opt/mailmaster/plugins 就是 Qt 插件根目录。
创建输入法插件子目录(如果不存在):
bash 运行
sudo mkdir -p /opt/mailmaster/plugins/platforminputcontexts
把系统的 fcitx5 Qt5 输入法插件复制进去:
bash 运行
sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so /opt/mailmaster/plugins/platforminputcontexts/ sudo chmod 644 /opt/mailmaster/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so
(兜底增强)在启动脚本里追加插件路径变量,确保程序一定能读到: 重新编辑脚本,多加一行插件路径:
bash 运行
#!/bin/bash export QT_QPA_PLATFORM=xcb export QT_IM_MODULE=fcitx5 export GTK_IM_MODULE=fcitx5 export XMODIFIERS=@im=fcitx5 # 强制指定 Qt 插件路径 export QT_PLUGIN_PATH=/opt/mailmaster/plugins
exec /opt/mailmaster/mailmaster "$@"
|