Skip to content
Commits on Source (5)
FROM minimaldesktop
MAINTAINER Stefano Alberto Russo <stefano.russo@inaf.it>
# Switch to root
USER root
# Extra for Ubuntu18.04
RUN apt-get install net-tools dbus-x11 -y
#----------------------
# Xfce
#----------------------
RUN apt-get update
RUN apt-get install xfce4 xfce4-terminal mousepad ristretto tumbler firefox -y
#----------------------
# Desktop
#----------------------
# Add some dependencies
RUN apt-get install imwheel zenity x11-xserver-utils -y
# Create the Desktop
RUN mkdir /metauser_home_vanilla/Desktop && chown metauser:metauser /metauser_home_vanilla/Desktop
# Add mouse scrolling script
COPY files/set_mouse_scrolling_speed /usr/bin/
COPY files/Set_Mouse_Scrolling_Speed.desktop /metauser_home_vanilla/Desktop/
RUN chmod 755 /usr/bin/set_mouse_scrolling_speed
# Add Display Resolution stuff
#COPY add_display_resolution /usr/bin/
#COPY add_display_resolution_gui /usr/bin/
#COPY Set_Display_Resolution.desktop /metauser_home_vanilla/Desktop/
#COPY Add_Display_Resolution.desktop /metauser_home_vanilla/Desktop/
#RUN chmod 755 /usr/bin/add_display_resolution && chmod 755 /usr/bin/add_display_resolution_gui
# Correct ownership of Desktop shortcuts
RUN chown -R metauser:metauser /metauser_home_vanilla/Desktop/
# Shorter bash prompt
#RUN echo "PS1=\"\u@basicdesktop:\W $ \"" >> /metauser_home_vanilla/.bashrc
# Default conf (mostly eyecandy)
COPY files/home_metauser_.config /metauser_home_vanilla/.config
#COPY data/desktop-cf881dd7/metauser_home_vanilla/.config /metauser_home_vanilla/.config
RUN chown -R metauser:metauser /metauser_home_vanilla/.config
# Disable screensaver
COPY files/dot_xscreensaver /metauser_home_vanilla/.xscreensaver
RUN chown metauser:metauser /metauser_home_vanilla/.xscreensaver
# Disable logout dialog
RUN chmod 000 /usr/bin/xfce4-session-logout
# Create Downloads folder. This is "required" for showing proper spacing between icons in the filemanager a bounch
RUN mkdir /metauser_home_vanilla/Downloads && chown metauser:metauser /metauser_home_vanilla/Downloads
# Extra SW
#RUN apt-get install libreoffice gimp -y
# Shell for terminal
COPY files/runshell.sh /bin/
RUN chmod 755 /bin/runshell.sh
#------------------------
# Post-intall
#------------------------
# Fix home permissions
RUN chmod 777 /home
# Set entrypoint command
ENV X11_ENTRYPOINT_COMMAND=":"
# Set user
USER metauser
# Set container name
ENV CONTAINER_NAME='basicdesktop'
#!/bin/bash
docker build . -t basicdesktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Add Display Resolution
Comment=
Exec=add_display_resolution_gui
Icon=video-display
Path=
Terminal=false
StartupNotify=false
[Desktop Entry]
Version=1.0
Type=Application
Name=Set Display Resolution
Comment=
Exec=xfce4-display-settings
Icon=video-display
Path=
Terminal=false
StartupNotify=false
[Desktop Entry]
Version=1.0
Type=Application
Name=Set Mouse Scrolling Speed
Comment=
Exec=/usr/bin/set_mouse_scrolling_speed
Icon=input-mouse
Path=
Terminal=false
StartupNotify=false
#!/usr/bin/env python
import sys
import os
sh = os.system
# I don't think the refresh rate matters for VNC modes.
REFRESH_RATE = 60
DISPLAY_NAME = 'VNC-0'
if len(sys.argv) != 2:
print('Usage: {} <geometry>'.format(sys.argv[0]))
sys.exit(0)
geometry = sys.argv[1]
(horz, vert) = (int(x) for x in geometry.split('x'))
pixel_freq = (horz * vert * REFRESH_RATE) / 1.0e6
sh('xrandr --newmode {} {} {} 0 0 {} {} 0 0 {}'.format(
geometry, pixel_freq, horz, horz, vert, vert))
sh('xrandr --addmode {} {}'.format(DISPLAY_NAME, geometry))
# Local Variables:
# mode: python
# End:
#!/bin/bash
NEWRES=$(zenity --entry --title="Add new resolution" --text="New Resolution (i.e. 1440x900):")
add_display_resolution $NEWRES
\ No newline at end of file
# XScreenSaver Preferences File
# Written by xscreensaver-demo 5.36 for metauser on Fri Jul 13 21:09:30 2018.
# https://www.jwz.org/xscreensaver/
timeout: 0:10:00
cycle: 0:10:00
lock: False
lockTimeout: 0:00:00
passwdTimeout: 0:00:30
visualID: default
installColormap: True
verbose: False
timestamp: True
splash: True
splashDuration: 0:00:05
demoCommand: xscreensaver-demo
prefsCommand: xscreensaver-demo -prefs
nice: 10
memoryLimit: 0
fade: True
unfade: False
fadeSeconds: 0:00:03
fadeTicks: 20
captureStderr: True
ignoreUninstalledPrograms:False
font: *-medium-r-*-140-*-m-*
dpmsEnabled: False
dpmsQuickOff: False
dpmsStandby: 2:00:00
dpmsSuspend: 2:00:00
dpmsOff: 4:00:00
grabDesktopImages: False
grabVideoFrames: False
chooseRandomImages: False
imageDirectory:
mode: off
selected: -1
textMode: url
textLiteral: XScreenSaver
textFile:
textProgram: fortune
textURL: http://feeds.feedburner.com/ubuntu-news
programs: \
maze -root \n\
- GL: superquadrics -root \n\
attraction -root \n\
blitspin -root \n\
greynetic -root \n\
helix -root \n\
hopalong -root \n\
imsmap -root \n\
- noseguy -root \n\
- pyro -root \n\
qix -root \n\
- rocks -root \n\
rorschach -root \n\
decayscreen -root \n\
flame -root \n\
halo -root \n\
slidescreen -root \n\
pedal -root \n\
bouboule -root \n\
- braid -root \n\
coral -root \n\
deco -root \n\
drift -root \n\
- fadeplot -root \n\
galaxy -root \n\
goop -root \n\
grav -root \n\
ifs -root \n\
unicode -root \n\
- GL: jigsaw -root \n\
julia -root \n\
- kaleidescope -root \n\
- GL: moebius -root \n\
moire -root \n\
- GL: morph3d -root \n\
mountain -root \n\
munch -root \n\
penrose -root \n\
- GL: pipes -root \n\
rd-bomb -root \n\
- GL: rubik -root \n\
- sierpinski -root \n\
slip -root \n\
- GL: sproingies -root \n\
starfish -root \n\
strange -root \n\
swirl -root \n\
triangle -root \n\
xjack -root \n\
xlyap -root \n\
- GL: atlantis -root \n\
bsod -root \n\
- GL: bubble3d -root \n\
- GL: cage -root \n\
- crystal -root \n\
cynosure -root \n\
discrete -root \n\
distort -root \n\
epicycle -root \n\
flow -root \n\
- GL: glplanet -root \n\
interference -root \n\
kumppa -root \n\
- GL: lament -root \n\
moire2 -root \n\
- GL: sonar -root \n\
- GL: stairs -root \n\
truchet -root \n\
- vidwhacker -root \n\
blaster -root \n\
bumps -root \n\
ccurve -root \n\
compass -root \n\
deluxe -root \n\
- demon -root \n\
- GL: extrusion -root \n\
- loop -root \n\
penetrate -root \n\
petri -root \n\
phosphor -root \n\
- GL: pulsar -root \n\
ripples -root \n\
shadebobs -root \n\
- GL: sierpinski3d -root \n\
spotlight -root \n\
squiral -root \n\
wander -root \n\
- webcollage -root \n\
xflame -root \n\
xmatrix -root \n\
- GL: gflux -root \n\
- nerverot -root \n\
xrayswarm -root \n\
xspirograph -root \n\
- GL: circuit -root \n\
- GL: dangerball -root \n\
- GL: engine -root \n\
- GL: flipscreen3d -root \n\
- GL: gltext -root \n\
- GL: menger -root \n\
- GL: molecule -root \n\
rotzoomer -root \n\
speedmine -root \n\
- GL: starwars -root \n\
- GL: stonerview -root \n\
vermiculate -root \n\
whirlwindwarp -root \n\
zoom -root \n\
anemone -root \n\
apollonian -root \n\
- GL: boxed -root \n\
- GL: cubenetic -root \n\
- GL: endgame -root \n\
euler2d -root \n\
fluidballs -root \n\
- GL: flurry -root \n\
- GL: glblur -root \n\
- GL: glsnake -root \n\
halftone -root \n\
- GL: juggler3d -root \n\
- GL: lavalite -root \n\
- polyominoes -root \n\
- GL: queens -root \n\
- GL: sballs -root \n\
- GL: spheremonics -root \n\
- thornbird -root \n\
twang -root \n\
- GL: antspotlight -root \n\
apple2 -root \n\
- GL: atunnel -root \n\
barcode -root \n\
- GL: blinkbox -root \n\
- GL: blocktube -root \n\
- GL: bouncingcow -root \n\
cloudlife -root \n\
- GL: cubestorm -root \n\
eruption -root \n\
- GL: flipflop -root \n\
- GL: flyingtoasters -root \n\
fontglide -root \n\
- GL: gleidescope -root \n\
- GL: glknots -root \n\
- GL: glmatrix -root \n\
- GL: glslideshow -root \n\
- GL: hypertorus -root \n\
- GL: jigglypuff -root \n\
metaballs -root \n\
- GL: mirrorblob -root \n\
piecewise -root \n\
- GL: polytopes -root \n\
pong -root \n\
popsquares -root \n\
- GL: surfaces -root \n\
xanalogtv -root \n\
abstractile -root \n\
anemotaxis -root \n\
- GL: antinspect -root \n\
fireworkx -root \n\
fuzzyflakes -root \n\
interaggregate -root \n\
intermomentary -root \n\
memscroller -root \n\
- GL: noof -root \n\
pacman -root \n\
- GL: pinion -root \n\
- GL: polyhedra -root \n\
- GL: providence -root \n\
substrate -root \n\
wormhole -root \n\
- GL: antmaze -root \n\
- GL: boing -root \n\
boxfit -root \n\
- GL: carousel -root \n\
celtic -root \n\
- GL: crackberg -root \n\
- GL: cube21 -root \n\
fiberlamp -root \n\
- GL: fliptext -root \n\
- GL: glhanoi -root \n\
- GL: tangram -root \n\
- GL: timetunnel -root \n\
- GL: glschool -root \n\
- GL: topblock -root \n\
- GL: cubicgrid -root \n\
cwaves -root \n\
- GL: gears -root \n\
- GL: glcells -root \n\
- GL: lockward -root \n\
m6502 -root \n\
- GL: moebiusgears -root \n\
- GL: voronoi -root \n\
- GL: hypnowheel -root \n\
- GL: klein -root \n\
- lcdscrub -root \n\
- GL: photopile -root \n\
- GL: skytentacles -root \n\
- GL: rubikblocks -root \n\
- GL: companioncube -root \n\
- GL: hilbert -root \n\
- GL: tronbit -root \n\
- GL: geodesic -root \n\
hexadrop -root \n\
- GL: kaleidocycle -root \n\
- GL: quasicrystal -root \n\
- GL: unknownpleasures -root \n\
binaryring -root \n\
- GL: cityflow -root \n\
- GL: geodesicgears -root \n\
- GL: projectiveplane -root \n\
- GL: romanboy -root \n\
tessellimage -root \n\
- GL: winduprobot -root \n\
- GL: splitflap -root \n\
- GL: cubestack -root \n\
- GL: cubetwist -root \n\
- GL: discoball -root \n\
- GL: dymaxionmap -root \n\
- GL: energystream -root \n\
- GL: hexstrut -root \n\
- GL: hydrostat -root \n\
- GL: raverhoop -root \n\
- GL: splodesic -root \n\
- GL: unicrud -root \n\
pointerPollTime: 0:00:05
pointerHysteresis: 10
windowCreationTimeout:0:00:30
initialDelay: 0:00:00
GetViewPortIsFullOfLies:False
procInterrupts: True
xinputExtensionDev: False
overlayStderr: True
authWarningSlack: 20
; Thunar GtkAccelMap rc-file -*- scheme -*-
; this file is an automated accelerator map dump
;
; (gtk_accel_path "<Actions>/ThunarLauncher/sendto-desktop" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/paste-into-folder" "<Primary>v")
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
; (gtk_accel_path "<Actions>/ThunarLauncher/open" "<Primary>o")
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
; (gtk_accel_path "<Actions>/ThunarStandardView/paste" "<Primary>v")
; (gtk_accel_path "<Actions>/ThunarLauncher/open-with-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/help-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
; (gtk_accel_path "<Actions>/ThunarLauncher/open-with-other-in-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
; (gtk_accel_path "<Actions>/ThunarLauncher/open-in-new-tab" "<Primary><Shift>p")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
; (gtk_accel_path "<Actions>/ThunarStandardView/restore" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "")
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
; (gtk_accel_path "<Actions>/ThunarLauncher/open-with-other" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-toolbar" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
; (gtk_accel_path "<Actions>/ThunarStandardView/move-to-trash" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
; (gtk_accel_path "<Actions>/ThunarWindow/about" "")
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/copy" "<Primary>c")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-pathbar" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
; (gtk_accel_path "<Actions>/ThunarActions/uca-action-1531439636685867-1" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/delete" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "")
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
; (gtk_accel_path "<Actions>/ThunarLauncher/open-in-new-window" "<Primary><Shift>o")
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/cut" "<Primary>x")
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
<?xml encoding="UTF-8" version="1.0"?>
<actions>
<action>
<icon>utilities-terminal</icon>
<name>Open Terminal Here</name>
<unique-id>1531439636685867-1</unique-id>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description>Example for a custom action</description>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
</actions>
[Filechooser Settings]
LocationMode=path-bar
ShowHidden=false
ShowSizeColumn=true
GeometryX=-1
GeometryY=-1
GeometryWidth=-1
GeometryHeight=-1
SortColumn=name
SortOrder=ascending
StartupMode=recent
[Added Associations]
x-scheme-handler/http=exo-web-browser.desktop
x-scheme-handler/https=exo-web-browser.desktop
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/"
XDG_TEMPLATES_DIR="$HOME/"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/"
XDG_MUSIC_DIR="$HOME/"
XDG_PICTURES_DIR="$HOME/"
XDG_VIDEOS_DIR="$HOME/"
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/metauser/Desktop/Set_Mouse_Scrolling_Speed.desktop]
row=3
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/home/metauser]
row=2
col=0
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/metauser/Desktop/Set_Mouse_Scrolling_Speed.desktop]
row=3
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/home/metauser]
row=2
col=0
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/metauser/Desktop/Set_Mouse_Scrolling_Speed.desktop]
row=3
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/home/metauser]
row=2
col=0
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/metauser/Desktop/Set_Mouse_Scrolling_Speed.desktop]
row=3
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/home/metauser]
row=2
col=0
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[/home/metauser/Desktop/Set_Mouse_Scrolling_Speed.desktop]
row=3
col=0
[Trash]
row=0
col=0
[/]
row=1
col=0
[/home/metauser]
row=2
col=0
WebBrowser=firefox
TerminalEmulator=xfce4-terminal