---
name: "gkrellmd"
section: "1"
platform: "linux"
package: "gkrellmd"
version: "2.3.11-2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gkrellmd"
---

# gkrellmd(1)

The GNU Krell Monitors Server

## NAME

gkrellmd - The GNU Krell Monitors Server

## SYNOPSIS

**gkrellmd** \[ **--help** \] \[ **--verbose** \] \[ **-u** \| **--update-hz** f \] \[ **-m** \| **--max-clients** N \] \[ **-A** \| **--address** server\_address \] \[ **-P** \| **--port** server\_port \] \[ **-a** \| **--allow-host** hostname \] \[ **-d** \| **--detach** \] \[ **-p** \| **--plugin** name \] \[ **-pe** \| **--plugin-enable** name \] \[ **--plist** \] \[ **--plog** \] \| **--logfile** path \] \| **--syslog** \] \[ **-U** \| **--user** username \] \[ **-G** \| **--group** groupname \] \[ **--pidfile** path \] \[ **--inet-interval** seconds \] \[ **--io-timeout** seconds \] \[ **--reconnect-timeout** seconds \] \[ **--mailbox** mbox\_path \] \[ **--net-timer** net\_interface \] \[ **--mbmon-port** number \]

## DESCRIPTION

**gkrellmd** Listens for connections from **gkrellm** clients.  When a **gkrellm** client connects to a **gkrellmd** server all builtin monitors collect their data from the server.  However, the **gkrellm** process is running on the local machine, so plugins enabled in **gkrellm** will collect data from the local context unless the plugin is client/server capable and has a **gkrellmd** plugin counterpart which is installed and enabled on the server.  Enabling a **gkrellmd** plugin installed on a server requires adding a *plugin-enable* line to a *gkrellmd.conf* file.

Any command launching from a gkrellm client will run commands on the local machine.  If you want to execute commands on the server, the client side commands can use ssh.

There is no support for file system mounting on the machine where the **gkrellmd** server is running.

## OPTIONS

- **-h --help**

  Displays usage information and exits.

- **-v --version**

  Prints **gkrellmd** version and exits.

- **-V --verbose**

  Prints connection progress.

- **-u, --update-hz f**

  Sets the data update frequency in samples per second for the server. This is independent of and should be less than the **gkrellm** client update rate.  The rate can be from 1 to 10 and should be lower to minimize network traffic.  A value of not much more than 1/2 the client update rate is best where it is not important to minimize network traffic.

- **-m, --max-clients N**

  Sets the maximum number of simultaneous clients allowed to connect to the server.

- **-A, --address server\_address**

  Use *server\_address* for the network connection.

- **-P, --port server\_port**

  Use *server\_port* for the network connection.

- **-a, --allow-host hostname**

  Specify hosts which are allowed to connect.  Multiple *allow-host* arguments may be given.  If no hosts are specified on the command line or in a gkrellmd.conf file, then all hosts are allowed to connect.  The *hostname* argument may be a text name or an IPv4 or IPv6 dotted notation.  For IPv4, the simple subnet pattern x.y.z.\* may be used. Also, if *hostname* is the keyword **ALL** then all hosts are allowed.  This option is additive and specified hosts will be added to the hostnames listed in gkrellmd.conf files unless the *--clear-hosts* option is given first.

- **-p, --plugin name**

  For plugin development convenience, load and enable the command line specified plugin to avoid repeated install steps in the development cycle. See the README from the gkrellm *demo5* for more information on gkrellmd plugin development. Requires at least gkrellmd version 2.2.0.

- **-pe, --plugin-enable name**

  Specify an installed plugin to enable (this is probably more convenient to specify in a gkrellmd.conf file). Requires at least gkrellmd version 2.2.0.

- **-plist**

  Output a list of plugins which are installed and available to enable and exit. Requires at least gkrellmd version 2.2.0.

- **-plog**

  Output a log of the plugin install process.  When requesting a log, the *--detach* option will have no effect. Requires at least gkrellmd version 2.2.0.

- **-l, --logfile path**

  Enable sending error and debugging messages to a log file.

- **--syslog**

  Enable sending logging messages to the syslog file.

- **-c, --clear-hosts**

  Clears the current list of allowed hosts.  Use this before any *--allow-host* arguments if you want command line allowed hosts to override and not be additive to those specified in gkrellmd.conf files.

- **-d, --detach**

  Runs gkrellmd in the background and detaches from the terminal.

- **-U, --user username**

  Changes user to *username* after startup.  Useful if you want to run gkrellmd as root, but set it to run with another privileges; typically as the *nobody* user.

