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
    评论
SAPIC个人图床系统是一个基于Vue框架和Node.js的图片管理系统,使用docker部署系统可以方便快捷地搭建自己的图床服务。 首先,需要安装DockerDocker Compose,可以在官网下载安装包进行安装。搭建之前,需要在本地环境创建一个新的目录用来存放SAPIC个人图床系统的代码和配置文件。 接下来,可以通过以下步骤搭建SAPIC个人图床系统: 1.下载SAPIC个人图床系统的代码,可以在GitHub上进行下载。 2.将下载的代码复制到刚才创建的目录中,并在该目录中创建一个名为docker-compose.yml的文件,用于定义容器的配置。 3.在docker-compose.yml文件中,添加以下代码: version: '3.8' # 定义Docker Compose的版本 services: web: image: sapic/web # 使用SAPIC个人图床系统镜像 ports: - "80:80" # 暴露80端口,可以通过浏览器访问 environment: - GITHUB_CLIENT_ID=YOUR_GITHUB_CLIENT_ID # 添加GitHub OAuth认证所需的环境变量 - GITHUB_CLIENT_SECRET=YOUR_GITHUB_CLIENT_SECRET - SERVER_HOST=YOUR_HOST_NAME # 为服务设定你的域名或公网ip地址 - JWT_SECRET=YOUR_SECRET_KEY # Json Web Token加密密钥(YOUR_SECRET_KEY可以替换成自己定义的密钥) volumes: - ./data:/app/data # 挂载数据卷,用于持久化数据 4.在上面的代码中,需要将YOUR_GITHUB_CLIENT_ID和YOUR_GITHUB_CLIENT_SECRET替换成自己在GitHub申请的OAuth认证参数,YOUR_HOST_NAME替换成自己的域名或公网ip地址,YOUR_SECRET_KEY替换成自己定义的Json Web Token加密密钥。 5.运行以下命令,执行容器的初始化和启动: docker-compose up -d 6.默认情况下,SAPIC个人图床系统所使用的文件存储路径是挂载到data目录下的。可以通过修改docker-compose.yml文件中的volumes部分,将文件存储路径指定到其他路径。 7.访问服务地址,打开SAPIC个人图床系统的主页,使用GitHub账号进行登录即可开始上传和管理图片。 综上所述,使用Docker部署SAPIC个人图床系统非常简单,只需要将代码复制到本地环境中,编写docker-compose.yml文件,执行docker-compose up -d 命令即可。同时在部署完成后,也可以通过修改容器配置文件的方式,对服务进行进一步优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值