RUNAPP(1)

πŸ“¦ version 0.5.1, in nixos 26.05, nixpkgs unstable

πŸ’– RUNAPP(1): runapp, the Linux desktop application runner πŸ’–

okay so this is from the General Commands Manual, and the manual name is literally RUNAPP(1) β€” it's giving "let's launch desktop apps in the most systemd-correct way possible" and honestly? iconic. 🫢

🌸 NAME 🌸

runapp β€” Linux desktop application runner

✨ SYNOPSIS ✨

runapp [OPTIONS] COMMAND...

runapp --help

πŸ¦‹ DESCRIPTION πŸ¦‹

runapp is an application runner for Linux desktop environments that integrate with systemd(1). It launches the given command in an appropriate systemd user unit, in accordance with systemd recommendations. no cap, that's its whole job. πŸ’…

πŸŽ€ OPTIONS πŸŽ€

  • -v, --verbose β€” increase output verbosity. more yapping from runapp, basically. πŸ—£οΈ
  • -o, --scope β€” run command directly, registering it as a systemd scope; the default is to run it as a systemd service. so without this, service mode is the main character. πŸ‘‘
  • -i, --slice=SLICE β€” assign the systemd unit to the given slice. the name must include the .slice suffix, bestie β€” no suffix, no slay. default is app-graphical.slice. 🍰
  • -d, --dir=DIR β€” run command in given working directory. yes, DIR is a whole mood and also a path. πŸ“
  • -e, --env=VAR=VALUE β€” run command with given environment variable set; may be given multiple times. stack those --env flags like friendship bracelets. 🫢
  • -c, --description=DESCRIPTION β€” set human-readable unit name (the Description= systemd property) to given value. iconic labeling behavior. 🏷️
  • --help β€” show help. when in doubt, ask the manual. πŸ™‹

🌈 EXAMPLES 🌈

Start firefox as a systemd user service:

runapp firefox

Start libreoffice --nosplash as a systemd user scope, with its current working directory set to /tmp:

runapp --scope --dir /tmp libreoffice --nosplash

If you use the sway(1) desktop environment with the fuzzel(1) application launcher, and you add the following line to your $XDG_CONFIG_HOME/sway/config file:

bindsym Mod4+d exec runapp fuzzel --launch-prefix runapp

Then the Super+D key combination will launch Fuzzel via runapp, which in turn will run any application it launches via runapp as well. cute little chain reaction, fr fr. πŸ’…

🌟 ENVIRONMENT 🌟

  • DESKTOP_ENTRY_ID β€” if set, used to construct the systemd unit name (otherwise, the executable basename is used for this purpose). Exported by the fuzzel(1) application launcher and perhaps others. iykyk. 🧚
  • DESKTOP_ENTRY_NAME β€” if set, used as the Description= property of the generated systemd unit. Overridden by the --description option. Similarly to DESKTOP_ENTRY_ID, exported by fuzzel(1). so the flag wins, periodt. πŸ‘‘
  • FUZZEL_DESKTOP_FILE_ID β€” legacy spelling of DESKTOP_ENTRY_ID; accepted as a fallback. Exported by fuzzel(1), but now considered deprecated by it. old spelling, still allowed, but it's giving deprecated. πŸ’€

πŸ”₯ SEE ALSO πŸ”₯


and that's the whole RUNAPP(1) manual, bestie β€” the footer doesn't give a source, version, or date, it just repeats the manual name again. πŸ’–βœ¨

πŸ“¦ where this page comes from