Skip to content

accetto/ubuntu-vnc-xfce

Repository files navigation

Headless Ubuntu/Xfce container with VNC/noVNC

accetto/ubuntu-vnc-xfce

Docker Hub - Git Hub - Changelog - Wiki

badge-docker-pulls badge-docker-stars badge-github-release badge-github-release-date badge-github-stars badge-github-forks badge-github-open-issues badge-github-closed-issues badge-github-releases badge-github-commits badge-github-last-commit



Introduction

This repository contains resources for building Docker images based on Ubuntu 18.04 LTS with Xfce desktop environment and VNC/noVNC servers for headless use.

The images can be successfully built and used on Linux, Windows, Mac and NAS devices. It has been tested with Docker Desktop on Ubuntu flavours, Windows 10 and Container Station from QNAP.

Image generations

This is the first generation (G1) of my headless images, that I've retired back in March 2022. However, because I've noticed that the images are still pulled, I've revived the project in November 2022.

If you want newer images based on Ubuntu 20.04 LTS with the latest TigerVNC/noVNC versions, please check the third generation (G3) accetto/ubuntu-vnc-xfce-g3, accetto/ubuntu-vnc-xfce-chromium-g3 or accetto/ubuntu-vnc-xfce-firefox-g3.

Unless you need the nss_wrapper, you can also use the second generation (G2) images accetto/xubuntu-vnc-novnc, that are streamlined versions of the images from this repository (image hierarchy). The images support also the sudo command.

Project versions

This file describes the second version (G1v2) of the project.

The first version (G1v1, or simply G1) has been retired back in March 2022, but I've revived it in November 2022, because I've noticed, that the images still have been pulled. It will be available in this GitHub repository as the archived branch archived-generation-g1v1.

The current second version (G1v2) brings some improvements, mostly in the building pipeline and supporting scripts.

It also merges the previously separated GitHub projects ubuntu-vnc-xfce-firefox, ubuntu-vnc-xfce-firefox-plus and ubuntu-vnc-xfce-chromium into this single one.

The version G1v2 brings the following changes comparing to the previous version G1v1:

  • The values of the version sticker variables (VERSION_STICKER_*) in the env hook scripts are not hardcoded, but initialized from the related environment variables.
  • The helper utility util-refresh-readme.sh does not update the original README.md files, but their clones named scrap_readme.md. The content of this temporary file is intended to be copy-and-pasted to the Docker Hub.

Description

The resources for the individual images and their variations are stored in the folders of the Git Hub repository and the image features are described in the individual README files. Additional descriptions can be found in the common project Wiki.

Git Hub subfolders / Docker image sets

Contains resources for building the accetto/ubuntu-vnc-xfce base image.

The base image already include commonly used utilities ping, wget, zip, unzip, sudo, curl, git and also the current version of jq JSON processor.

While the containers does not include any web browsers, the mousepad and vim editors are already included. Other applications can be easily added also at runtime, because the containers runs under the privileged root user.

It should be noticed, that the container's root is not the same as the host's root and that it does not automatically get all root privileges on the hosting computer. Please check the Docker documentation for more information about it (e.g. Runtime privilege and Linux capabilities).

Check this README file for more information.

Contains resources for building the accetto/ubuntu-vnc-xfce-chromium image with the open-source Chromium web browser.

Check this README file for more information.

Contains resources for building the accetto/ubuntu-vnc-xfce-firefox-default image with the current Firefox web browser in its default installation.

Check this README file for more information.

Contains resources for building the accetto/ubuntu-vnc-xfce-firefox-plus image with the current Firefox web browser with pre-configuration support.

Check this README file for more information.

Contains utilities that make building the images more convenient.

  • util-hdx.sh

    Displays the file head and executes the chosen line, removing the first occurrence of '#' and trimming the line from left first. Providing the line number argument skips the interaction and executes the given line directly.

    The comment lines at the top of included Dockerfiles are intended for this utility.

    The utility displays the help if started with the -h or --help argument. It has been developed using my other utilities utility-argbash-init.sh and utility-argbash.sh, contained in the accetto/argbash-docker Git Hub repository, from which the accetto/argbash-docker Docker image is built.

  • util-refresh-readme.sh

    This script can be used for updating the version sticker badges in README files. It is intended for local use before publishing the repository.

    The script does not include any help, because it takes only a single argument - the path where to start searching for files (default is ../docker). However, there is the file local-building-example.md explaining how to use it.

Issues

If you have found a problem or you just have a question, please check the Issues and the Troubleshooting, FAQ and HOWTO sections in Wiki first. Please do not overlook the closed issues.

If you do not find a solution, you can file a new issue. The better you describe the problem, the bigger the chance it'll be solved soon.

Credits

Credit goes to all the countless people and companies, who contribute to open source community and make so many dreamy things real.