Giter VIP home page Giter VIP logo

docker-baseimage-gui's People

Contributors

jlesage avatar thomashilzendegen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-baseimage-gui's Issues

fail to rebuild base image from Dockerfiles

Hi,
I'm trying to rebuild a base image from Dockerfile.debian
It fails because of unknown commands: add-pkg, del-pkg, sed-patch and install-icon...
same for Dockerfile.alpine.

I must have missed something...
Thans for your comments

JS errors when pasting a lot of data using the clipboard

When using the clipboard and submitting a lot of data, a loop of JavaScript errors happen.

From a user perspective, the clipboard submit does't work and the interface doesn't seem to be responsive. A refresh of the page is needed.

Prevent minimize for very customized non-standard UIs

I´m currently trying to base a JRiver Media Center 25 container off your image. It´s already kind of working, but when you click minimize you have no way to get it back, other than restarting the container.

If you´re interested I have made the repo public on my gitlab right now https://gitlab.shio.at/max/jrivermc25-docker

Would be glad for any suggestions on how to achieve this, or wether or not you had to deal with this before. It works fine with guis that use standard window decorations. They go away. But for this one it neigher will go fullscreen on start, nor will it remove the mimize actions.

I don´t really expect any help necessarily. But if you already know, I´d appreaciate it nevetheless. Otherwise, I´ll keep digging this weekend (or after) and report back if I happened to solve it eventually.

Changing port from Environment Variables

As other tools from jlesage, it should be great to change the port from the Environment Variables.
I am using Docker inside of Synology DSM and is hard to do some configuration unless are exposed as variables.
I am using more applications from jlesage and I can't use them at the same time due to having the same port 5800 (like jdownloader) unless mapping ports, which I would like to avoid (although I know is possible).

docker image tags

Hi,
So far I've been using the docker tags "jlesage/baseimage-gui:alpine-3.10" without the version number on the end, but with the new alpine-3.11 the available tags all have "v" "number" at the end. Just asking if that's your new standard going forward? No problem if so, I can update all my dockerfiles to comply with the new tags.
thanks

Can't make the container to use NVIDIA GPU

Hi,

I have been trying to use this amazing container to run GPU applications. So far I have not ben able to do so.
I created a new container (I addedd the recipies that creates this container https://gitlab.com/nvidia/samples/blob/master/opengl/ubuntu16.04/turbovnc-virtualgl/Dockerfile )
I have tried everything, and even when I am able to run virtualgl with no problem and that the NVIDIA drivers ar eproperly configured (you can run nvidia-smi inside the container) the container doesn't use the GPU.
I reviewed your code and tried to make sense of it but I can't find the missing link. Have you run any application GPU capable with this recipie?
It would be really nice to have something like that .

Provide mechanism for custom fonts on startup.

It would be great to enable the use of loading custom fonts when the image is stared. My thought is something like this:

  • Load font files in a unique namespace in the config mountpoint: /config/baseimage/fonts
  • Setup an environment variable that will trigger loading if enabled, e.g. ENABLE_CUSTOM_FONTS=1
  • On container start, the startup script checks the environment variable, and runs a font cache update: fc-cache -f -v -y /config/baseimage/fonts

This would enable end user custom fonts to be install simply by placing them in the correct location, ensuring it is enabled and restarting the docker container.

Update images to Alpine 3.10

Hi!! First of all thank you for this awesome image. I use it for various applications and it would be awesome if you can update it to Alpine 3.10 :)

Thank you!

Rebuilding Baseimage: no encryption library could be found

I´m trying to rebuild the baseimage for debian9 (arm) and debian10 (amd64 & arm) also did debian9 amd64 now. SSL does not work for VNC. I´m getting this error somewhere in the logs

==========================================================================
*** No encryption library could be found. ***
A libvncserver/libvncclient built this way will not support SSL encryption.
To enable SSL install the necessary development packages (perhaps it is named
something like libssl-dev or gnutls-dev) and run configure again.
==========================================================================

The test for it is also failing


Checking availability of VNC SSL port 5900...
   (in test file tests/test_secure_port_availability.bats, line 33)
     `(( TIMEOUT > 0 ))' failed
   Starting docker container...
   Stopping docker container...
   1fc896a668cd3a6b6b03e701372aa876debf76b19a417e622c2b64a36099e7d7
   Removing docker container...
   1fc896a668cd3a6b6b03e701372aa876debf76b19a417e622c2b64a36099e7d7

Are you getting the same error, or am I doing something wrong?

Unable to build MTPlayer docker container

Hello,

I'm using your JDownloader docker container a while and I'm happy. Now I tried to implement my own container based on your baseimage to run MTPlayer, Java-File.

The dockerfile loads jlesage/baseimage-gui:alpine-3.9-glibc-v3.5.2, install openjdk11, download MTPlayer and try to start MTPlayer:

`
FROM jlesage/baseimage-gui:alpine-3.9-glibc-v3.5.2

