Table of Contents


marmus- is a X11/Motif based graphical user interface for operating the Incoatec IuS/marmus micro-focus generator.


marmus [ -h ] [ --help ] [ -i MSEC ] [ --host HOSTNAME ] [ -l LOGFILE ] [ +p PASSWORD ] [ -p PORT ] [ -s ] [ --simulate ] [ +s SERVER_PORT ] [ -v ] [ -x ]


marmus is a graphical user interface (GUI) to operate the Incoatec "IuS" generator and the "marmus" version thereof. The generator can be controlled by a PC or mini PC via a USB interface. The program can directly control the hardware but it can also connect to another instance of the program running in server mode. I.e. the program offers both TCP/IP-server and client functionality. As a server, the program must be connected to the hardware. As a client, the program can run on any other PC.


-h, --help
Provides a summary of the options.

Hostname (or IP-address) to use for connecting to the host running the marmus server.
Default: --host

Use LOGFILE as log file
Default: -log $MARLOGDIR/marmus.log

-i, --interval MS
Update generator status every MS milliseconds.
Default: -i 1000

+p, ++password PASSWORD
In order to use the program, a password must be provided. Please contact marXperts in order to obtain a password.
Default: none.

-p, --port PORT-NO
Socket port number to use for connecting to the host running the marmus server.
Default: -p 4455

-s, --simulate
Start program without hardware connected.
Default: try to connect to hardware.

+s, +server PORT-NO
Run program in TCP/IP-server mode, i.e. accept input from other applications on port PORT-NO.
Default: do not run as server.

-v, --verbose
Writes more information to stdout.

-x, --gui
Do not run the program in graphics mode but only as terminal version. This may be useful when running the program as server on a remote host not connected to a display. The program can either accept commands via the TCP/IP-socket or via plain input on the terminal. In both cases, there is a simple ASCII command interface. See chapter COMMANDS for further details.
Default: use GUI.


In order to operate the Incoatec from some software instead from the frontpanel of the IuS-controller, the generator must be set to "Remote mode". This is done by selecting "Remote mode" on the LCD-front panel. When operating the generator in "remote mode", the local control on the instrument itself is disabled. I.e. you cannot operate the shutter or modify the power settings on the frontpanel while in "Remote mode". You can still set the generator into "Local mode" on the frontpanel. If the program is still running, the generator will not accept further input from the program but it s going to report the power settings. The program might not report the status of the shutter correctly, though.
Please note, that it is ESSENTIAL to push the "HV ON" button manually on the frontpanel after starting up the generator, even when in "Remote mode". The software will not be able to control the generator if the "HV ON" button has not been pushed.


In principle, there are only 3 useful states of operation of the generator. Either the X-rays are OFF, or they are in low power STANDBY mode or they are in NORMAL OPERATION mode. Hence, from the user interface you select one of the 3 states. Setting the high voltage or current to other than the default values (50 kV, 600 uA) is possible, but discouraged.

Terminal or Socket Input

Instead of operating the GUI with the mouse, the program may receive instructions via the keyboard (i.e. on the same command line where the program has been started) or - when operated in TCP/IP-server mode - also via a TCP/IP-socket (e.g. via telnet). See section COMMANDS for details.


All commands entered via the keyboard or a socket interface are keyworded. Lines starting with # or ! will be treated as comment lines and will not be processed. Currently the following commands are implemented. The mandatory part of the keyword is given in uppercase letters. Keywords or part of keywords in square brackets [ ... ] are optional. In most cases, the keywords can be given in uppercases or lowercases.
Keywords split up in 3 sections:

Commands for Program Control

The keywords for program control are: