-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Dockerfile
94 lines (90 loc) · 3.2 KB
/
Dockerfile
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# x11docker/xfce
#
# Run XFCE desktop in docker.
# Use x11docker to run image.
# Get x11docker from github:
# https://github.com/mviereck/x11docker
#
# Examples:
# - Run desktop:
# x11docker --desktop x11docker/xfce
# - Run single application:
# x11docker x11docker/xfce thunar
#
# Options:
# Persistent home folder stored on host with --home
# Shared host folder with --share DIR
# Hardware acceleration with option --gpu
# Clipboard sharing with option --clipboard
# ALSA sound support with option --alsa
# Pulseaudio sound support with option --pulseaudio
# Language setting with --lang [=$LANG]
# Printing over CUPS with --printer
# Webcam support with --webcam
#
# Look at x11docker --help for further options.
FROM debian:bullseye
RUN apt-get update && apt-mark hold iptables && \
env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
dbus-x11 \
psmisc \
xdg-utils \
x11-xserver-utils \
x11-utils && \
env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
xfce4 && \
env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
libgtk-3-bin \
libpulse0 \
mousepad \
xfce4-notifyd \
xfce4-taskmanager \
xfce4-terminal && \
env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
xfce4-battery-plugin \
xfce4-clipman-plugin \
xfce4-cpufreq-plugin \
xfce4-cpugraph-plugin \
xfce4-diskperf-plugin \
xfce4-datetime-plugin \
xfce4-fsguard-plugin \
xfce4-genmon-plugin \
xfce4-indicator-plugin \
xfce4-netload-plugin \
xfce4-places-plugin \
xfce4-sensors-plugin \
xfce4-smartbookmark-plugin \
xfce4-systemload-plugin \
xfce4-timer-plugin \
xfce4-verve-plugin \
xfce4-weather-plugin \
xfce4-whiskermenu-plugin && \
env DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
libxv1 \
mesa-utils \
mesa-utils-extra && \
sed -i 's%<property name="ThemeName" type="string" value="Xfce"/>%<property name="ThemeName" type="string" value="Raleigh"/>%' /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
# disable xfwm4 compositing if X extension COMPOSITE is missing and no config file exists
RUN Configfile="~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml" && \
echo "#! /bin/bash\n\
xdpyinfo | grep -q -i COMPOSITE || {\n\
echo 'x11docker/xfce: X extension COMPOSITE is missing.\n\
Window manager compositing will not work.\n\
If you run x11docker with option --nxagent,\n\
you might want to add option --composite.' >&2\n\
[ -e $Configfile ] || {\n\
mkdir -p $(dirname $Configfile)\n\
echo '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
<channel name=\"xfwm4\" version=\"1.0\">\n\
\n\
<property name=\"general\" type=\"empty\">\n\
<property name=\"use_compositing\" type=\"bool\" value=\"false\"/>\n\
</property>\n\
</channel>\n\
' > $Configfile\n\
}\n\
}\n\
startxfce4\n\
" > /usr/local/bin/start && \
chmod +x /usr/local/bin/start
CMD start