Skip to main content

Dockerizált Távoli Asztali Beállítás Dokumentáció

Áttekintés

Ez a megoldás a Parallels Client-et egy Docker konténerben futtatja, hogy webböngészőn keresztüli távoli asztali hozzáférést biztosítson. A beállítás több komponens kombinációját használja a zökkenőmentes távoli asztali élmény érdekében:

  • Xvfb: Virtuális kijelzőt hoz létre a grafikus alkalmazásokhoz.
  • x11vnc: A virtuális kijelzőt VNC protokollon keresztül szolgáltatja.
  • noVNC: Böngészőalapú VNC kliens a távoli hozzáféréshez.
  • Parallels Client (2XClient/rasclient): RDP kapcsolatot hoz létre egy távoli Windows géppel.
  • Supervisor: Kezeli és biztosítja az összes fent említett folyamat futását.

Architektúra

Konténer Környezet

  • Alap kép: Ubuntu 22.04
  • Komponensek: Az összes komponens közvetlenül a Docker konténerben fut (nem külön VM-ben).
  • Virtuális Kijelző: Az Xvfb egy fej nélküli kijelzőt hoz létre (pl. :99), amelyet a grafikus alkalmazások használnak.
  • Távoli Hozzáférés: Az x11vnc a virtuális kijelzőt VNC-n keresztül szolgáltatja, míg a noVNC ezt böngészőben elérhető interfésszé alakítja (HTTP/WebSocket port 6080).

Tárolt Kötetek

  • Állandóság: Docker volumenek (vagy gazdagéphez csatolt könyvtárak) használhatók a konfigurációs fájlok (pl. .2xc fájlok) tárolására, így azok a konténer újraépítése után is elérhetők maradnak.

Főbb Komponensek és Szerepük

Dockerfile

A Dockerfile automatizálja az összes szükséges komponens telepítését és konfigurálását:

  • Csomagok telepítése: Telepíti a curl, unzip, python3, x11vnc, xvfb, supervisor stb. csomagokat.
  • Parallels Client telepítése: Letölti és telepíti a legújabb Debian csomagot a Parallels Client számára.
  • noVNC és websockify beállítása: Letölti és konfigurálja a noVNC-t és a websockify-t, beleértve a Python 3 kompatibilitási javításokat.
  • Python Symlink: Biztosítja, hogy a python parancs a python3-ra mutasson szimbolikus hivatkozással.

Supervisor Konfiguráció (supervisord.conf)

A Supervisor biztosítja, hogy az összes folyamat automatikusan elinduljon:

Xvfb:

Xvfb :99 -screen 0 1920x1080x24

x11vnc:

x11vnc -display :99 -nopw -listen 0.0.0.0 -forever

noVNC:

novnc_proxy --vnc localhost:5900 --web /opt/noVNC --listen 0.0.0.0:6080

Parallels Client:

/opt/2X/Client/bin/2XClient
  • Az alábbi környezeti változót használja: DISPLAY=":99".

Docker Compose

Docker-compose.yaml fájl egyszerűsíti a konténer kezelését, beleértve a konfigurációk tartós tárolását:

version: "3.9"

services:
  parallels:
    image: parallels-webui
    container_name: parallels
    user: root
    ports:
      - "6080:6080"
    restart: unless-stopped
    volumes:
      # Persist the client config (if needed)
      - /var/lib/docker/volumes/parallels-webui/config:/opt/2X/Client/config
      # Mount your custom Supervisor configuration file
      - /var/lib/docker/volumes/parallels-webui/config/supervisord.conf:/etc/supervisor/conf.d/supervisord.conf:ro
      - /var/lib/docker/volumes/parallels-webui/files:/files
    environment:
      # This environment variable can be used by processes if needed.
      # (Supervisor already sets DISPLAY for parallels-client from its config.)
      DISPLAY: ":99"
      

Működés

Konténer Indítása

  1. Építés: A Docker konténer a megadott Dockerfile alapján épül fel.
  2. Supervisor Indítása: Indításkor a Supervisor elindítja az Xvfb, x11vnc, noVNC és a Parallels Client szolgáltatásokat.
  3. Virtuális Kijelző Beállítása: Az Xvfb egy fej nélküli kijelzőt hoz létre (:99).
  4. Távoli Asztal Elérése: Az x11vnc és noVNC a 6080-as porton teszi elérhetővé a távoli asztalt.

Elérés

  • Böngészőn keresztül: Nyissa meg a következő címet:
    http://<host-ip>:6080/vnc.html
    
  • Parallels Client Használata: A noVNC felületén belül indítsa el a Parallels Clientet és töltsön be egy .2xc konfigurációs fájlt az RDP kapcsolat létrehozásához.

Állandóság

  • Konfigurációs fájlok: Az /opt/2X/Client/config könyvtárban tárolt fájlok Docker volumenekkel vagy gazdagéphez csatolt könyvtárakkal tarthatók meg a konténer újraépítése után is.

Megfontolások és Hibakeresés

Teljesítmény

  • CPU Terhelés: A beállítás CPU-intenzív lehet az Xvfb és noVNC igényei miatt. Figyelje a teljesítményt és szükség esetén optimalizálja.
  • Optimalizálási Tipp: A Python numpy moduljának telepítése javíthatja a websockify teljesítményét.

Hálózat

  • Port Elérhetőség: Győződjön meg arról, hogy a 6080-as port nincs tűzfallal blokkolva.
  • Elérés: Használja a gazdagép IP-címét a böngészőben történő csatlakozáshoz.

Tárolt Kötetek

  • Figyelmeztetés: Ügyeljen arra, hogy a kötettárolás ne írja felül véletlenül a létfontosságú konténerkönyvtárakat.

Supervisor Naplók

  • Hibakeresés: Használja a következő parancsot:
    docker logs <container>
    
    a Supervisor naplók megtekintéséhez és a problémák elhárításához.

Összegzés

Ez a Dockerizált távoli asztali megoldás egy robusztus, webböngészőből elérhető módszert biztosít a Windows gépekhez való csatlakozásra a Parallels Client segítségével. Az Xvfb, x11vnc, noVNC és Supervisor kombinációja egy megbízható és könnyen karbantartható távoli asztali környezetet biztosít.