Scroll to navigation

DICO(1) GNU Dico Reference DICO(1)


dico - GNU dictionary client program


dico [-DHISamqtv] [-c STRING] [-d NAME] [-i DBNAME] [-k STRING] [-p SERVICE] [-s NAME] [-u NAME] [--autologin=NAME] [--client=STRING] [--database=NAME] [--dbs] [--help] [--host=SERVER] [--info=DBNAME] [--key=STRING] [--levdist=N] [--levenshtein-distance=N] [--match] [--noauth] [--nosasl] [--password=STRING] [--port=SERVICE] [--quiet] [--sasl] [--serverhelp] [--serverinfo] [--source-info] [--source=ADDR] [--strategies] [--strategy=NAME] [--time-stamp] [--transcript] [--user=NAME] [--verbose] [URL-or-WORD]

dico -h

dico --help

dico --usage

dico --version


This manpage is a short description of GNU dico. For a detailed discussion, including examples and usage recommendations, refer to the GNU Dico Manual available in texinfo format. If the info reader and GNU Dico documentation are properly installed on your system, the command

info dico

should give you access to the complete manual.

You can also view the manual using the info mode in emacs(1), or find it in various formats online at

If any discrepancies occur between this manpage and the GNU Dico Manual, the later shall be considered the authoritative source.


Console-based utility for querying dictionary servers. It has two operation modes.

In single query mode, dico performs a query, displays its result and exits immediately. This mode is enabled if a word or a URL was given in the command line.

In interactive mode, dico enters a read-and-eval loop, in which it reads requests from the keyboard, performs the necessary searches, and displays obtained results on the screen.

Upon startup, dico looks for initialization files named .dico in the current user's home directory, and the current working directory. If found, these files are read in order, and their contents is treated as a sequence of commands, which are executed. See the section COMMANDS, for a discussion of available commands.


Server Selection

Select database to search.
Connect to this server.
Specify port to connect to.
Set source address for TCP connections.

Operation Modes

Show available databases.
Show server help.
Show information about the server.
Show available search strategies.
Show information about database DBNAME.
Set maximum Levenshtein distance to N.
Match instead of define.
Do not print the normal dico welcome banner.
Select a strategy for matching. Implies --match.


Disable authentication.
Set the name of autologin file to use.
Additional text for client command.
Set shared secret for authentication.
Disable SASL authentication.
Enable SASL authentication (default).
Set user name for authentication.


Include source line information in the debugging output.
Enable session transcript.
Include time stamp in the debugging output.
Increase debugging verbosity level.

Other Options

Print program version.
Print a short summary of command line options.
Display a short usage message.


In interactive mode dico reads commands from the standard input, executes them and displays results on the standard output. If the standard input is connected to a terminal, the readline and history facilities are enabled.

The input syntax is designed so as to save you the maximum amount of typing.

A line beginning with a # sign introduces a comment and is ignored.

Typing quiestion mark alone shows a short usage summary.

All commands begin with a command prefix, a single punctuation character used to tell a command from a define or match request. The default command prefix is a dot.

Any input starting with a slash is a match request. For example,


will display all headwords matching the word sail in the currently selected database.

Any input not starting with / or command prefix is a definition request. It is looked up using the defaault server and database settings, and the result is displayed on the screen.

Dico initialization files have the same syntax, excepting that no command prefix is used by default.

Available commands (without prefix) are summarized in the table below:

Use FILE for authentication. If FILE begins with ~/, this prefix is replaced with the name of the current user home directory, followed by /. The prefix ~USER/ is replaced with the home directory of USER. This command is mostly useful in the initialization file.

See the section AUTOLOGIN FILE, for a discussion of this feature.

Close the existing connection.
Without argument, display the currently selected database. With argument, select the database NAME.
If the remote server supports xlev experimental capability, this command shows the maximum Levenshtein distance. With argument, it sets the distance.
Displays short command usage summary. For convenience, a single question mark can be used instead of this command.
Show command history.
Display information about the database NAME, or the currently selected database, if used without arguments.
List databases.
List strategies.
Establish connection with remote server HOST. If given, use PORT instead of the default 2628.
Sets or displays external command used for paging output.
Without argument, shows the currently selected command prefix. With argument, sets command prefix to the given value.
Sets dico command line prompt.
Toggle the startup banner. Useful in the initialization file.
Quit the dico shell.
sasl [yes|no]
Without argument, show whether the SASL authentication is enabled. With argument, enable or disable it.
Without argument, display the currently selected matching strateguy. With argument, select the strategy NAME.
Enable or disable session transcript. When the transcript is on, dico displays raw DICT commands and answers as they are executed. It is useful for debugging purposes.

Used without arguments, this command shows current state of the transcript.

Print program version.
Print the copyright statement.


After connecting to a remote server, dico checks if the server supports authentication and attempts to authenticate itself if so. The authentication credentials are taken from the following sources:

Command line options --user and --password.
URL given as a command line argument.
Autologin files.

These three sources are consulted in that order, i.e., a user name supplied with the --user command line option takes precedence over the one found in an URL and over any names supplied by autologin files.

If, after consulting all these sources, the user name is established, while the password is not, the resulting action depends on whether the standard input is connected to a terminal. If it is, dico will ask the user to supply a password. If it is not, authentication is aborted and connection to the server is closed.

Some authentication mechanisms require additional credentials. For example, GSSAPI authentication requires a service name. These credentials can be supplied only in autologin file.

Autologin file is a plaintext file that contains authentication information for various DICT servers. At most two autologin files are consulted: first the session-specific file, if it is supplied by autologin command or by the --autologin command line option, next the default file .dicologin in the user's home directory. The default autologin file is examined only if no matching record was found in the session-specific one.

The file format is similar to that of .netrc.

Empty lines and comments are ignored. Comments are introduced by a pound sign. Non-empty lines constitute statements. Tokens in a statement are separated with spaces, tabs, or newlines. A valid statement must begin with one of the following:

This statement contains parameters for authenticating on server NAME.
This statement contains parameters for authenticating on any server, not explicitly listed in one of the machine statements. There can be at most one default statement in autologin file. Its exact location does not matter, it will always be matched after all explicit machine statements.

The following clauses can follow:

Supplies the user name for this server.
Supplies the password for this server.
Do not perform authentication on this server.
Enable SASL authentication.
Disable SASL authentication.
Declare acceptable SASL mechanisms. The LIST argument is a comma-separated list of mechanism names, without intervening whitespace. Multiple mechanisms clauses may be present, in which case the corresponding lists are concatenated.
Declare service name, for authentication methods that need it. If this token is omitted, the default service name dico is used.
Declare realm for authentication.
Set host name for this server. By default, it is determined automatically.



Complete GNU Dico manual: run info dico or use emacs(1) info mode to read it.

Online copies of GNU Dico documentation in various formats can be found at:


Sergey Poznyakoff


Report bugs to <>.


Copyright © 2008-2014 Sergey Poznyakoff
License GPLv3+: GNU GPL version 3 or later <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

August 5, 2016 GNU DICO