RemoteViewer 0.1.38 (linux-x64)

Install:
  1) extract this archive
  2) cd into the folder
  3) ./install.sh        (installs to /opt/remoteviewer, adds a menu entry,
                          apt-installs X11/PulseAudio runtime libs)

Run without installing:
  ./app/RemoteViewerClient

Uninstall:
  ./uninstall.sh

Auto-update:
  install.sh enables a daily self-update check (systemd timer -> /opt/remoteviewer/rv-update.sh).
  New releases published on the gateway install themselves; no manual downloads after this one.
  Settings: /etc/remoteviewer/update.conf   Log: /var/log/remoteviewer-update.log
  Run a check now:  sudo /opt/remoteviewer/rv-update.sh

Multi-session server (optional — one box, a private desktop per OS login):
  1) open RemoteViewer and register this PC for unattended access (무인 등록)
  2) sudo apt-get install -y xvfb xauth openbox pulseaudio util-linux   (or the dnf equivalent)
  3) cd multisession && sudo ./install.sh
  Each viewer then logs in with an OS account of THIS machine and gets their own spawned desktop.
  Remove with:  cd multisession && sudo ./uninstall.sh    (see multisession/README.txt). Linux only, needs root.

Connect while LOGGED OUT (set up AUTOMATICALLY by install.sh):
  install.sh installs a login-screen host with BOTH connect modes, so all you do is:
    open RemoteViewer and register this PC for unattended access (무인 등록)
  Then a viewer can reach this PC even when nobody is logged in, and picks "이 PC 화면 보기"(console)
  or "새 세션 열기"(session) at connect time — no host commands to switch. The service idles until you
  register and then activates within a few seconds on its own; no second command to run.

  Opt out:   RV_LOGIN_HOST=0 ./install.sh          (headless/kiosk — no login-screen host at all)
  View-only: RV_LOGIN_HOST=console ./install.sh    (console mode only, skips the session runtime)
  By hand later:  sudo ./install-login-host.sh --modes both
  Remove:         sudo systemctl disable --now remoteviewer-login

  It installs a root service that attaches the unattended agent to the login screen and follows your session
  after you log in so the connection is not dropped at login. Screen sharing needs X11, so a GDM greeter is
  switched to X11 (WaylandEnable=false, with a backup) — that takes effect after a logout or reboot.
  See docs/unified-host-modes.md.

Note: builds before 0.1.6 installed a DIFFERENT login-screen service by default, carried over from
RemoteViewer Classic; it could not work here and crash-looped, restarting the app every few seconds.
install.sh removes that one automatically if a previous install left it behind.

Self-contained — no .NET runtime needed on the target.