- **-G, --group groupname**

  Changes group to *groupname* after startup.

- **--pidfile path**

  Create a PID file for the running gkrellmd.  Typically, *path* would be */var/run/gkrellmd.pid.* Default is no PID file.

- **--inet-interval seconds**

  The Internet monitor defaults to reading TCP connections once per second. However, for Linux SMP kernels where reading /proc/net/tcp causes high cpu usage, the *inet-interval* may be set to 1-20 seconds to slow down /proc/net/tcp reads.  Or set it to 0 to totally disable the Internet monitor. Requires at least gkrellmd version 2.1.8.

- **--io-timeout seconds**

  Configure gkrellm clients to disconnect from a gkrellmd server if there is an *io-timeout* interval where the client receives no input from the server.  Use this for conditions where gkrellmd may be ungracefully terminated such that socket connections are not closed. Minimum is 2 (less than 2 for no I/O disconnecting and is the default). Requires at least 2.1.8 versions of both gkrellmd and gkrellm.

- **--reconnect-timeout seconds**

  Configure gkrellm clients to attempt automatic reconnects to a gkrellmd server every *reconnect-timeout* seconds after a disconnected state is detected.  Disconnected states are created by normal gkrellmd shutdowns or by an expiring *io-timeout.* Minimum is 2 (less than 2 for no automatic reconnecting and is the default). Requires at least 2.1.8 versions of both gkrellmd and gkrellm.

- **--mailbox mbox\_path**

  Check the server side mailbox *mbox\_path* and send mail counts to connected gkrellm clients.  Mailbox types may be mbox, Maildir, and MH mail. Requires at least 2.1.11 versions of both gkrellmd and gkrellm.

- **--net-timer net\_interface**

  Configure gkrellmd to send the connect time for a network interface to all clients to be displayed in the client gkrellm timer button monitor display.  If this is done, the client gkrellm timer button can still execute commands on the client, but the button will not affect the timer display.  If you want the client timer button to execute commands on the server, your timer button commands can use ssh. So set this if your server box has say a ppp0 or ippp0 connection and you want to monitor its connect time. Requires at least 2.2.7 versions of both gkrellmd and gkrellm.

- **--mbmon-port port\_number**

  If the mbmon daemon is running when gkrellmd is started, gkrellmd will connect to mbmon using the given port\_number and send mbmon sensor data to connected gkrellm clients.  The mbmon daemon should have been started using the same port number like so: **mbmon -r -P port\_number**

## EXAMPLE

On the server machine where gkrellmd is installed, copy the sample *gkrellmd.conf* file from the *server* subdirectory of the **gkrellm** source tarball to one of the *gkrellmd.conf* locations listed in the **FILES** section and edit it to set your preferences or to enable plugins.  Probably don't set the *detached* option until you are happy with the configuration.  Run: **gkrellmd**

On a client machine, run: **gkrellm -s server-machine-name**

Configure the client gkrellm in its graphical configuration window as you wish, and that's all there is to it.  Of course, if you don't use the default **gkrellmd** *port* number you will have to supply an appropriate *port* argument to the client **gkrellm.**

Available plugins will be installed in the *plugins-gkrellmd* directory locations listed in the **FILES** section.  You may test enable any of these plugins with the *-pe* option, but for permanent enabling you should add a *plugin-enable* line to any *gkrellmd.conf* file listed in the **FILES** section.  Run **gkrellmd -plist** to see a list of all installed plugins and run **gkrellmd -plog** to see a log of the plugin install process.

## FILES

- */etc/gkrellmd.conf*

  System server config which is read first. The config file may contain lines similar to the command line args. For example:

  - **allow-host localhost**

    - **allow-host 127.0.0.1**

    - **allow-host 192.168.0.\***

    - **port 19150**

    - **max-clients 2**

    - **update-hz 2**

    - **detach**

    - **io-timeout 5**

    - **reconnect-timeout 5**

    - **plugin-enable gkrelltopd**

    With the exception of *--allow-host,* command line args will override options in gkrellmd.conf files.

- */usr/local/etc/gkrellmd.conf*

  Local server config file which is read second.

- *~/.gkrellmd.conf*

  User server config file which is read last.

- *~/.gkrellm2/plugins-gkrellmd*

  User server plugin directory.

- */usr/lib/gkrellm2/plugins-gkrellmd*

  System wide server plugin directory.

- */usr/local/lib/gkrellm2/plugins-gkrellmd*

  Local server plugin directory.

## AUTHOR

This manual page was written by Bill Wilson \<billw@gkrellm.net\>. http://www.gkrellm.net/
