[[cha:starting-linuxcnc]](((Starting LinuxCNC)))

= Starting LinuxCNC

== Running LinuxCNC

LinuxCNC is started with the script file 'linuxcnc'.

----
linuxcnc [options] [<ini-file>]
----

.linuxcnc script options
* '-v' = verbose - prints info as it works
* '-d' = echoes script commands to screen for debugging

If the linuxcnc script is passed an ini file it reads the ini file and starts
LinuxCNC. The ini file [HAL] section specifies the order of loading up HAL
files if more than one is used. Once the HAL=xxx.hal files are loaded then the
GUI is loaded then the POSTGUI=.xxx.hal file is loaded. If you create PyVCP or
GladeVCP objects with HAL pins you must use the postgui HAL file to make any
connections to those pins. See the <<sec:hal-section,[HAL]>> section of the
INI configuration for more information.

[[sub:configuration-selector]]

=== Configuration Selector

If no ini file is passed to the linuxcnc script it loads the configuration 
selector so you can choose and save a sample configuration. Once a sample
configuration has been saved it can be modified to suit your application.
The configuration files are saved in linuxcnc/configs directory.

.Configuration Selector

image::images/configuration-selector.png[align="center"]
