= Running LinuxCNC

[[cha:running-emc]] (((Running LinuxCNC)))

== Invoking LinuxCNC

After installation, LinuxCNC starts just like any other Linux program: 
run it from the terminal by issuing the command 'linuxcnc',
or select it in the Applications - CNC menu.

== Configuration Selector

By default, the Configuration Selector dialog 
is shown when you first run LinuxCNC. 
Your own personalized configurations are shown at the top of the list, 
followed by sample configurations. 
Because each sample configuration is for a different type of hardware interface, 
almost all will not run without the hardware installed. 
The configurations listed under the category 'sim' run entirely 
without attached hardware.

.LinuxCNC Configuration Selector[[cap:LinuxCNC-Configuration-Selector]]

image::images/configuration-selector.png[]

Click any of the listed configurations 
to display specific information about it. 
Double-click a configuration or click OK 
to start the configuration. 
Select 'Create Desktop Shortcut' and then click OK 
to add an icon on the Ubuntu desktop 
to directly launch this configuration 
without showing the Configuration Selector screen. 

When you select a configuration from the Sample Configurations section, 
it will automaticly place a copy of that config in the
linuxcnc/configs directory.

== Next steps in configuration

After finding the sample configuration that uses 
the same interface hardware as your machine (or a simulator
configuration), and saving a copy to your home directory, 
you can customize it according to the details of your machine. 
Refer to the Integrator Manual for topics on configuration.

== Simulator Configurations

All configurations listed under Sample Configurations/sim
are intended to run on any computer.  No specific hardware is
required and real-time support is not needed.

These configurations are useful for studying indivdual
capabilities or options.  The sim configurations are organized
according to the graphical user interface used in the
demonstration.  The directory for axis contains the most
choices and subdirectories because it is the most tested GUI.
The capabilities demonstrated with any specific GUI may be
available in other GUIs as well.

== Configuration Resources

The Configuration Selector copies all files needed for
a configuration to a new subdirectory of ~/linuxcnc/configs
(equivalently: /home/username/linuxcnc/configs).  Each
created directory will include at least one ini file (iniflename.ini)
that is used to describe a specific configuration.

File resources within the copied directroy will typically
include one or more ini file (filename.ini) for related
configurations and a tool table file (toolfilename.tbl).
Additionally, resources may include halfiles (filename.hal,
filename.tcl), a README file for describing the directory, and
configuration specific information in a text file named after
a specific configuration (inifilename.txt).  That latter two
files are displayed when using the Configuration Selector.

The supplied sample configurations may specifiy HALFILEs
in the configuration ini file that are not present in the
copied directory because they are found in the system
Halfile library.  These files can be copied to the user
configuration directory and altered as required by the
user for modification or test.  Since the user configuration
directory is searched first when finding Halfiles, local
modifications will then prevail.

The Configuration selector makes a symbolic link in the
user configuration directory (named hallib) that points to
the system Halfile library.  This link simplifies copying
a library file.  For example, to copy the library core_sim.hal
file in order to make local modifications:

====
  cd ~/linuxcnc/configs/name_of_configuration
  cp hallib/core_sim.hal core_sim.hal
====

// vim: set syntax=asciidoc:


