This Dockerfile configures a container to run a VNC server with a customized resolution, scaling, and user account.
npm run import -- "VNC in Docker"
RUN dos2unix /home/seluser/novnc/utils/launch.sh
RUN sed -i -e 's/export GEOMETRY.*/export GEOMETRY="8160x6120x24"/g' /opt/bin/start-xvfb.sh
RUN sed -i -e 's/x11vnc/x11vnc -scale 4080x3060 -noxdamage/g' /opt/bin/start-vnc.sh
RUN sed -i '/wait \$/i/home/seluser/novnc/utils/launch.sh --vnc localhost:5900 &' /opt/bin/entry_point.sh
USER seluser
bash
#!/bin/bash
# Remove Windows line endings from launch.sh using dos2unix
RUN dos2unix /home/seluser/novnc/utils/launch.sh
# Refactor start-xvfb.sh to update geometry
sed -i -e's/export GEOMETRY.*/export GEOMETRY="8160x6120x24"/g' /opt/bin/start-xvfb.sh
# Refactor start-vnc.sh to update scale and disable xdamage
sed -i -e's/x11vnc/x11vnc -scale 4080x3060 -noxdamage/g' /opt/bin/start-vnc.sh
# Refactor entry_point.sh to wait for launch.sh to finish
sed -i '/wait \$/i/home/seluser/novnc/utils/launch.sh --vnc localhost:5900 &' /opt/bin/entry_point.sh
# Set current user to seluser
USER seluser
This code snippet appears to be part of a Dockerfile, used to configure a Docker image for running a VNC server with a specific resolution and some customizations.
Here's a breakdown:
RUN dos2unix /home/seluser/novnc/utils/launch.sh
:
launch.sh
script to Unix-style line endings. This is necessary to ensure the script runs correctly on Linux systems.RUN sed -i -e 's/export GEOMETRY.*/export GEOMETRY="8160x6120x24"/g' /opt/bin/start-xvfb.sh
:
sed
command to modify the start-xvfb.sh
script.export GEOMETRY
line with export GEOMETRY="8160x6120x24"
. This sets the resolution of the virtual framebuffer to 8160x6120 pixels with 24-bit color depth.RUN sed -i -e 's/x11vnc/x11vnc -scale 4080x3060 -noxdamage/g' /opt/bin/start-vnc.sh
:
start-vnc.sh
script.x11vnc
with x11vnc -scale 4080x3060 -noxdamage
.noxdamage
option, which can improve performance.RUN sed -i '/wait \$/i/home/seluser/novnc/utils/launch.sh --vnc localhost:5900 &' /opt/bin/entry_point.sh
:
entry_point.sh
script.launch.sh
script with the --vnc localhost:5900
argument, which starts the VNC server on port 5900.&
at the end runs the command in the background.USER seluser
:
seluser
within the Docker container.In essence, this Dockerfile configures a container to run a VNC server with a specific resolution, scales the display, and sets up a user account for accessing the server.