Daylight v4.9
Release Date: 1 February 2008


server - Syntax for a Thor or Merlin server's name


Many Daylight programs require you to name a Thor or Merlin server (e.g. thorls(1), merlinwho(1)). To open a connect to a server, the machine on which it is running, the IPC service "port", plus your login name and password, are required.

Daylight programs use a standard syntax to specify a server's name to a "client programs" (see the thorfilters(1) man page, which introduces a number of Thor and Merlin programs).

Formally, a database specification has four parts:


The "@" is optional except in situations where the server's name could be mistaken for a database name. See for example thorwho(1). The four parts are:

hostname This names the computer on which the server is running. The default is the name of the computer on which the client is running (see hostname(1)).

service Names the "port" or "IPC address" of the server on the host computer. These are taken from /etc/services (or, if your site uses Network Information Service, from the computer that ypwhich(1) names). The default service is from the option "THOR_IPC_SERVICE" or "MERLIN_IPC_SERVICE", and is typically "thor" or "merlin", for Thor and Merlin servers, respectively.

userid The user name that is to be used when logging in to the server. Defaults to the user's login id on the client's computer (see whoami(1)). Note that the Thor/Merlin system's list of "user accounts" is separate from the host computer's. While it is convenient to share "account names" between the Thor/Merlin system and the UNIX or VMS system, it is not necessary.

user_password The password for userid on the specified Thor or Merlin server. If no password is specified (i.e. no percent sign), most Daylight programs will prompt you for one. If the password is supplied but empty (a percent sign with nothing after it), a blank password is used. (Note: most Thor and Merlin programs prohibit passwords on a command line unless the SECURE_PASSWORDS option is FALSE. Without SECURE_PASSWORDS, all passwords must be entered interactively.)

Each of the fields in a server specification, including the hostname, is optional; if not specified, defaults are supplied.

It is permissible to use environment variables in the password field only. This makes it possible to invoke a Thor or Merlin program with a command line that contains a password without revealing it: the actual password is passed in the environment. Tricks that other users might use to see the command line of a process (such as ps(1)) won't reveal anything.


The following examples illustrate valid server names.

arizona Specifies a connection to server on a machine named "arizona"; uses defaults for service and userid. Interactively prompts for a password.

arizona::annie Specifies a connection to server "arizona" as user "annie". Since no "%" is given, most programs will ask you for the server's password.

arizona:thor2:% Specifies a connection to "arizona" using service "thor2"; uses the default userid (as in whoami(1)) and a blank password.

:: Uses defaults for everything: the current host, the default service, and your login name.

(blank) Many programs allow a blank servername. This is identical to "::" above.

::%$MYPASS Specifies a connection on the current machine (see hostname(1)) using the default service and userid; the value of the environment variable MYPASS is substituted for the password. (Note that you probably have to quote a server specification that contains environment variables to prevent them from being expanded on the command line.)

Related Topics

thorfilters(1) thorserver(1)

dayevict(1) daymessage(1) merlinls(1) merlinping(1) merlinwho(1) thorls(1) thorping(1) thorwho(1)