docker部署xfce4桌面系统

直接上dockerfile吧

#FROM ubuntu:22.04 as builder

FROM debian:bullseye as builder
ENV DEBIAN_FRONTEND=noninteractive

# 更新软件包列表,安装xfce4桌面环境及其他依赖
RUN apt-get update && apt-get upgrade -y && \
    apt-get install -y \
    dbus-x11 \
    xfce4 \
    xfce4-goodies \
    pm-utils \
    net-tools \
    vim \
    supervisor && \
    update-alternatives --set x-terminal-emulator /usr/bin/xfce4-terminal.wrapper && \
    apt-get autoremove -y && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
    
# 安装中文字体和中文语言包
RUN apt-get update && apt-get install -y \
    fonts-droid-fallback \
    ttf-wqy-zenhei \
    ttf-wqy-microhei \
    xfonts-wqy \
    locales \
    task-chinese-s-desktop && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* && \
    echo "zh_CN.UTF-8 UTF-8" > /etc/locale.gen && \
    locale-gen zh_CN.UTF-8

ENV LANG zh_CN.UTF-8
ENV LANGUAGE zh_CN:zh
ENV LC_ALL zh_CN.UTF-8


# 配置supervisord守护进程
RUN { \
    echo '[supervisord]'; \
    echo 'nodaemon=true'; \
    echo 'user=root'; \
    echo '[include]'; \
    echo 'files = /etc/supervisor/conf.d/*.conf'; \
    } > /etc/supervisor/supervisord.conf
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]

这只是个初步的桌面环境脚本,当然虚拟桌面一般都搭配vnc 或者rdp来使用,这两个安装都不复杂,建议使用xrdp+xorgrdp 来做。我在尝试了 vnc 和xrdp之后,均放弃了… 体验不是很理想测试的数据如下
在这里插入图片描述
不过这是后话,远程协议调研的部分,在后边的文章再细说吧。

启动xserver xfce 桌面环境

参考下面脚本:

#!/bin/bash
service dbus start
#启动XServer
startx -- :3 &

sleep 3

#启动xfce4 桌面
export DISPLAY=:3
startxfce4 & 

sleep 3

#设置分辨率
xrandr --output Virtual1 --mode 1920x1080

成功之后

在这里插入图片描述
xserver 启动成功了,你也可以使用下面的命令来启动xserver:

/usr/lib/xorg/Xorg :3 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log

遇到的一些问题

错误发生在 xf86EnableIO 处。错误信息中还包含了一个 “Segmentation fault at address 0x8”,表明在地址 0x8 处发生了段错误

是一些权限问题,提权就可以了 docker run 加上 --privileged

成功运行后:

在这里插入图片描述

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值