Commit Graph

3 Commits

Author SHA1 Message Date
cnbug 6f4d071bf3 middleware: VNC generator add disable_wayland + restart_gdm options for GNOME
Ubuntu 22.04 defaults to WaylandEnable=true in /etc/gdm3/custom.conf.
Wayland + x11vnc has known issues (keyboard remap, clipboard, gnome-shell
crashes on X events). Add two options: disable_wayland (write
WaylandEnable=false to gdm3/custom.conf on GNOME installs, guarded when no
gdm3 exists) and restart_gdm (immediately restart gdm vs apply on reboot).
2026-08-06 14:05:05 +08:00
cnbug c25cbb0d48 VNC: switch to xvfb+x11vnc, add Ubuntu GNOME session + extensions
Major changes to the VNC generator (generators/middleware.py):

  1. Replace Xtigervnc + vncserver wrapper with xvfb + x11vnc.
     - Xtigervnc defaults to daemon mode (no -fg flag exists), so systemd
       Type=simple couldn't track it; x11vnc attaches to Xvfb in
       foreground, works cleanly with Type=simple.
     - Use display :99 via xvfb-run -a so we never collide with the
       physical GDM/Xorg on :0 (avoids 'server already running').

  2. GNOME xstartup: switch to Ubuntu's canonical session.
     - XDG_CURRENT_DESKTOP=ubuntu:GNOME (was 'GNOME'; the bare form
       doesn't match Ubuntu's /usr/share/gnome-session/sessions/ entry
       and apps like gnome-terminal refuse to launch).
     - XDG_SESSION_TYPE=x11 (x11vnc is X11-only, so be explicit).
     - GNOME_SHELL_SESSION_MODE=ubuntu (Ubuntu-patched gnome-shell hint).

  3. Install extra GNOME packages needed for a usable VNC desktop.
     ubuntu-desktop-minimal alone leaves the user with a blank desktop
     and no way to launch apps. Add:
       - gnome-shell-extension-desktop-icons-ng (desktop icons)
       - gnome-terminal (terminal app)
       - nautilus-extension-gnome-terminal (right-click → open in terminal)
       - gnome-tweaks (advanced settings UI)

  4. Two new UI options:
     - 'Disable Unix socket (-nolisten unix)' — default on (avoids GDM
       collision on /tmp/.X11-unix/X0).
     - 'Disable X11 TCP listener (6001)' — default off (frees 6001 when
       GDM is squatting on it).

  5. .gitignore: exclude other projects' deliverables/ directory and
     a few test output scripts (vnc_*.sh).
2026-08-04 14:27:21 +08:00
cnbug 319f683a16 Initial commit: 50 shell-script generators with web UI
- 8 categories / 50 generators covering middleware, databases, runtimes,
  systemd services, system tools, network, monitoring, security
- VNC supports XFCE / GNOME / KDE Plasma / MATE / LXQt desktops
- Node.js versions 18-26 (incl. current LTS 24 Krypton and current 26)
- Live preview, copy / download / multi-script bundle in web UI
- Distro-aware (Ubuntu/Debian/CentOS/RHEL/Rocky/Alma/Fedora)
- All 50 generators pass bash -n syntax check
- Zero pip dependencies (Flask stdlib only)
2026-08-04 00:36:35 +08:00