SYNOPSISgkrellmd [ --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 ]
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.
- -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
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
argument may be a text name or a IPv4 or IPv6
dotted notation. For IPv4, the simple subnet pattern x.y.z.* may be used.
is the keyword
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
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.
- Output a list of plugins which are installed and available to enable and exit. Requires at least gkrellmd version 2.2.0.
- 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.
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
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
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.
System server config which is read first.
The config file may contain lines similar to the command line args.
- allow-host localhost
- allow-host 127.0.0.1
- allow-host 192.168.0.*
- port 19150
- max-clients 2
- update-hz 2
- 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.
- Local server config file which is read second.
- User server config file which is read last.
- User server plugin directory.
- System wide server plugin directory.
Local server plugin directory.