Desktop wrapper for Entrance, built with Electron.
Entrance/: backend submodule (kept with original folder name)Desktop/: Electron desktop source codeShare/Linux/: Linux desktop icon and.desktopfilesShare/Windows/: Windows icon and shortcut assets
- Install dependencies:
npm run install:all- Start desktop app:
npm startThe Electron app auto-starts backend from Entrance.
Desktop startup does not use Entrance/start.sh.
- Development startup:
npm startrunsDesktop/launch-electron.js, which launches Electron withDesktop/main.js. - Linux packaged startup: the AppImage/executable starts Electron. During packaging,
Desktop/scripts/after-pack.jscreates a Linux wrapper that adds--no-sandboxand Wayland/X11 flags before executing the real binary. - macOS packaged startup: the
.appstarts Electron directly withDesktop/main.js. - Windows packaged startup: the portable
.exestarts Electron directly withDesktop/main.js.
The backend is started by Desktop/main.js with child_process.fork() against Entrance/server.js. The desktop process sets the backend environment, including PORT, AUTH_SECRET, SSH_PASSWORD_KEY, and ENTRANCE_DATA_DIR.
Entrance/start.sh is only for running the backend submodule independently.
# current platform
npm run dist
# platform specific
npm run dist:linux
npm run dist:winArtifacts are generated in Desktop/dist/.
Windows builds now produce a single portable .exe.
感谢测试: makabaka2240
