Skip to content

matteoepitech/epivnc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EpiVNC

A Docker environment for running CSFML graphical applications with a virtual display (Xvfb) and browser-based VNC access via noVNC.

Purpose

This tool is primarily useful for cross-platform compatibility testing, especially if you're developing on macOS and need to verify that your CSFML application works correctly on Linux. For regular development, use your native environment instead.

Important Notes

Warning

Performance: Expect noticeable lag due to multiple abstraction layers (Docker → Xvfb → VNC → noVNC). This is not suitable for regular development or testing.

Note

CSFML Errors: You may encounter CSFML-related warnings or errors in the console. Most of these can be safely ignored as they don't affect basic functionality.

Important

Use Case: Only use this environment occasionally to verify cross-OS compatibility, not as your primary development setup.

Quick Start

Build the Docker image

./build.sh

Run the container (make your own script please)

docker run -it \
  -p 5900:5900 \
  -p 6080:6080 \
  -v "$(pwd):$(pwd)" \
  -w "$(pwd)" \
  --rm \
  --platform linux/amd64 \
  epitest-graphic

Access the GUI

Open your browser and navigate to:

http://localhost:6080/vnc.html

Your application will start automatically in the noVNC interface.

How It Works

  1. Xvfb creates a virtual framebuffer (fake display)
  2. fluxbox provides a minimal window manager
  3. x11vnc exposes the virtual display via VNC protocol
  4. noVNC translates VNC to WebSocket for browser access
  5. supervisord manages all these services

About

Ready-to-use Docker environment for running CSFML graphical applications on non-Linux hosts (especially designed for Epitech students).

Topics

Resources

License

Stars

Watchers

Forks

Contributors