mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2024-11-24 17:14:01 +01:00
Added Containerized example Doom
This commit is contained in:
parent
e7016550fc
commit
097fe0815c
62
docker/Dockerfile.ubuntu18.doom
Normal file
62
docker/Dockerfile.ubuntu18.doom
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
FROM ubuntu:18.04
|
||||||
|
|
||||||
|
ENV DISPLAY=:1 \
|
||||||
|
VNC_PORT=8443 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
|
||||||
|
HOME=/home/user \
|
||||||
|
TERM=xterm \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASM_RX_HOME=/dockerstartup/kasmrx \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_USER=user \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
SINGLE_APPLICATION=1
|
||||||
|
|
||||||
|
EXPOSE $VNC_PORT
|
||||||
|
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
### REQUIRED STUFF ###
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext libjpeg-dev wget
|
||||||
|
RUN apt-get purge -y pm-utils xscreensaver*
|
||||||
|
|
||||||
|
RUN mkdir -p $STARTUPDIR
|
||||||
|
COPY src/startup/ $STARTUPDIR
|
||||||
|
RUN mkdir -p $HOME/.config/xfce4/xfconf/xfce-perchannel-xml
|
||||||
|
COPY src/xfce/ $HOME/.config/xfce4/xfconf/xfce-perchannel-xml
|
||||||
|
# overwite default with single app config
|
||||||
|
RUN mv $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop-single-app.xml $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
|
||||||
|
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
|
||||||
|
|
||||||
|
# KasmVNC install
|
||||||
|
RUN wget -qO- https://github.com/kasmtech/KasmVNC/releases/download/v0.9.1-beta/KasmVNC_0.9.1-beta_Ubuntu_18.04.tar.gz | tar xz --strip 1 -C /
|
||||||
|
|
||||||
|
### START CUSTOM STUFF ####
|
||||||
|
|
||||||
|
# We need the server to use a fixed resulution and have the client scale, which is not the default behavior of KasmVNC
|
||||||
|
RUN sed -i "s#UI.initSetting('resize', 'remote');#UI.initSetting('resize', 'scale');#" /usr/local/share/kasmvnc/www/app/ui.js
|
||||||
|
|
||||||
|
RUN apt-get install -y chocolate-doom doom-wad-shareware prboom-plus freedoom
|
||||||
|
|
||||||
|
# Use software rendering, comment this out if you have a GPU
|
||||||
|
#RUN mkdir -p $HOME/.local/share/chocolate-doom && \
|
||||||
|
# echo 'force_software_renderer 1' > $HOME/.local/share/chocolate-doom/chocolate-doom.cfg
|
||||||
|
|
||||||
|
|
||||||
|
### END CUSTOM STUFF ###
|
||||||
|
|
||||||
|
RUN chown -R 1000:0 $HOME
|
||||||
|
USER 1000
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh", "xfce4-terminal", "-e", "/usr/games/chocolate-doom" ]
|
37
docker/src/startup/generate_container_user
Executable file
37
docker/src/startup/generate_container_user
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
# Set current user in nss_wrapper
|
||||||
|
USER_ID=$(id -u)
|
||||||
|
GROUP_ID=$(id -g)
|
||||||
|
echo "USER_ID: $USER_ID, GROUP_ID: $GROUP_ID"
|
||||||
|
|
||||||
|
# Attempt to set the username to the kasm username
|
||||||
|
USERNAME=${VNC_USER:-default}
|
||||||
|
# Make the username posix compliant
|
||||||
|
USERNAME=$(echo "$USERNAME" | sed -r 's#[^a-zA-Z0-9\._\-]#_#g')
|
||||||
|
if ! echo "$USERNAME" | grep -qP "^[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*"; then
|
||||||
|
USERNAME="default"
|
||||||
|
fi
|
||||||
|
export PS1="$USERNAME:\w\$ "
|
||||||
|
|
||||||
|
if [ x"$USER_ID" != x"0" ]; then
|
||||||
|
|
||||||
|
NSS_WRAPPER_PASSWD=/tmp/passwd
|
||||||
|
NSS_WRAPPER_GROUP=/etc/group
|
||||||
|
|
||||||
|
cat /etc/passwd > $NSS_WRAPPER_PASSWD
|
||||||
|
|
||||||
|
echo "${USERNAME}:x:${USER_ID}:${GROUP_ID}:Default Application User:${HOME}:/bin/bash" >> $NSS_WRAPPER_PASSWD
|
||||||
|
|
||||||
|
export NSS_WRAPPER_PASSWD
|
||||||
|
export NSS_WRAPPER_GROUP
|
||||||
|
|
||||||
|
if [ -r /usr/lib/libnss_wrapper.so ]; then
|
||||||
|
LD_PRELOAD=/usr/lib/libnss_wrapper.so
|
||||||
|
elif [ -r /usr/lib64/libnss_wrapper.so ]; then
|
||||||
|
LD_PRELOAD=/usr/lib64/libnss_wrapper.so
|
||||||
|
else
|
||||||
|
echo "no libnss_wrapper.so installed!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "nss_wrapper location: $LD_PRELOAD"
|
||||||
|
export LD_PRELOAD
|
||||||
|
fi
|
68
docker/src/startup/vnc_startup.sh
Executable file
68
docker/src/startup/vnc_startup.sh
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
### every exit != 0 fails the script
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# should also source $STARTUPDIR/generate_container_user
|
||||||
|
source $HOME/.bashrc
|
||||||
|
|
||||||
|
## correct forwarding of shutdown signal
|
||||||
|
cleanup () {
|
||||||
|
kill -s SIGTERM $!
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
trap cleanup SIGINT SIGTERM
|
||||||
|
|
||||||
|
## resolve_vnc_connection
|
||||||
|
VNC_IP=$(hostname -i)
|
||||||
|
|
||||||
|
# first entry is control, second is view (if only one is valid for both)
|
||||||
|
mkdir -p "$HOME/.vnc"
|
||||||
|
PASSWD_PATH="$HOME/.vnc/passwd"
|
||||||
|
echo "$VNC_PW" | kasmvncpasswd -f > $HOME/.kasmpasswd
|
||||||
|
chmod 0600 $HOME/.kasmpasswd
|
||||||
|
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout $HOME/.vnc/self.pem -out $HOME/.vnc/self.pem -subj "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=kasm/emailAddress=none@none.none"
|
||||||
|
|
||||||
|
vncserver :1 -interface 0.0.0.0
|
||||||
|
vncserver -kill :1
|
||||||
|
|
||||||
|
if [[ -f $PASSWD_PATH ]]; then
|
||||||
|
rm -f $PASSWD_PATH
|
||||||
|
fi
|
||||||
|
|
||||||
|
#echo "$VNC_PW" | vncpasswd -f > $PASSWD_PATH
|
||||||
|
#echo "$VNC_VIEW_ONLY_PW" | vncpasswd -f >> $PASSWD_PATH
|
||||||
|
#chmod 600 $PASSWD_PATH
|
||||||
|
|
||||||
|
unset VNC_VIEW_ONLY_PW
|
||||||
|
unset VNC_PW
|
||||||
|
|
||||||
|
if [[ $DEBUG == true ]]; then
|
||||||
|
echo -e "\n------------------ start VNC server ------------------------"
|
||||||
|
echo "remove old vnc locks to be a reattachable container"
|
||||||
|
fi
|
||||||
|
vncserver -kill $DISPLAY &> $HOME/.vnc/vnc_startup.log \
|
||||||
|
|| rm -rfv /tmp/.X*-lock /tmp/.X11-unix &> $HOME/.vnc/vnc_startup.log \
|
||||||
|
|| echo "no locks present"
|
||||||
|
|
||||||
|
echo -e "start vncserver with param: VNC_COL_DEPTH=$VNC_COL_DEPTH, VNC_RESOLUTION=$VNC_RESOLUTION\n..."
|
||||||
|
vncserver $DISPLAY -depth $VNC_COL_DEPTH -geometry $VNC_RESOLUTION -FrameRate=$MAX_FRAME_RATE -websocketPort $VNC_PORT -cert $HOME/.vnc/self.pem -sslOnly -interface 0.0.0.0 $VNCOPTIONS #&> $STARTUPDIR/no_vnc_startup.log
|
||||||
|
|
||||||
|
PID_SUN=$!
|
||||||
|
|
||||||
|
echo -e "start window manager\n..."
|
||||||
|
$STARTUPDIR/window_manager_startup.sh #&> $STARTUPDIR/window_manager_startup.log
|
||||||
|
|
||||||
|
## log connect options
|
||||||
|
echo -e "\n\n------------------ VNC environment started ------------------"
|
||||||
|
echo -e "\nVNCSERVER started on DISPLAY= $DISPLAY \n\t=> connect via VNC viewer with $VNC_IP:$VNC_PORT"
|
||||||
|
echo -e "\nnoVNC HTML client started:\n\t=> connect via http://$VNC_IP:$NO_VNC_PORT/?password=...\n"
|
||||||
|
echo "WEB PID: $PID_SUB"
|
||||||
|
|
||||||
|
# tail vncserver logs
|
||||||
|
tail -f $HOME/.vnc/*$DISPLAY.log &
|
||||||
|
|
||||||
|
eval "$@"
|
||||||
|
|
||||||
|
wait $PID_SUB
|
||||||
|
|
||||||
|
echo "Exiting Kasm container"
|
15
docker/src/startup/window_manager_startup.sh
Executable file
15
docker/src/startup/window_manager_startup.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo -e "\n------------------ Xfce4 window manager startup------------------"
|
||||||
|
|
||||||
|
### disable screen saver and power management
|
||||||
|
xset -dpms &
|
||||||
|
xset s noblank &
|
||||||
|
xset s off &
|
||||||
|
|
||||||
|
if [ "$SINGLE_APPLICATION" -eq "1" ]; then
|
||||||
|
echo "Configured of Single Application Mode"
|
||||||
|
sed -i "s/O|SHMC/|/g" $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
|
||||||
|
#xfwm4 --daemon
|
||||||
|
fi
|
58
docker/src/xfce/xfce4-desktop-single-app.xml
Normal file
58
docker/src/xfce/xfce4-desktop-single-app.xml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<channel name="xfce4-desktop" version="1.0">
|
||||||
|
<property name="backdrop" type="empty">
|
||||||
|
<property name="screen0" type="empty">
|
||||||
|
<property name="monitor0" type="empty">
|
||||||
|
<property name="workspace0" type="empty">
|
||||||
|
<property name="color-style" type="int" value="0"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/home/kasm-user/.config/bg_kasm.png"/>
|
||||||
|
</property>
|
||||||
|
<property name="workspace1" type="empty">
|
||||||
|
<property name="color-style" type="int" value="0"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
|
||||||
|
</property>
|
||||||
|
<property name="workspace2" type="empty">
|
||||||
|
<property name="color-style" type="int" value="0"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
|
||||||
|
</property>
|
||||||
|
<property name="workspace3" type="empty">
|
||||||
|
<property name="color-style" type="int" value="0"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="monitorVNC-0" type="empty">
|
||||||
|
<property name="workspace0" type="empty">
|
||||||
|
<property name="color-style" type="int" value="2"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/home/kasm-user/.config/bg_kasm.png"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="last" type="empty">
|
||||||
|
<property name="window-width" type="int" value="1280"/>
|
||||||
|
<property name="window-height" type="int" value="913"/>
|
||||||
|
</property>
|
||||||
|
<property name="desktop-icons" type="empty">
|
||||||
|
<property name="file-icons" type="empty">
|
||||||
|
<property name="show-filesystem" type="bool" value="false"/>
|
||||||
|
<property name="show-home" type="bool" value="false"/>
|
||||||
|
<property name="show-trash" type="bool" value="false"/>
|
||||||
|
<property name="show-removable" type="bool" value="false"/>
|
||||||
|
</property>
|
||||||
|
<property name="style" type="int" value="0"/>
|
||||||
|
<property name="show-thumbnails" type="bool" value="false"/>
|
||||||
|
</property>
|
||||||
|
<property name="desktop-menu" type="empty">
|
||||||
|
<property name="show" type="bool" value="false"/>
|
||||||
|
</property>
|
||||||
|
<property name="windowlist-menu" type="empty">
|
||||||
|
<property name="show" type="bool" value="false"/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
||||||
|
|
32
docker/src/xfce/xfce4-desktop.xml
Normal file
32
docker/src/xfce/xfce4-desktop.xml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<channel name="xfce4-desktop" version="1.0">
|
||||||
|
<property name="backdrop" type="empty">
|
||||||
|
<property name="screen0" type="empty">
|
||||||
|
<property name="monitor0" type="empty">
|
||||||
|
<property name="workspace0" type="empty">
|
||||||
|
<property name="color-style" type="int" value="0"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/home/kasm-user/.config/bg_kasm.png"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="monitorVNC-0" type="empty">
|
||||||
|
<property name="workspace0" type="empty">
|
||||||
|
<property name="color-style" type="int" value="2"/>
|
||||||
|
<property name="image-style" type="int" value="5"/>
|
||||||
|
<property name="last-image" type="string" value="/home/kasm-user/.config/bg_kasm.png"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="last" type="empty">
|
||||||
|
<property name="window-width" type="int" value="1280"/>
|
||||||
|
<property name="window-height" type="int" value="1024"/>
|
||||||
|
</property>
|
||||||
|
<property name="desktop-icons" type="empty">
|
||||||
|
<property name="file-icons" type="empty">
|
||||||
|
<property name="show-filesystem" type="bool" value="false"/>
|
||||||
|
<property name="show-home" type="bool" value="false"/>
|
||||||
|
<property name="show-trash" type="bool" value="false"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</channel>
|
172
docker/src/xfce/xfce4-keyboard-shortcuts.xml
Normal file
172
docker/src/xfce/xfce4-keyboard-shortcuts.xml
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
~ Sakuli - Testing and Monitoring-Tool for Websites and common UIs.
|
||||||
|
~
|
||||||
|
~ Copyright 2013 - 2015 the original author or authors.
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<channel name="xfce4-keyboard-shortcuts" version="1.0">
|
||||||
|
<property name="commands" type="empty">
|
||||||
|
<property name="default" type="empty">
|
||||||
|
<property name="<Alt>F1" type="empty"/>
|
||||||
|
<property name="<Alt>F2" type="empty">
|
||||||
|
<property name="startup-notify" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="<Alt>F3" type="empty">
|
||||||
|
<property name="startup-notify" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="<Primary><Alt>Delete" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>l" type="empty"/>
|
||||||
|
<property name="XF86Display" type="empty"/>
|
||||||
|
<property name="<Super>p" type="empty"/>
|
||||||
|
<property name="<Primary>Escape" type="empty"/>
|
||||||
|
<property name="XF86WWW" type="empty"/>
|
||||||
|
<property name="XF86Mail" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="custom" type="empty">
|
||||||
|
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
||||||
|
<property name="startup-notify" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="<Alt>F1" type="string" value="xfce4-popup-applicationsmenu"/>
|
||||||
|
<property name="<Alt>F2" type="string" value="xfce4-appfinder --collapsed">
|
||||||
|
<property name="startup-notify" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="<Primary><Alt>Delete" type="string" value="xflock4"/>
|
||||||
|
<property name="<Primary><Alt>l" type="string" value="xflock4"/>
|
||||||
|
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
|
||||||
|
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
|
||||||
|
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
||||||
|
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
|
||||||
|
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||||
|
<property name="override" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="xfwm4" type="empty">
|
||||||
|
<property name="default" type="empty">
|
||||||
|
<property name="<Alt>Insert" type="empty"/>
|
||||||
|
<property name="Escape" type="empty"/>
|
||||||
|
<property name="Left" type="empty"/>
|
||||||
|
<property name="Right" type="empty"/>
|
||||||
|
<property name="Up" type="empty"/>
|
||||||
|
<property name="Down" type="empty"/>
|
||||||
|
<property name="<Alt>Tab" type="empty"/>
|
||||||
|
<property name="<Alt><Shift>Tab" type="empty"/>
|
||||||
|
<property name="<Alt>Delete" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>Down" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>Left" type="empty"/>
|
||||||
|
<property name="<Shift><Alt>Page_Down" type="empty"/>
|
||||||
|
<property name="<Alt>F4" type="empty"/>
|
||||||
|
<property name="<Alt>F6" type="empty"/>
|
||||||
|
<property name="<Alt>F7" type="empty"/>
|
||||||
|
<property name="<Alt>F8" type="empty"/>
|
||||||
|
<property name="<Alt>F9" type="empty"/>
|
||||||
|
<property name="<Alt>F10" type="empty"/>
|
||||||
|
<property name="<Alt>F11" type="empty"/>
|
||||||
|
<property name="<Alt>F12" type="empty"/>
|
||||||
|
<property name="<Primary><Shift><Alt>Left" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>End" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>Home" type="empty"/>
|
||||||
|
<property name="<Primary><Shift><Alt>Right" type="empty"/>
|
||||||
|
<property name="<Primary><Shift><Alt>Up" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_1" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_2" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_3" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_4" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_5" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_6" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_7" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_8" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>KP_9" type="empty"/>
|
||||||
|
<property name="<Alt>space" type="empty"/>
|
||||||
|
<property name="<Shift><Alt>Page_Up" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>Right" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>d" type="empty"/>
|
||||||
|
<property name="<Primary><Alt>Up" type="empty"/>
|
||||||
|
<property name="<Super>Tab" type="empty"/>
|
||||||
|
<property name="<Primary>F1" type="empty"/>
|
||||||
|
<property name="<Primary>F2" type="empty"/>
|
||||||
|
<property name="<Primary>F3" type="empty"/>
|
||||||
|
<property name="<Primary>F4" type="empty"/>
|
||||||
|
<property name="<Primary>F5" type="empty"/>
|
||||||
|
<property name="<Primary>F6" type="empty"/>
|
||||||
|
<property name="<Primary>F7" type="empty"/>
|
||||||
|
<property name="<Primary>F8" type="empty"/>
|
||||||
|
<property name="<Primary>F9" type="empty"/>
|
||||||
|
<property name="<Primary>F10" type="empty"/>
|
||||||
|
<property name="<Primary>F11" type="empty"/>
|
||||||
|
<property name="<Primary>F12" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="custom" type="empty">
|
||||||
|
<property name="Up" type="string" value="up_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_9" type="string" value="move_window_workspace_9_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_8" type="string" value="move_window_workspace_8_key"/>
|
||||||
|
<property name="Left" type="string" value="left_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_6" type="string" value="move_window_workspace_6_key"/>
|
||||||
|
<property name="<Alt>Insert" type="string" value="add_workspace_key"/>
|
||||||
|
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
|
||||||
|
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_7" type="string" value="move_window_workspace_7_key"/>
|
||||||
|
<property name="<Primary><Alt>Right" type="string" value="right_workspace_key"/>
|
||||||
|
<property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/>
|
||||||
|
<property name="<Primary><Alt>d" type="string" value="show_desktop_key"/>
|
||||||
|
<property name="<Primary><Alt>Up" type="string" value="up_workspace_key"/>
|
||||||
|
<property name="<Primary>F7" type="string" value="workspace_7_key"/>
|
||||||
|
<property name="<Primary><Alt>Home" type="string" value="move_window_prev_workspace_key"/>
|
||||||
|
<property name="<Alt>F4" type="string" value="close_window_key"/>
|
||||||
|
<property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/>
|
||||||
|
<property name="<Alt>F6" type="string" value="stick_window_key"/>
|
||||||
|
<property name="<Alt>F10" type="string" value="maximize_window_key"/>
|
||||||
|
<property name="<Alt>F12" type="string" value="above_key"/>
|
||||||
|
<property name="<Alt>F9" type="string" value="hide_window_key"/>
|
||||||
|
<property name="<Primary><Alt>Down" type="string" value="down_workspace_key"/>
|
||||||
|
<property name="<Alt>F8" type="string" value="resize_window_key"/>
|
||||||
|
<property name="<Super>Tab" type="string" value="switch_window_key"/>
|
||||||
|
<property name="Escape" type="string" value="cancel_key"/>
|
||||||
|
<property name="<Primary><Alt>End" type="string" value="move_window_next_workspace_key"/>
|
||||||
|
<property name="<Primary>F10" type="string" value="workspace_10_key"/>
|
||||||
|
<property name="<Primary>F11" type="string" value="workspace_11_key"/>
|
||||||
|
<property name="<Alt>F11" type="string" value="fullscreen_key"/>
|
||||||
|
<property name="<Primary><Shift><Alt>Up" type="string" value="move_window_up_key"/>
|
||||||
|
<property name="Right" type="string" value="right_key"/>
|
||||||
|
<property name="Down" type="string" value="down_key"/>
|
||||||
|
<property name="<Alt>F7" type="string" value="move_window_key"/>
|
||||||
|
<property name="<Shift><Alt>Page_Down" type="string" value="lower_window_key"/>
|
||||||
|
<property name="<Primary>F12" type="string" value="workspace_12_key"/>
|
||||||
|
<property name="<Primary>F1" type="string" value="workspace_1_key"/>
|
||||||
|
<property name="<Primary><Alt>Left" type="string" value="left_workspace_key"/>
|
||||||
|
<property name="<Primary>F2" type="string" value="workspace_2_key"/>
|
||||||
|
<property name="<Primary>F4" type="string" value="workspace_4_key"/>
|
||||||
|
<property name="<Primary>F5" type="string" value="workspace_5_key"/>
|
||||||
|
<property name="<Primary>F6" type="string" value="workspace_6_key"/>
|
||||||
|
<property name="<Alt>space" type="string" value="popup_menu_key"/>
|
||||||
|
<property name="<Primary>F8" type="string" value="workspace_8_key"/>
|
||||||
|
<property name="<Primary>F9" type="string" value="workspace_9_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_1" type="string" value="move_window_workspace_1_key"/>
|
||||||
|
<property name="<Alt>Delete" type="string" value="del_workspace_key"/>
|
||||||
|
<property name="<Shift><Alt>Page_Up" type="string" value="raise_window_key"/>
|
||||||
|
<property name="<Primary>F3" type="string" value="workspace_3_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_2" type="string" value="move_window_workspace_2_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_3" type="string" value="move_window_workspace_3_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_4" type="string" value="move_window_workspace_4_key"/>
|
||||||
|
<property name="<Primary><Alt>KP_5" type="string" value="move_window_workspace_5_key"/>
|
||||||
|
<property name="override" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="providers" type="array">
|
||||||
|
<value type="string" value="commands"/>
|
||||||
|
<value type="string" value="xfwm4"/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
57
docker/src/xfce/xfce4-panel.xml
Normal file
57
docker/src/xfce/xfce4-panel.xml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<channel name="xfce4-panel" version="1.0">
|
||||||
|
<property name="configver" type="int" value="2"/>
|
||||||
|
<property name="panels" type="array">
|
||||||
|
<value type="int" value="1"/>
|
||||||
|
<property name="panel-1" type="empty">
|
||||||
|
<property name="position" type="string" value="p=6;x=0;y=0"/>
|
||||||
|
<property name="length" type="uint" value="100"/>
|
||||||
|
<property name="position-locked" type="bool" value="true"/>
|
||||||
|
<property name="size" type="uint" value="30"/>
|
||||||
|
<property name="plugin-ids" type="array">
|
||||||
|
<value type="int" value="1"/>
|
||||||
|
<value type="int" value="3"/>
|
||||||
|
<value type="int" value="15"/>
|
||||||
|
<value type="int" value="2"/>
|
||||||
|
<value type="int" value="4"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugins" type="empty">
|
||||||
|
<property name="plugin-1" type="string" value="applicationsmenu"/>
|
||||||
|
<property name="plugin-3" type="string" value="tasklist"/>
|
||||||
|
<property name="plugin-15" type="string" value="separator">
|
||||||
|
<property name="expand" type="bool" value="true"/>
|
||||||
|
<property name="style" type="uint" value="0"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-4" type="string" value="pager"/>
|
||||||
|
<property name="plugin-6" type="string" value="systray"/>
|
||||||
|
<property name="plugin-7" type="string" value="showdesktop"/>
|
||||||
|
<property name="plugin-8" type="string" value="separator"/>
|
||||||
|
<property name="plugin-9" type="string" value="launcher">
|
||||||
|
<property name="items" type="array">
|
||||||
|
<value type="string" value="14413071971.desktop"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-10" type="string" value="launcher">
|
||||||
|
<property name="items" type="array">
|
||||||
|
<value type="string" value="14413071972.desktop"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-11" type="string" value="launcher">
|
||||||
|
<property name="items" type="array">
|
||||||
|
<value type="string" value="14413071973.desktop"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-12" type="string" value="launcher">
|
||||||
|
<property name="items" type="array">
|
||||||
|
<value type="string" value="14413071974.desktop"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-13" type="string" value="separator"/>
|
||||||
|
<property name="plugin-14" type="string" value="directorymenu">
|
||||||
|
<property name="base-directory" type="string" value="/root"/>
|
||||||
|
</property>
|
||||||
|
<property name="plugin-2" type="string" value="systray"/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
36
docker/src/xfce/xfce4-session.xml
Normal file
36
docker/src/xfce/xfce4-session.xml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<channel name="xfce4-session" version="1.0">
|
||||||
|
<property name="general" type="empty">
|
||||||
|
<property name="FailsafeSessionName" type="string" value="Failsafe"/>
|
||||||
|
</property>
|
||||||
|
<property name="sessions" type="empty">
|
||||||
|
<property name="Failsafe" type="empty">
|
||||||
|
<property name="IsFailsafe" type="bool" value="true"/>
|
||||||
|
<property name="Count" type="int" value="5"/>
|
||||||
|
<property name="Client0_Command" type="array">
|
||||||
|
<value type="string" value="xfwm4"/>
|
||||||
|
</property>
|
||||||
|
<property name="Client0_PerScreen" type="bool" value="false"/>
|
||||||
|
<property name="Client1_Command" type="array">
|
||||||
|
<value type="string" value="xfsettingsd"/>
|
||||||
|
</property>
|
||||||
|
<property name="Client1_PerScreen" type="bool" value="false"/>
|
||||||
|
<property name="Client2_Command" type="array">
|
||||||
|
<value type="string" value="xfce4-panel"/>
|
||||||
|
</property>
|
||||||
|
<property name="Client2_PerScreen" type="bool" value="false"/>
|
||||||
|
<property name="Client3_Command" type="array">
|
||||||
|
<value type="string" value="/usr/bin/execThunar.sh"/>
|
||||||
|
</property>
|
||||||
|
<property name="Client3_PerScreen" type="bool" value="false"/>
|
||||||
|
<property name="Client4_Command" type="array">
|
||||||
|
<value type="string" value="xfdesktop"/>
|
||||||
|
</property>
|
||||||
|
<property name="Client4_PerScreen" type="bool" value="false"/>
|
||||||
|
</property>
|
||||||
|
</property>
|
||||||
|
<property name="splash" type="empty">
|
||||||
|
<property name="Engine" type="string" value=""/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
105
docker/src/xfce/xfwm4.xml
Normal file
105
docker/src/xfce/xfwm4.xml
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
~ Sakuli - Testing and Monitoring-Tool for Websites and common UIs.
|
||||||
|
~
|
||||||
|
~ Copyright 2013 - 2015 the original author or authors.
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<channel name="xfwm4" version="1.0">
|
||||||
|
<property name="general" type="empty">
|
||||||
|
<property name="activate_action" type="string" value="bring"/>
|
||||||
|
<property name="borderless_maximize" type="bool" value="true"/>
|
||||||
|
<property name="box_move" type="bool" value="true"/>
|
||||||
|
<property name="box_resize" type="bool" value="true"/>
|
||||||
|
<property name="button_layout" type="string" value="O|SHMC"/>
|
||||||
|
<property name="button_offset" type="int" value="0"/>
|
||||||
|
<property name="button_spacing" type="int" value="0"/>
|
||||||
|
<property name="click_to_focus" type="bool" value="true"/>
|
||||||
|
<property name="cycle_apps_only" type="bool" value="false"/>
|
||||||
|
<property name="cycle_draw_frame" type="bool" value="true"/>
|
||||||
|
<property name="cycle_hidden" type="bool" value="true"/>
|
||||||
|
<property name="cycle_minimum" type="bool" value="true"/>
|
||||||
|
<property name="cycle_preview" type="bool" value="true"/>
|
||||||
|
<property name="cycle_tabwin_mode" type="int" value="0"/>
|
||||||
|
<property name="cycle_workspaces" type="bool" value="false"/>
|
||||||
|
<property name="double_click_action" type="string" value="maximize"/>
|
||||||
|
<property name="double_click_distance" type="int" value="5"/>
|
||||||
|
<property name="double_click_time" type="int" value="250"/>
|
||||||
|
<property name="easy_click" type="string" value="Alt"/>
|
||||||
|
<property name="focus_delay" type="int" value="250"/>
|
||||||
|
<property name="focus_hint" type="bool" value="true"/>
|
||||||
|
<property name="focus_new" type="bool" value="true"/>
|
||||||
|
<property name="frame_opacity" type="int" value="100"/>
|
||||||
|
<property name="full_width_title" type="bool" value="true"/>
|
||||||
|
<property name="horiz_scroll_opacity" type="bool" value="false"/>
|
||||||
|
<property name="inactive_opacity" type="int" value="100"/>
|
||||||
|
<property name="maximized_offset" type="int" value="0"/>
|
||||||
|
<property name="mousewheel_rollup" type="bool" value="true"/>
|
||||||
|
<property name="move_opacity" type="int" value="100"/>
|
||||||
|
<property name="placement_mode" type="string" value="center"/>
|
||||||
|
<property name="placement_ratio" type="int" value="20"/>
|
||||||
|
<property name="popup_opacity" type="int" value="100"/>
|
||||||
|
<property name="prevent_focus_stealing" type="bool" value="false"/>
|
||||||
|
<property name="raise_delay" type="int" value="250"/>
|
||||||
|
<property name="raise_on_click" type="bool" value="true"/>
|
||||||
|
<property name="raise_on_focus" type="bool" value="false"/>
|
||||||
|
<property name="raise_with_any_button" type="bool" value="true"/>
|
||||||
|
<property name="repeat_urgent_blink" type="bool" value="false"/>
|
||||||
|
<property name="resize_opacity" type="int" value="100"/>
|
||||||
|
<property name="scroll_workspaces" type="bool" value="false"/>
|
||||||
|
<property name="shadow_delta_height" type="int" value="0"/>
|
||||||
|
<property name="shadow_delta_width" type="int" value="0"/>
|
||||||
|
<property name="shadow_delta_x" type="int" value="0"/>
|
||||||
|
<property name="shadow_delta_y" type="int" value="-3"/>
|
||||||
|
<property name="shadow_opacity" type="int" value="50"/>
|
||||||
|
<property name="show_app_icon" type="bool" value="false"/>
|
||||||
|
<property name="show_dock_shadow" type="bool" value="true"/>
|
||||||
|
<property name="show_frame_shadow" type="bool" value="true"/>
|
||||||
|
<property name="show_popup_shadow" type="bool" value="false"/>
|
||||||
|
<property name="snap_resist" type="bool" value="false"/>
|
||||||
|
<property name="snap_to_border" type="bool" value="true"/>
|
||||||
|
<property name="snap_to_windows" type="bool" value="false"/>
|
||||||
|
<property name="snap_width" type="int" value="10"/>
|
||||||
|
<property name="sync_to_vblank" type="bool" value="false"/>
|
||||||
|
<property name="theme" type="string" value="Default"/>
|
||||||
|
<property name="tile_on_move" type="bool" value="true"/>
|
||||||
|
<property name="title_alignment" type="string" value="center"/>
|
||||||
|
<property name="title_font" type="string" value="Sans Bold 9"/>
|
||||||
|
<property name="title_horizontal_offset" type="int" value="0"/>
|
||||||
|
<property name="titleless_maximize" type="bool" value="false"/>
|
||||||
|
<property name="title_shadow_active" type="string" value="false"/>
|
||||||
|
<property name="title_shadow_inactive" type="string" value="false"/>
|
||||||
|
<property name="title_vertical_offset_active" type="int" value="0"/>
|
||||||
|
<property name="title_vertical_offset_inactive" type="int" value="0"/>
|
||||||
|
<property name="toggle_workspaces" type="bool" value="false"/>
|
||||||
|
<property name="unredirect_overlays" type="bool" value="true"/>
|
||||||
|
<property name="urgent_blink" type="bool" value="false"/>
|
||||||
|
<property name="use_compositing" type="bool" value="false"/>
|
||||||
|
<property name="workspace_count" type="int" value="4"/>
|
||||||
|
<property name="workspace_names" type="array">
|
||||||
|
<value type="string" value="Workspace 1"/>
|
||||||
|
<value type="string" value="Workspace 2"/>
|
||||||
|
<value type="string" value="Workspace 3"/>
|
||||||
|
<value type="string" value="Workspace 4"/>
|
||||||
|
</property>
|
||||||
|
<property name="wrap_cycle" type="bool" value="true"/>
|
||||||
|
<property name="wrap_layout" type="bool" value="true"/>
|
||||||
|
<property name="wrap_resistance" type="int" value="10"/>
|
||||||
|
<property name="wrap_windows" type="bool" value="true"/>
|
||||||
|
<property name="wrap_workspaces" type="bool" value="false"/>
|
||||||
|
<property name="zoom_desktop" type="bool" value="true"/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
59
docker/src/xfce/xsettings.xml
Normal file
59
docker/src/xfce/xsettings.xml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
~ Sakuli - Testing and Monitoring-Tool for Websites and common UIs.
|
||||||
|
~
|
||||||
|
~ Copyright 2013 - 2017 the original author or authors.
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<channel name="xsettings" version="1.0">
|
||||||
|
<property name="Net" type="empty">
|
||||||
|
<property name="ThemeName" type="empty"/>
|
||||||
|
<property name="IconThemeName" type="empty"/>
|
||||||
|
<property name="DoubleClickTime" type="empty"/>
|
||||||
|
<property name="DoubleClickDistance" type="empty"/>
|
||||||
|
<property name="DndDragThreshold" type="empty"/>
|
||||||
|
<property name="CursorBlink" type="empty"/>
|
||||||
|
<property name="CursorBlinkTime" type="empty"/>
|
||||||
|
<property name="SoundThemeName" type="empty"/>
|
||||||
|
<property name="EnableEventSounds" type="empty"/>
|
||||||
|
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="Xft" type="empty">
|
||||||
|
<property name="DPI" type="int" value="-1"/>
|
||||||
|
<property name="Antialias" type="empty"/>
|
||||||
|
<property name="Hinting" type="empty"/>
|
||||||
|
<property name="HintStyle" type="empty"/>
|
||||||
|
<property name="RGBA" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="Gtk" type="empty">
|
||||||
|
<property name="CanChangeAccels" type="empty"/>
|
||||||
|
<property name="ColorPalette" type="empty"/>
|
||||||
|
<property name="FontName" type="empty"/>
|
||||||
|
<property name="IconSizes" type="empty"/>
|
||||||
|
<property name="KeyThemeName" type="empty"/>
|
||||||
|
<property name="ToolbarStyle" type="empty"/>
|
||||||
|
<property name="ToolbarIconSize" type="empty"/>
|
||||||
|
<property name="MenuImages" type="empty"/>
|
||||||
|
<property name="ButtonImages" type="empty"/>
|
||||||
|
<property name="MenuBarAccel" type="empty"/>
|
||||||
|
<property name="CursorThemeName" type="empty"/>
|
||||||
|
<property name="CursorThemeSize" type="empty"/>
|
||||||
|
<property name="DecorationLayout" type="empty"/>
|
||||||
|
</property>
|
||||||
|
<property name="Xfce" type="empty">
|
||||||
|
<property name="LastCustomDPI" type="int" value="96"/>
|
||||||
|
</property>
|
||||||
|
</channel>
|
Loading…
Reference in New Issue
Block a user