ARG DOCKER_IMAGE_VERSION=unknown

ARG MTPLAYER_URL=https://www.p2tools.de/extra/download/MTPlayer-9.zip

WORKDIR /tmp

RUN \
    add-pkg --virtual build-dependencies curl p7zip && \
    curl -# -L -o MTPlayer-9.zip ${MTPLAYER_URL} && \
    7za x MTPlayer-9.zip && \
    del-pkg build-dependencies

RUN \
    apk --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
    
COPY rootfs/ /

WORKDIR /tmp/MTPlayer

ENV APP_NAME="MTPlayer" \
    S6_KILL_GRACETIME=8000

VOLUME ["/config"]
VOLUME ["/output"]`

I know there is a lot of optimization (e.g. volumes), but I tried first to run the app and after I will make it nice.

In rootfs there is a file called startapp.sh with the following lines:

#!/bin/sh
java -Djava.awt.headless=false -jar ./MTPlayer.jar "$@"

I build the image with docker build -t mtplayer . and the build-process-output looks fine. When I try to start the container with

docker run -it -p 5800:5800 mtplayer

I get the following error:

[12:59:59] INFO:         Proxy Authentication: not configured
Exception in thread "main" java.lang.UnsupportedOperationException: Unable to open DISPLAY
        at com.sun.glass.ui.gtk.GtkApplication.lambda$new$6(GtkApplication.java:173)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at com.sun.glass.ui.gtk.GtkApplication.<init>(GtkApplication.java:171)
        at com.sun.glass.ui.gtk.GtkPlatformFactory.createApplication(GtkPlatformFactory.java:41)
        at com.sun.glass.ui.Application.run(Application.java:144)
        at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:258)
        at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:269)
        at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
        at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
        at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
        at java.base/java.lang.Thread.run(Thread.java:834)

Any idea how I can solve this please?

Carsten

[enhancment][help wanted] Use with VSCode Dev Container

I'm trying to use this brilliant image with VSCode Dev Container and I fail miserably. Seems to be some issue with the VSCode sleep command to keep workspace open and the startapp.sh functionality. As a workaround I have been trying to let this image sleep and wait for connection to x server over tcp by adding '-listen tcp -ac' to the Xvfb startup, and have my program connect from another container. However getting this working seems to be above my level of understanding :( Any ideas?

Enable dark mode for apps

Enable dark mode of linux in order to get the QT dark mode, and apps like mkvcleaver, mkvtoolnix, handbrake could trigger automatically dark mode.

running java application does not work

Hey, I'm trying to run Nitro Explorer 3 inside this container. The container always exits immediately throwing the error:

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
        no swt-gtk-4335 in java.library.path
        no swt-gtk in java.library.path
        Can't load library: /dev/null/libswt-gtk-4335-64.so
        Can't load library: /dev/null/libswt-gtk-64.so

        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
        at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
        at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
        at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
        at gui.MainWindow.open(MainWindow.java:65)
        at gui.MainWindow.main(MainWindow.java:55)
        ... 5 more

I have tried alpine, debian and ubuntu, i always get this message.

My basic approach is this:
Inside the Dockerfile

  1. I copy the .jar file to the /opt/nitro/ directory
  2. Install java
  3. Copy startapp.sh to /

Inside the startapp.sh:
/usr/bin/java -jar /opt/nitro/myapp.jar

A lot of hours have gone into this and I don't know what I could possibly do to make this work.
If you could assist me, that would be awesome.

Thanks!

/dev/null access

Trying to run an app using jlesage/baseimage-gui:debian-10. Its trying to write to /dev/null. It doesn't seem to be able to create a temporary file. Any suggestions. I tried running the container under privileged mode that doesn't seem to help.

x86 Version

Hi,
I need to run WinScp on the container using wine. as for now WinScp is x86 based and can't be running
with .x64 wine.
Cheers

Update Documentation to Specify Remote Presence Port Requirement

The documentation specifies the ports you can use to access the web interface and the VNC server for the container, but I do not see anything that references the Remote Presence Port is that the container uses when it connects to connect to iDRAC 6.

You can see this value when you log into the iDRAC admin console and navigate to System -> Console/Media -> Configuration.

I changed the Remote Presence Port on my iDRAC6 controller in my Dell R410 Server to port 4900. I forget why I did it - it was a long time ago. The default value is 5900 per Dell's documentation.

Since the Remote Presence Port value is not exposed in your Docker container, when you try to connect via the container, the connection fails.

I changed the Remote Presence Port in iDRAC6 from 4900 back to the default 5900, and I was able to connect using the Docker container!!! This is AWESOME!

Great job! Please update the docs to reflect this as it's pretty important.

Running multiple containers access via vnc is not possible

Thank you for your good and easy to customize base image with a nice gui
I use your base image and customized it with running custom code now i have following problem
when i run more then 1 replicas on my vm in swarm mode
i can just access the latest created replica via http://hostdns:5800

i cannot use a port range in my docker compose file as its not allowed in swarm mode
currently my stack looks like that
version: '3' services: worker: image: vnc-docker:1.0 shm_size: 2g privileged: true volumes: - /home/username/firefox:/config:rw ports: - 5800:5800 deploy: mode: replicated replicas: 1 update_config: parallelism: 1 delay: 10s restart_policy: condition: any

i tried different things out, like creating a custom network and use it

something like
ports: - 5800-5900:5800
does not work
i just found out now that there is something like mcvlan, but i just couldn't figure out how to create a macvlan network and use it in my compose?

enable clipboard

Is there a way to enable clipboard at the image? I want to paste into the application and copy from the application running in the container

CJK_FONT not installing on Debian10 images

On Debian this script fails https://raw.githubusercontent.com/jlesage/docker-baseimage-gui/master/rootfs/etc/cont-init.d/10-cjk-font.sh with the following error

[cont-init.d] 10-cjk-font.sh: executing...
[cont-init.d] 10-cjk-font.sh: installing CJK font...
[cont-init.d] 10-cjk-font.sh: Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
[cont-init.d] 10-cjk-font.sh: Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
[cont-init.d] 10-cjk-font.sh: Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
[cont-init.d] 10-cjk-font.sh: Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [267 kB]
[cont-init.d] 10-cjk-font.sh: Get:5 http://dist.jriver.com/latest/mediacenter buster InRelease [3612 B]
[cont-init.d] 10-cjk-font.sh: Get:6 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
[cont-init.d] 10-cjk-font.sh: Get:7 http://deb.nodesource.com/node_12.x buster InRelease [4584 B]
[cont-init.d] 10-cjk-font.sh: Get:8 http://dist.jriver.com/latest/mediacenter buster/main armhf Packages [683 B]
[cont-init.d] 10-cjk-font.sh: Get:9 http://dist.jriver.com/latest/mediacenter buster/main i386 Packages [707 B]
[cont-init.d] 10-cjk-font.sh: Get:10 http://dist.jriver.com/latest/mediacenter buster/main amd64 Packages [677 B]
[cont-init.d] 10-cjk-font.sh: Get:11 http://dist.jriver.com/latest/mediacenter buster/main arm64 Packages [644 B]
[cont-init.d] 10-cjk-font.sh: Get:12 http://deb.debian.org/debian buster-updates/main amd64 Packages [9504 B]
[cont-init.d] 10-cjk-font.sh: Get:13 http://deb.nodesource.com/node_12.x buster/main amd64 Packages [767 B]
[cont-init.d] 10-cjk-font.sh: Fetched 8434 kB in 2s (4919 kB/s)
[cont-init.d] 10-cjk-font.sh: Reading package lists...
[cont-init.d] 10-cjk-font.sh: Reading package lists...
[cont-init.d] 10-cjk-font.sh: Building dependency tree...
[cont-init.d] 10-cjk-font.sh: Reading state information...
[cont-init.d] 10-cjk-font.sh: The following NEW packages will be installed:
[cont-init.d] 10-cjk-font.sh:   fonts-wqy-zenhei
[cont-init.d] 10-cjk-font.sh: 0 upgraded, 1 newly installed, 0 to remove and 40 not upgraded.
[cont-init.d] 10-cjk-font.sh: Need to get 7472 kB of archives.
[cont-init.d] 10-cjk-font.sh: After this operation, 16.8 MB of additional disk space will be used.
[cont-init.d] 10-cjk-font.sh: Get:1 http://deb.debian.org/debian buster/main amd64 fonts-wqy-zenhei all 0.9.45-7 [7472 kB]
[cont-init.d] 10-cjk-font.sh: debconf: delaying package configuration, since apt-utils is not installed
[cont-init.d] 10-cjk-font.sh: Fetched 7472 kB in 1s (11.1 MB/s)
[cont-init.d] 10-cjk-font.sh: dpkg: unrecoverable fatal error, aborting:
[cont-init.d] 10-cjk-font.sh:  unknown system group 'messagebus' in statoverride file; the system group got removed
[cont-init.d] 10-cjk-font.sh: before the override, which is most probably a packaging bug, to recover you
[cont-init.d] 10-cjk-font.sh: can remove the override manually with dpkg-statoverride
[cont-init.d] 10-cjk-font.sh: E: Sub-process /usr/bin/dpkg returned an error code (2)
[cont-init.d] 10-cjk-font.sh: exited 0.

Removing this line root messagebus 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper in /var/lib/dpkg/statoverride fixes this.

Modified 10-cjk-font.sh

#!/usr/bin/with-contenv sh

set -e # Exit immediately if a command exits with a non-zero status.
set -u # Treat unset variables as an error.

log() {
    echo "[cont-init.d] $(basename $0): $*"
}

if [ "${ENABLE_CJK_FONT:-0}" -eq 1 ]; then
    if fc-list | grep -q "WenQuanYi Zen Hei"; then
        log "CJK font already installed."
    else
        log "installing CJK font..."
        if [ -n "$(which apk)" ]; then
            add-pkg wqy-zenhei --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing 2>&1 | sed "s/^/[cont-init.d] $(basename $0): /"
        else
            sed -i /messagebus/d /var/lib/dpkg/statoverride
            add-pkg fonts-wqy-zenhei 2>&1 | sed "s/^/[cont-init.d] $(basename $0): /"
        fi
    fi
fi

# vim: set ft=sh :

ARM64 Build

Hello,

is there any plan to create ARM64v8 images of this project?.

They are only amd64 as far as I've seen and it would be useful for all of us having Raspberry Pi 4 (or clusters of it).

Thank you!

QXcbConnection: Could not connect to display :0

Trying to create a Calibre docker based on this image, keep getting this error:
QXcbConnection: Could not connect to display :0

Dockerfile:

FROM jlesage/baseimage-gui:ubuntu-16.04

RUN apt-get update && \
apt-get install -y  python wget xz-utils xdg-utils locales

RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin

ENV LANG=en_US.UTF-8
RUN locale-gen en_US.UTF-8

# Copy the start script.
COPY startapp.sh /startapp.sh

# Set the name of the application.
ENV APP_NAME="Calibre"

startapp just contains a call to start calibre from /opt/calibre/ . Any insight appreciated.

Container immediately exits

Hey, I want to run a wine application with this docker image. But when i start the container, it exits immediately.

This is my Dockerfile:

FROM jlesage/baseimage-gui:debian-9
RUN \
        dpkg --add-architecture i386 && \
        apt update && \
        apt install -y  \
                        mono-complete \
                        wget \
                        wine 
                        
COPY startapp.sh /startapp.sh
COPY ./randomwindowsapp /app
ENV APP_NAME="Crystaltile2"

This is my startapp.sh:

#!/bin/sh
/usr/bin/wine /app/randomwindowsapp.exe

Do you know what im doing wrong here?
Thanks!

/dev/sr0 permissions

Hi,

I'm trying to correct an issue I've got using this image as a base for a piece of software called dvdisaster. I've managed to get all the build working but I'm struggling with the permissions to /dev/sr0. On the docker host my user with id 1000 is a member of the cdrom group which has rw on /dev/sr0 on my host but the app user inside the container isn't able to access sr0 from my host.

I have then docker exec'd into the container and done usermod -aG cdrom app and reloaded the app and it's then able to access /dev/sr0. I've tried adding the usermod to my Dockerfile but I think this user is made on container start.

Any tips?

Thanks,
b3vis

P.S I tried to look through your MakeMKV container to see how you've solved this on that image but was unable to see anything obvious

Favicons referenced using absolute paths

Favicons are referenced using absolute paths (i.e. /images/icons/...)

All other resources in /opt/novnc/index.vnc are referenced using relative paths (i.e. js/..., css/..., etc).

Referencing resources via absolute paths breaks the application when it is running behind a reverse proxy using path based routing (i.e. http://server/appname/ --> http://realserver/).

This issue is affecting the 'jlesage/docker-handbrake' project, but as the script that installs the favicons exists in this project (i.e. /usr/local/bin/install_app_icon.sh), I am filing the issue here.

The system shuts down right after the start

I am using Docker (Version 2.0.0.0-win81 (29211)) on Windows 10. Following exactly your example "Getting started" provided in README.md, I got the following log, mentioning "s6-applyuidgid: fatal: unable to exec /startapp.sh: No such file or directory":

C:\Users\Sofke\Desktop\dockerGui>docker build -t docker-xterm .
Sending build context to Docker daemon 5.12kB
Step 1/4 : FROM jlesage/baseimage-gui:alpine-3.6
---> 03c81ba1677f
Step 2/4 : RUN add-pkg xterm
---> Using cache
---> b8433a4f4a96
Step 3/4 : COPY startapp.sh /startapp.sh
---> 3ba17dfd408f
Step 4/4 : ENV APP_NAME="Xterm"
---> Running in c3d4798cc140
Removing intermediate container c3d4798cc140
---> 37268c153245
Successfully built 37268c153245
Successfully tagged docker-xterm:latest
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.

C:\Users\Sofke\Desktop\dockerGui>docker run --rm -p 5800:5800 -p 5900:5900 docker-xterm
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-app-niceness.sh: executing...
[cont-init.d] 00-app-niceness.sh: exited 0.
[cont-init.d] 00-app-script.sh: executing...
[cont-init.d] 00-app-script.sh: exited 0.
[cont-init.d] 00-app-user-map.sh: executing...
[cont-init.d] 00-app-user-map.sh: exited 0.
[cont-init.d] 00-clean-logmonitor-states.sh: executing...
[cont-init.d] 00-clean-logmonitor-states.sh: exited 0.
[cont-init.d] 00-clean-tmp-dir.sh: executing...
[cont-init.d] 00-clean-tmp-dir.sh: exited 0.
[cont-init.d] 00-set-app-deps.sh: executing...
[cont-init.d] 00-set-app-deps.sh: exited 0.
[cont-init.d] 00-set-home.sh: executing...
[cont-init.d] 00-set-home.sh: exited 0.
[cont-init.d] 00-take-config-ownership.sh: executing...
[cont-init.d] 00-take-config-ownership.sh: exited 0.
[cont-init.d] 00-xdg-runtime-dir.sh: executing...
[cont-init.d] 00-xdg-runtime-dir.sh: exited 0.
[cont-init.d] 10-certs.sh: executing...
[cont-init.d] 10-certs.sh: exited 0.
[cont-init.d] 10-cjk-font.sh: executing...
[cont-init.d] 10-cjk-font.sh: exited 0.
[cont-init.d] 10-nginx.sh: executing...
[cont-init.d] 10-nginx.sh: exited 0.
[cont-init.d] 10-vnc-password.sh: executing...
[cont-init.d] 10-vnc-password.sh: exited 0.
[cont-init.d] 10-web-index.sh: executing...
[cont-init.d] 10-web-index.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] starting s6-fdholderd...
[services.d] starting xvfb...
[xvfb] starting...
[services.d] starting openbox...
[openbox] starting...
Openbox-Message: Openbox was compiled without image loading support. Icons in menus will not be loaded.
[services.d] starting certsmonitor...
[services.d] starting logmonitor...
[services.d] starting nginx...
[logmonitor] no file to monitor: disabling service...
[certsmonitor] disabling service: secure connection not enabled.
[services.d] starting statusmonitor...
[nginx] starting...
[services.d] starting x11vnc...
[statusmonitor] no file to monitor: disabling service...
[x11vnc] starting...
[services.d] starting app...
14/12/2018 20:36:41 passing arg to libvncserver: -rfbport
14/12/2018 20:36:41 passing arg to libvncserver: 5900
14/12/2018 20:36:41 passing arg to libvncserver: -rfbportv6
14/12/2018 20:36:41 passing arg to libvncserver: -1
14/12/2018 20:36:41 passing arg to libvncserver: -httpportv6
14/12/2018 20:36:41 passing arg to libvncserver: -1
14/12/2018 20:36:41 passing arg to libvncserver: -desktop
14/12/2018 20:36:41 passing arg to libvncserver: Xterm
[app] starting Xterm...
14/12/2018 20:36:41 x11vnc version: 0.9.14 lastmod: 2015-11-14 pid: 749
s6-applyuidgid: fatal: unable to exec /startapp.sh: No such file or directory
14/12/2018 20:36:41 Using X display :0
14/12/2018 20:36:41 rootwin: 0x43 reswin: 0x400001 dpy: 0x35eea00
14/12/2018 20:36:41
14/12/2018 20:36:41 ------------------ USEFUL INFORMATION ------------------
[services.d] done.
14/12/2018 20:36:41 X DAMAGE available on display, using it for polling hints.
14/12/2018 20:36:41 To disable this behavior use: '-noxdamage'
14/12/2018 20:36:41
14/12/2018 20:36:41 Most compositing window managers like 'compiz' or 'beryl'
14/12/2018 20:36:41 cause X DAMAGE to fail, and so you may not see any screen
14/12/2018 20:36:41 updates via VNC. Either disable 'compiz' (recommended) or
14/12/2018 20:36:41 supply the x11vnc '-noxdamage' command line option.
14/12/2018 20:36:41 X COMPOSITE available on display, using it for window polling.
14/12/2018 20:36:41 To disable this behavior use: '-noxcomposite'
14/12/2018 20:36:41
14/12/2018 20:36:41 Wireframing: -wireframe mode is in effect for window moves.
14/12/2018 20:36:41 If this yields undesired behavior (poor response, painting
14/12/2018 20:36:41 errors, etc) it may be disabled:
14/12/2018 20:36:41 - use '-nowf' to disable wireframing completely.
14/12/2018 20:36:41 - use '-nowcr' to disable the Copy Rectangle after the
14/12/2018 20:36:41 moved window is released in the new position.
14/12/2018 20:36:41 Also see the -help entry for tuning parameters.
14/12/2018 20:36:41 You can press 3 Alt_L's (Left "Alt" key) in a row to
14/12/2018 20:36:41 repaint the screen, also see the -fixscreen option for
14/12/2018 20:36:41 periodic repaints.
14/12/2018 20:36:41 GrabServer control via XTEST.
14/12/2018 20:36:41
14/12/2018 20:36:41 Scroll Detection: -scrollcopyrect mode is in effect to
14/12/2018 20:36:41 use RECORD extension to try to detect scrolling windows
14/12/2018 20:36:41 (induced by either user keystroke or mouse input).
14/12/2018 20:36:41 If this yields undesired behavior (poor response, painting
14/12/2018 20:36:41 errors, etc) it may be disabled via: '-noscr'
14/12/2018 20:36:41 Also see the -help entry for tuning parameters.
14/12/2018 20:36:41 You can press 3 Alt_L's (Left "Alt" key) in a row to
14/12/2018 20:36:41 repaint the screen, also see the -fixscreen option for
14/12/2018 20:36:41 periodic repaints.
14/12/2018 20:36:41
14/12/2018 20:36:41 XKEYBOARD: number of keysyms per keycode 7 is greater
14/12/2018 20:36:41 than 4 and 51 keysyms are mapped above 4.
14/12/2018 20:36:41 Automatically switching to -xkb mode.
14/12/2018 20:36:41 If this makes the key mapping worse you can
14/12/2018 20:36:41 disable it with the "-noxkb" option.
14/12/2018 20:36:41 Also, remember "-remap DEAD" for accenting characters.
14/12/2018 20:36:41
14/12/2018 20:36:41 X FBPM extension not supported.
14/12/2018 20:36:41 X display is not capable of DPMS.
14/12/2018 20:36:41 --------------------------------------------------------
14/12/2018 20:36:41
14/12/2018 20:36:41 Default visual ID: 0x21
[services.d] stopping services
14/12/2018 20:36:41 Read initial data from X display into framebuffer.
14/12/2018 20:36:41 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120
14/12/2018 20:36:41
14/12/2018 20:36:41 X display :0 is 32bpp depth=24 true color
14/12/2018 20:36:41
14/12/2018 20:36:41 Listening for VNC connections on TCP port 5900
14/12/2018 20:36:41
14/12/2018 20:36:41 Xinerama is present and active (e.g. multi-head).
14/12/2018 20:36:41 Xinerama: number of sub-screens: 1
14/12/2018 20:36:41 Xinerama: no blackouts needed (only one sub-screen)
14/12/2018 20:36:41
14/12/2018 20:36:41 fb read rate: 1851 MB/sec
14/12/2018 20:36:41 fast read: reset -wait ms to: 10
14/12/2018 20:36:41 fast read: reset -defer ms to: 10
14/12/2018 20:36:41 The X server says there are 10 mouse buttons.
14/12/2018 20:36:41 screen setup finished.
14/12/2018 20:36:41

The VNC desktop is: 94c38ecbd105:0
PORT=5900


Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval. It should work with any VNC viewer. Try it by running:

x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

[services.d] stopping app...
[services.d] stopping x11vnc...
caught signal: 15
14/12/2018 20:36:41 deleted 40 tile_row polling images.
[services.d] stopping statusmonitor...
[services.d] stopping nginx...
[services.d] stopping logmonitor...
[services.d] stopping certsmonitor...
[services.d] stopping openbox...
[services.d] stopping xvfb...
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Add support for running with x11docker?

Hi! I've tried to run your example, replacing xterm with glxspeheres64 (the installed correctly from edge/testing repo of alpine) via x11docker.

Tested with a lot of different options but I got all the time this error:

/bin/sh: -c requires an argument

Do you have any idea why is this? Thanks.

archlinux dist

Hello and thank-you for your work.
What do you think about add archlinux to your list of distribututions?

Thanks

new environment variable for port number

The default port is set to 5800 for all your docker images and the default cannot be changed. For containers on my normal docker network this is fine since I can remap the ports in the compose file, but if I use a VPN docker network then all containers share the same network interface as the vpn client container.

For instance, the vpn client docker compose file would look something like this:
vpn_client:
image: dperson/openvpn-client
ports:
#ports for app containers' UI to be reachable from local network
#firefox
- "5801:5800"
#jdownloader
#- "5802:5800"
.... etc

and then your docker containers would have in their compose section:
network_mode: "service:vpn_client"

Since all your docker images share 5800 as the default port, I can't use more than one of them on my VPN docker network. Please add an environment variable to the base-image to change the default port number to allow cases like this.

Fails to rebuild baseimage-gui:ubuntu-16.0.4

I tried to build a baseimage-gui for ubuntu 14.04 to be able to use Ivideon with gui on my synology NAS.
(it does not work on ubuntu 16.04)

Not succeeding I went to try to rebuild the baseimage-gui:ubuntu-16.04-v3.3.5
I followed the full build process basimage ./build.sh ubuntu-16.04 then baseimage-gui idem

  • in baseimage build curl curl no URL (idem for basimage-gui) (docker version 17.0.5.0-ce)
    solved transforming ARG xxx_URL in ENV xxx_URL
  • bats not available (I don't know how to install it on Synoloy)
  • basimage-16.0.4 finally built. It seems working I tried to build the xterm exemple. It stopped because of no display, but seems to work correctly

Then build of baseimage-gui

  • I also had to to change a few ARG in ENV
  • I have a lot of build errors
    • a few of these
      "invoke-rc.d: policy-rc.d denied execution of start."
    • and of these
      "npm WARN enoent ENOENT: no such file or directory, open '/tmp/package.json'
      npm WARN tmp No description
      npm WARN tmp No repository field.
      npm WARN tmp No README data
      npm WARN tmp No license field."

At the end an image is build but when I use it (xterm exemple) it doesn't work (docker build OK) and docker run start and immediately stop with the following logs

docker logs xterm

ifelse: fatal: unable to exec /etc/s6/init-no-catchall/init-stage1: Permission denied
ifelse: fatal: unable to exec /etc/s6/init-no-catchall/init-stage1: Permission denied

Could you help me debbug.
What is different in your building process ?

Ubuntu focal

Hello! Thank you for your nice work!

Could you, please, extend it to ubuntu: focal? I tried to do it on my own, but I got confused.

GUI Dark background

Make the background of the GUI in dark mode (not talking about the apps inside, but just the white background in a black or dark grey background.)

Feature Request: Replace x11vnx and xvfb with TigerVNC to enable remote resize

It would be great to replace x11vnc and xvfb with TigerVNC. This would allow resizing of the remote desktop accordingly to resizing the browser window (perhaps best with disable option e.g. by setting the width and height explicitly).

I would like the help in the process if you want to.

Is there something that directly speaks against this idea? Perhaps you already tried and have good reasons not to use TigerVNC?

Best regards

Benedict

Problem with Qt application

Hi @jlesage !

I have a problem building my rclonebrowser image, the application only runs on first execution, and since the restart of the container, I only get a black screen. Did you notice problems with Qt applications? Thank you!

Environment variables not sticking after container launch

Hey @jlesage I am using your base image for a build of mine. Dockerfile below. Basically, it launches an instance of Thunderbird, which gives me the accessibility of webmail and the features of a desktop client. As Thunderbird profiles are launched from home directories, I mapped /config/app to a host directory containing the profile/settings. To test, I launched the container, with xterm as the startapp, set the home env with HOME=/config/app, and then proceeded to successfully launch thunderbird with thunderbird. With the test being successful, the last step is then to set the home directory for the user app (uid 1000) to /config/app within the dockerfile: ENV HOME="/config/app"

FROM jlesage/baseimage-gui:debian-10
RUN apt update && \
  apt upgrade -y && \
  apt install -y thunderbird

#Debugging purposes
Run apt install htop xterm -y
COPY startapp.sh /startapp.sh
ENV APP_NAME="Thunderbird"
ENV HOME="/cofig/app/"

However, upon logging into xterm as user app, HOME remains empty:
Screen Shot 2021-04-23 at 2 55 05 PM

Can you tell me how/why this ENV isn't sticking or is getting overwritten? Thanks!

PS Love your work. Keep it up!

Update VNC source

Hello,

Thanks for these great containers.
Is it possible that you can update
libvncserver
x11vnc
novnc

These were forked in 2017 and I am pretty sure there are many improvements till now. It would be great if you could upgrade these.

Full Desktop

Hi

Is there a way to run a full desktop , with this ?

Basically I have an app that calls a web browser for authentication purposes

Any help is appreciated

Thanks

Failed to work with gitkraken

Dockerfile:

FROM jlesage/baseimage-gui:debian-10

# Install gitkraken.
RUN apt update \
    && apt install -y wget \
    && wget https://release.gitkraken.com/linux/gitkraken-amd64.deb  -P /tmp \
    && apt remove -y wget \
    && apt install -y gconf2 gconf-service libgtk2.0-0 libnotify4 libnss3 gvfs-bin xdg-utils libxss1 libasound2 procps\
    && dpkg -i /tmp/gitkraken-amd64.deb \
    && rm -rf /var/cache/apt /tmp/gitkraken-amd64.deb

# Copy the start script.
COPY startapp.sh /startapp.sh

# Set the name of the application.
ENV APP_NAME="GitKraken"

startapp.sh

#!/bin/sh
exec /usr/bin/gitkraken

docker run --rm -p 5800:5800 -p 5900:5900 gitkraken
Result:

[services.d] starting statusmonitor...
[services.d] starting logmonitor...
[statusmonitor] no file to monitor: disabling service...
[services.d] starting app...
[logmonitor] no file to monitor: disabling service...
[app] starting GitKraken...
[services.d] done.
**Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted**
[services.d] stopping services
[services.d] stopping app...
[services.d] stopping logmonitor...
[services.d] stopping statusmonitor...
[services.d] stopping openbox...
[services.d] stopping certsmonitor...
[services.d] stopping nginx...
[services.d] stopping x11vnc...
caught signal: 15
20/08/2020 14:30:59 deleted 40 tile_row polling images.
[services.d] stopping xvfb...
[services.d] stopping s6-fdholderd...
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Any hint?

Enable toggling of direct VNC server access.

By default, both ports 5800 and 5900 are exposed in the container. It would be fantastic to be able to add the option toggle the following port exposures:

  • 5800 (VNC web GUI only)
  • 5900 (VNC server only)
  • 5800-5900 (both VNC web GUI, VNC server; current mode)

This would enable the selection of the preferred connection for an end user and minimize service exposure in the container.

IP 192.168.0.1 used by host?

I can run container fine and install & run chrome normally. But when I try to navigate to our LAN server (located in 192.168.0.1) connection is rejected. A NMAP scan from inside the the container shows dns is correctly result but that ip redirects to local instead of remote machine:

# nmap 192.168.0.1        

Starting Nmap 7.40 ( https://nmap.org ) at 2018-08-27 09:19 UTC
Nmap scan report for xxxxxxxxxx.xxxxxxxxx.local (192.168.0.1)
Host is up (0.000036s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
111/tcp  open  rpcbind
5800/tcp open  vnc-http
5900/tcp open  vnc

Which service is taking the 192.168.0.1 ip? Ifconfig doesn't show any device

# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 54140  bytes 42405776 (40.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 46411  bytes 13510655 (12.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 71085  bytes 13893319 (13.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 71085  bytes 13893319 (13.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Any chance of a version of this based off the ubuntu nvidia docker images?

It would be super useful for a image for this based against the nvidia docker images potentially to accelerate rendering if GPUs are available or as in my case in order to use CUDA to accelerate the program I am running.

This would potentially be extremely useful for people if they wanted to run things like Handbrake as it would enable accelerated transcoding using the nvidia runtime for docker.

At the moment I am tinkering with this to see if I can get it working, but you'd be a lot more familiar with your image!

Unable to access JRiver docker via web

I set up JRiver docker on a QNAP running QTS 4.4.3 vith a VNS set up for more security. If I use a web interface I get a JRiver screen but a red X at the top to the right of JRiver. When I look at the QNAP Container station it shows an app withthe directory/User I used for the config with JRiverMC26 under that when I expand it. When I look at the run informtion it appears to be taking a number of errors.

I'll send you the run info if you can tell me how to attach it. It's in a TBZ file type and it doesn't look like my PC will handle converting/expanding that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.