EMRUN(1)
πΈ NAME πΈ
emrun β the emscripten tool that compiles your stuff into an HTML page, bestie. It's in section 1 of the manual (user commands, obvs), and it's literally the thing you call when you want your build to just run.
β¨ DESCRIPTION β¨
okay so here's the whole vibe:
usage: emrun [emrun_options] filename.html -- [html_cmdline_options]
where emrun_options specifies command line options for emrun itself, whereas html_cmdline_options specifies startup arguments to the program. Two completely different crowds of arguments, same party. π
π«Ά real talk: if you're seeing "unrecognized arguments" when trying to pass arguments to your page, remember to add -- between arguments to emrun itself and arguments to your page. That little double-dash is the velvet rope, no cap. It keeps the emrun-side args and the page-side args from mixing, because they do NOT belong in the same pile.
π¦ positional arguments:
serve,cmdlineparamsβ the positionals, hanging out right there in the synopsis.
π options:
-h,--helpβ show this help message and exit. The classic. It's giving "emergency exit but make it informative". π--kill-startβ If true, any previously running instances of the target browser are killed before starting. Cleaning house before the main character walks in. π§Ή--kill-exitβ If true, the spawned browser process is forcibly killed when it callsexit(). β οΈ Note: Using this option may require explicitly passing the option--browser=/path/to/browser, to avoid emrun being detached from the browser process it spawns. It's giving "we need to keep our hands on the wheel or we lose the car." π--no-serverβ If specified, a HTTP web server is not launched to host the page to run. No server era, apparently. π--no-browserβ If specified, emrun will not launch a web browser to run the page. So it just... does the rest and lets you handle the browser situation yourself. Respect. β¨--no-emrun-detectβ If specified, skips printing the warning message if html page is detected to not have been built with--emrunlinker flag. Basically: stop telling me, I KNOW. π--serve-after-closeβ If true, serves the web page even after the application quits by user closing the web page.--serve-after-exitβ If true, serves the web page even after the application quits by a call toexit().--serve-root SERVE_ROOTβ If set, specifies the root path that the emrun web server serves. If not specified, the directory where the target.htmlpage lives in is served. So the default is "wherever your page is at," and this flag is you overriding that. π--verboseβ Enable verbose logging from emrun internal operation. It will tell you everything. Every little thought it has. π£οΈ--hostname HOSTNAMEβ Specifies the hostname the server runs in.--port PORTβ Specifies the port the server runs in.--log-stdout LOG_STDOUTβ Specifies a log filename where the browser process stdout data will be appended to. Appended, not overwritten β the receipts pile up. π--log-stderr LOG_STDERRβ Specifies a log filename where the browser process stderr data will be appended to. Same deal, but for the screaming. π--silence-timeout SILENCE_TIMEOUTβ If no activity is received in this many seconds, the browser process is assumed to be hung, and the web server is shut down and the target browser killed. Disabled by default. π Silence = suspicion, apparently.--timeout TIMEOUTβ If the browser process does not quit or the pageexit()in this many seconds, the browser is assumed to be hung, and the web server is shut down and the target browser killed. Disabled by default. It's the "you have until the count of this many seconds" option, fr fr.--timeout-returncode TIMEOUT_RETURNCODEβ Sets the exit code that emrun reports back to caller in the case that a page timeout occurs. Default:99999. Yes, that number is real, and honestly? Iconic. π₯--list-browsersβ Prints out all detected browser that emrun is able to use with the--browsercommand and exits. Browser roll call, everybody say present. π--browser BROWSERβ Specifies the browser executable to run the web page in.--browser-args BROWSER_ARGSβ Specifies the arguments to the browser executable. Pimp my browser. π--androidβ Launches the page in a browser of an Android device connected to an USB on the local system. (viaadb) π±--android-tunnelβ Expose the port directly to the Android device and connect to it as localhost, establishing cross origin isolation. Implies--android. A reverse socket connection is created byadb reverse, and remains after emrun terminates (it can be removed byadb reverse --remove). β οΈ Heads up: it does not clean up after itself, so that tunnel is still there after emrun dips. That's your job, bestie.--system-infoβ Prints information about the current system at startup. Vibe check on the machine itself. π₯οΈ--browser-infoβ Prints information about the target browser to launch at startup. Vibe check on the browser. π--jsonβ If specified,--system-infoand--browser-infoare output in JSON format. Machine-readable flavor of the same tea. π¦--safe-firefox-profileβ If true, the browser is launched into a new clean Firefox profile that is suitable for unattended automated runs. (If target browser != Firefox, this parameter is ignored) π¦ Clean slate, no old cookies haunting the place.--private-browsingβ If specified, opens browser in private/incognito mode. π€« What happens in the profile stays in the profile.--dump-out-directory DUMP_OUT_DIRECTORYβ If specified, overrides the directory for dump files usingemrun_file_dumpmethod. Where the dumps go, you decide. ποΈ
and that's the whole page, bestie π every flag, every default, every little caveat β nothing skipped, nothing invented, we keep the facts exactly as they were and just gave them a personality. π«Ά
signing off from emrun 6.0.5+dfsg+~1.41.5, dated August 2026 β go run your page, you're doing amazing, mwah πβ¨
π¦ where this page comes from
- ubuntu stonking: emscripten 6.0.5+dfsg+~1.41.5-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms