Skip to content
#!/bin/sh
'feh' '--bg-fill' '/usr/share/images/fluxbox/background.jpg'
[app] (name=fbrun)
[Position] (WINCENTER) {0 0}
[Layer] {2}
[end]
session.screen0.tabs.usePixmap: true
session.screen0.tabs.maxOver: false
session.screen0.tabs.intitlebar: true
session.screen0.clientMenu.usePixmap: true
session.screen0.iconbar.usePixmap: true
session.screen0.iconbar.iconTextPadding: 10
session.screen0.iconbar.iconWidth: 128
session.screen0.iconbar.alignment: Relative
session.screen0.iconbar.mode: {static groups} (workspace)
session.screen0.toolbar.visible: true
session.screen0.toolbar.height: 0
session.screen0.toolbar.onhead: 1
session.screen0.toolbar.widthPercent: 100
session.screen0.toolbar.alpha: 255
session.screen0.toolbar.maxOver: false
session.screen0.toolbar.autoHide: false
session.screen0.toolbar.layer: Dock
session.screen0.toolbar.placement: BottomCenter
#session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, clock, prevwindow, nextwindow, iconbar, systemtray
session.screen0.toolbar.tools: iconbar, systemtray
session.screen0.menu.alpha: 255
session.screen0.tab.placement: TopLeft
session.screen0.tab.width: 64
session.screen0.titlebar.left: Stick
session.screen0.titlebar.right: Minimize Maximize Close
session.screen0.window.focus.alpha: 255
session.screen0.window.unfocus.alpha: 255
session.screen0.slit.alpha: 255
session.screen0.slit.maxOver: false
session.screen0.slit.placement: RightBottom
session.screen0.slit.autoHide: false
session.screen0.slit.acceptKdeDockapps: true
session.screen0.slit.onhead: 0
session.screen0.slit.layer: Dock
session.screen0.colPlacementDirection: TopToBottom
session.screen0.tabFocusModel: ClickToTabFocus
session.screen0.autoRaise: true
session.screen0.maxDisableMove: false
session.screen0.edgeSnapThreshold: 10
session.screen0.tooltipDelay: 500
session.screen0.opaqueMove: true
session.screen0.windowPlacement: RowMinOverlapPlacement
session.screen0.focusNewWindows: true
session.screen0.clickRaises: true
session.screen0.maxDisableResize: false
session.screen0.windowMenu: /home/metauser/.fluxbox/windowmenu
session.screen0.allowRemoteActions: false
session.screen0.strftimeFormat: %d %b, %a %02k:%M:%S
session.screen0.focusSameHead: false
session.screen0.workspacewarping: true
session.screen0.fullMaximization: false
session.screen0.defaultDeco: NORMAL
session.screen0.noFocusWhileTypingDelay: 0
session.screen0.menuDelay: 200
session.screen0.workspaceNames: Workspace 1,Workspace 2,Workspace 3,Workspace 4,
session.screen0.rowPlacementDirection: LeftToRight
session.screen0.focusModel: ClickFocus
session.screen0.showwindowposition: false
session.screen0.maxIgnoreIncrement: true
session.screen0.workspaces: 1
session.styleOverlay: /home/metauser/.fluxbox/overlay
session.keyFile: ~/.fluxbox/keys
session.cacheMax: 200
session.tabsAttachArea: Window
session.slitlistFile: /home/metauser/.fluxbox/slitlist
session.forcePseudoTransparency: false
session.tabPadding: 0
session.colorsPerChannel: 4
session.styleFile: /usr/share/fluxbox/styles//ubuntu-light
session.autoRaiseDelay: 250
session.cacheLife: 5
session.appsFile: /home/metauser/.fluxbox/apps
session.ignoreBorder: false
session.configVersion: 13
session.doubleClickInterval: 250
session.menuFile: ~/.fluxbox/menu
# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace
# scroll on the toolbar to change current window
OnToolbar Mouse4 :PrevWindow {static groups} (iconhidden=no)
OnToolbar Mouse5 :NextWindow {static groups} (iconhidden=no)
# alt + left/right click to move/resize a window
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindowBorder Move1 :StartMoving
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
OnLeftGrip Move1 :StartResizing bottomleft
OnRightGrip Move1 :StartResizing bottomright
# alt + middle click to lower the window
OnWindow Mod1 Mouse2 :Lower
# control-click a window's titlebar and drag to attach windows
OnTitlebar Control Mouse1 :StartTabbing
# double click on the titlebar to shade
OnTitlebar Double Mouse1 :Shade
# left click on the titlebar to move the window
OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
OnTitlebar Move1 :StartMoving
# middle click on the titlebar to lower
OnTitlebar Mouse2 :Lower
# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu
# alt-tab
Mod1 Tab :NextWindow {groups} (workspace=[current])
Mod1 Shift Tab :PrevWindow {groups} (workspace=[current])
# cycle through tabs in the current window
Mod4 Tab :NextTab
Mod4 Shift Tab :PrevTab
# go to a specific tab in the current window
Mod4 1 :Tab 1
Mod4 2 :Tab 2
Mod4 3 :Tab 3
Mod4 4 :Tab 4
Mod4 5 :Tab 5
Mod4 6 :Tab 6
Mod4 7 :Tab 7
Mod4 8 :Tab 8
Mod4 9 :Tab 9
# open a terminal
Mod1 F1 :Exec x-terminal-emulator
# open a dialog to run programs
Mod1 F2 :Exec fbrun
# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
176 :Exec amixer sset Master,0 1+
174 :Exec amixer sset Master,0 1-
160 :Exec amixer sset Master,0 toggle
# current window commands
Mod1 F4 :Close
Mod1 F5 :Kill
Mod1 F9 :Minimize
Mod1 F10 :Maximize
Mod1 F11 :Fullscreen
# open the window menu
Mod1 space :WindowMenu
# exit fluxbox
Control Mod1 Delete :Exit
# change to previous/next workspace
Control Mod1 Left :PrevWorkspace
Control Mod1 Right :NextWorkspace
# send the current window to previous/next workspace
Mod4 Left :SendToPrevWorkspace
Mod4 Right :SendToNextWorkspace
# send the current window and follow it to previous/next workspace
Control Mod4 Left :TakeToPrevWorkspace
Control Mod4 Right :TakeToNextWorkspace
# change to a specific workspace
Control F1 :Workspace 1
Control F2 :Workspace 2
Control F3 :Workspace 3
Control F4 :Workspace 4
Control F5 :Workspace 5
Control F6 :Workspace 6
Control F7 :Workspace 7
Control F8 :Workspace 8
Control F9 :Workspace 9
Control F10 :Workspace 10
Control F11 :Workspace 11
Control F12 :Workspace 12
# send the current window to a specific workspace
Mod4 F1 :SendToWorkspace 1
Mod4 F2 :SendToWorkspace 2
Mod4 F3 :SendToWorkspace 3
Mod4 F4 :SendToWorkspace 4
Mod4 F5 :SendToWorkspace 5
Mod4 F6 :SendToWorkspace 6
Mod4 F7 :SendToWorkspace 7
Mod4 F8 :SendToWorkspace 8
Mod4 F9 :SendToWorkspace 9
Mod4 F10 :SendToWorkspace 10
Mod4 F11 :SendToWorkspace 11
Mod4 F12 :SendToWorkspace 12
# send the current window and change to a specific workspace
Control Mod4 F1 :TakeToWorkspace 1
Control Mod4 F2 :TakeToWorkspace 2
Control Mod4 F3 :TakeToWorkspace 3
Control Mod4 F4 :TakeToWorkspace 4
Control Mod4 F5 :TakeToWorkspace 5
Control Mod4 F6 :TakeToWorkspace 6
Control Mod4 F7 :TakeToWorkspace 7
Control Mod4 F8 :TakeToWorkspace 8
Control Mod4 F9 :TakeToWorkspace 9
Control Mod4 F10 :TakeToWorkspace 10
Control Mod4 F11 :TakeToWorkspace 11
Control Mod4 F12 :TakeToWorkspace 12
$aspect $full|/usr/share/images/fluxbox/background.jpg|style|:0.0
[begin] (fluxbox)
[include] (/etc/X11/fluxbox/fluxbox-menu)
[end]
! The following line will prevent styles from setting the background.
! background: none
background: aspect
background.pixmap: /usr/share/images/fluxbox/background.jpg
[begin]
[shade]
[stick]
[maximize]
[iconify]
[raise]
[lower]
[settitledialog]
[sendto]
[layer]
[alpha]
[extramenus]
[separator]
[close]
[end]
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
## Supported server options to pass to vncserver upon invocation can be listed
## in this file. See the following manpages for more: vncserver(1) Xvnc(1).
## Several common ones are shown below. Uncomment and modify to your liking.
##
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
# geometry=2000x1200
# localhost
# alwaysshared
Warning: could not find self.pem
Using local websockify at /usr/lib/noVNC/utils/websockify/run
Starting webserver and WebSockets proxy on port 8590
/usr/lib/noVNC/utils/websockify/websockify/websocket.py:30: UserWarning: no 'numpy' module, HyBi protocol will be slower
warnings.warn("no 'numpy' module, HyBi protocol will be slower")
WebSocket server settings:
- Listen on :8590
- Web server. Web root: /usr/lib/noVNC
- No SSL/TLS support (no cert file)
- proxying from :8590 to localhost:5900
172.17.0.1 - - [14/May/2020 15:23:37] 172.17.0.1: Plain non-SSL (ws://) WebSocket connection
172.17.0.1 - - [14/May/2020 15:23:37] 172.17.0.1: Path: '/websockify'
172.17.0.1 - - [14/May/2020 15:23:37] connecting to: localhost:5900
172.17.0.1: ignoring socket not ready
172.17.0.1: ignoring socket not ready
Warning: could not find self.pem
Using local websockify at /usr/lib/noVNC/utils/websockify/run
Starting webserver and WebSockets proxy on port 8590
/usr/lib/noVNC/utils/websockify/websockify/websocket.py:30: UserWarning: no 'numpy' module, HyBi protocol will be slower
warnings.warn("no 'numpy' module, HyBi protocol will be slower")
WebSocket server settings:
- Listen on :8590
- Web server. Web root: /usr/lib/noVNC
- No SSL/TLS support (no cert file)
- proxying from :8590 to localhost:5900
172.17.0.1: ignoring socket not ready
172.17.0.1 - - [14/May/2020 15:24:09] 172.17.0.1: Plain non-SSL (ws://) WebSocket connection
172.17.0.1 - - [14/May/2020 15:24:09] 172.17.0.1: Path: '/websockify'
172.17.0.1 - - [14/May/2020 15:24:09] connecting to: localhost:5900
172.17.0.1: ignoring socket not ready
172.17.0.1: ignoring socket not ready
2020-05-14 15:23:25,726 INFO Included extra file "/etc/supervisor/conf.d/supervisord_novnc.conf" during parsing
2020-05-14 15:23:25,727 INFO Included extra file "/etc/supervisor/conf.d/supervisord_vnc.conf" during parsing
2020-05-14 15:23:25,743 INFO RPC interface 'supervisor' initialized
2020-05-14 15:23:25,744 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-05-14 15:23:25,748 INFO supervisord started with pid 1
2020-05-14 15:23:26,758 INFO spawned: 'novnc' with pid 18
2020-05-14 15:23:26,768 INFO spawned: 'vnc' with pid 19
2020-05-14 15:23:29,884 INFO reaped unknown pid 44
2020-05-14 15:23:36,915 INFO success: novnc entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)
2020-05-14 15:23:36,917 INFO success: vnc entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)
2020-05-14 15:23:53,706 WARN received SIGINT indicating exit request
2020-05-14 15:23:53,712 INFO waiting for novnc, vnc to die
2020-05-14 15:23:54,721 INFO stopped: vnc (terminated by SIGTERM)
2020-05-14 15:23:54,723 INFO stopped: novnc (terminated by SIGTERM)
2020-05-14 15:23:57,760 INFO Included extra file "/etc/supervisor/conf.d/supervisord_novnc.conf" during parsing
2020-05-14 15:23:57,761 INFO Included extra file "/etc/supervisor/conf.d/supervisord_vnc.conf" during parsing
2020-05-14 15:23:57,776 INFO RPC interface 'supervisor' initialized
2020-05-14 15:23:57,777 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-05-14 15:23:57,783 INFO supervisord started with pid 1
2020-05-14 15:23:58,799 INFO spawned: 'novnc' with pid 11
2020-05-14 15:23:58,808 INFO spawned: 'vnc' with pid 12
2020-05-14 15:24:01,917 INFO reaped unknown pid 37
2020-05-14 15:24:09,051 INFO success: novnc entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)
2020-05-14 15:24:09,057 INFO success: vnc entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)
2020-05-14 15:24:17,133 WARN received SIGINT indicating exit request
2020-05-14 15:24:17,136 INFO waiting for novnc, vnc to die
2020-05-14 15:24:18,140 INFO stopped: vnc (terminated by SIGTERM)
2020-05-14 15:24:18,145 INFO stopped: novnc (terminated by SIGTERM)
xauth: file /home/metauser/.Xauthority does not exist
New '8424db806320:0 ()' desktop is 8424db806320:0
Creating default config /home/metauser/.vnc/config
Starting applications specified in /opt/tigervnc/xstartup
Log file is /home/metauser/.vnc/8424db806320:0.log
New 'f4fd1f7a7af8:0 ()' desktop is f4fd1f7a7af8:0
Starting applications specified in /opt/tigervnc/xstartup
Log file is /home/metauser/.vnc/f4fd1f7a7af8:0.log
#!/bin/bash
docker tag minimalmetadesktop sarusso/minimalmetadesktop
dind push sarusso/minimalmetadesktop
#!/bin/bash
docker run -v$PWD/:/data -p8590:8590 -eBASE_PORT=8590 -eAUTH_PASS=testpass -it x11web
......@@ -14,7 +14,7 @@ RUN chmod 777 /home
USER metauser
# Set container name
ENV CONTAINER_NAME='XCalc'
ENV CONTAINER_NAME='xcalc'
......@@ -44,9 +44,9 @@ RUN mv /home/metauser /metauser_home_vanilla
ENV CONTAINER_NAME='base'
# Entrypoint
COPY files/base_entrypoint.sh /
RUN chmod 755 /base_entrypoint.sh
ENTRYPOINT ["/base_entrypoint.sh"]
COPY files/base_entrypoint.sh /usr/bin/base_entrypoint.sh
RUN chmod 755 /usr/bin/base_entrypoint.sh
ENTRYPOINT ["/usr/bin/base_entrypoint.sh"]
ENV DEFAULT_ENTRYPOINT_COMMAND="/bin/bash"
# Allow to move the /home_vanilla folder in /home
......