LinuxCNC(1)

πŸ’– LinuxCNC(1) β€” The Enhanced Machine Controller πŸ’–

okay bestie, welcome to the LinuxCNC manual page, from The Enhanced Machine Controller era, no less. grab a snack, this is your girl explaining the whole thing 🌸


✨ NAME ✨

linuxcnc β€” LinuxCNC (The Enhanced Machine Controller) πŸ¦‹


✨ SYNOPSIS ✨

linuxcnc [-h] [-v] [-d] [-r] [-l] [-k] [-t <tpmodulename> [parameters]]
[-m <homemodulename> [parameters]] [-H <dirname>] [INI file]

like, that's the whole vibe in one code block πŸ’…


✨ DESCRIPTION ✨

So. linuxcnc is the command that starts LinuxCNC (The Enhanced Machine Controller, periodt). It boots up the realtime system, and then it initializes a whole little friend group of LinuxCNC components β€” IO, Motion, GUI, HAL, etc. all showing up to the party πŸŽ‰

The most important parameter, like the main character here, is INI file β€” that's the thing that tells it which configuration name you wanna run.

And if you don't pass INI file at all? It doesn't just sit there. The linuxcnc script pops up a graphical wizard so you can pick one yourself 🧚✨

✨ OPTIONS ✨

  • -h β€” shows the help. the little "help me help you" button 🫢
  • -v β€” be a little bit verbose. this makes the script print info as it works, so you can watch it do its thing πŸ‘€
  • -d β€” print lots of debug information. every single executed command gets echoed to the screen. genuinely useful when something is not working the way it should 😭
  • -r β€” disables redirection of stdout and stderr to ~/linuxcnc_print.txt and ~/linuxcnc_debug.txt when stdin is not a tty. you use this when you're running linuxcnc tests non-interactively, iykyk πŸ’€
  • -l β€” use the last-used INI file without prompting. lowkey the best choice for a shortcut command or a startup item, fr fr
  • -k β€” continue even when there are errors in HAL files. it just keeps going πŸšΆβ™€οΈ
  • -t <tpmodulename> [parameters] β€” specify a custom trajectory_planning_module, which overrides the optional INI setting [TRAJ]TPMOD ✨
  • -m <homemodulename> [parameters] β€” specify a custom homing_module, which overrides the optional INI setting [EMCMOT]HOMEMOD 🏠
  • -H <dirname> β€” search dirname for HAL files before searching the INI directory and the system library: $HALLIB_DIR πŸ”
  • <INIFILE> β€” the INI file. this is the main piece of a LinuxCNC configuration. it is not the entire configuration β€” there are various other files that go with it (NML files, HAL files, TBL files, VAR files). but it is the most important one, because it's the file that holds the whole configuration together. it can adjust a lot of parameters itself, and it also tells linuxcnc which other files to load and use.

There are several ways to specify which config to use:

  • Specify the absolute path to an INI, e.g., linuxcnc /usr/local/linuxcnc/configs/sim/sim.ini
  • Specify a relative path from the current directory, e.g. linuxcnc configs/sim/sim.ini

Otherwise, in the case where the INIFILE is not specified, the behavior will depend on whether you configured LinuxCNC with --enable-run-in-place.

  • If so, the LinuxCNC config chooser will search only the configs directory in your source tree 🌳
  • If not (or if you are using a packaged version of LinuxCNC), it may search several directories.

The config chooser is currently set to search the path:

~/linuxcnc/configs:/usr/local/etc/linuxcnc/configs:/usr/share/doc/linuxcnc/examples/sample-configs

✨ EXAMPLES ✨

these are the moments, bestie πŸŽ€

linuxcnc
linuxcnc configs/sim/sim.ini
linuxcnc /etc/linuxcnc/sample-configs/stepper/stepper_mm.ini

✨ SEE ALSO ✨

Much more information about LinuxCNC and HAL is available in the LinuxCNC and HAL User Manuals, found at /usr/share/doc/linuxcnc/. go read them, they ate πŸ’…


✨ BUGS ✨

None known at this time. iconic behavior honestly πŸ‘‘


✨ AUTHOR ✨

This man page was written by Alex Joni, as part of the LinuxCNC Enhanced Machine Controller project 🫢


✨ REPORTING BUGS ✨

Report bugs to alex_joni AT users DOT sourceforge DOT net πŸ“¬


Copyright Β© 2006 Alex Joni.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

no cap, zero warranty. like, none. not even the "it'll work on your machine" kind πŸ™ˆ

and that's the whole page, bestie πŸ’– this was LinuxCNC(1) from the LinuxCNC Documentation, dated 2006-02-20, and yeah the page title at the very bottom is LinuxCNC(1) too because we keep it symmetrical ✨ bye ily, go make chips πŸ¦‹πŸ’œ