DICO(1)

πŸ“¦
version 2.12 Β· 4 versions
, in debian trixie, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

DICO(1) πŸ’– GNU Dico Reference

okay bestie, buckle up β€” this is dico, the GNU dictionary client program, and she's iconic. ✨


🌸 SYNOPSIS 🌸

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

like, she has options for days. πŸ’…


πŸŽ€ NOTE πŸŽ€

so, real talk: this manpage is just a short description of GNU dico. For the whole detailed discussion β€” examples, usage recommendations, all of it β€” you want the GNU Dico Manual in texinfo format. If the info reader and the GNU Dico docs are properly installed on your system, this:

info dico

should hand you the complete manual. 🫢

you can also peep the manual through info mode in emacs(1), or find it in various formats online at:

http://www.gnu.org.ua/software/dico/manual
⚠️ and if this manpage and the GNU Dico Manual ever disagree? the Manual wins. it's the authoritative source, no cap. the later shall be considered the authoritative source, periodt.

πŸ¦‹ DESCRIPTION πŸ¦‹

she's a console-based utility for querying dictionary servers, and honestly she has two whole personalities β€” two operation modes. 🎭

Single query mode: dico runs a query, shows you the result, and dips immediately. This mode kicks in if a word or a URL was given in the command line. in and out, main character energy.

Interactive mode: dico enters a read-and-eval loop, where she reads requests from the keyboard, does the necessary searches, and displays the results on your screen. it's giving study session. πŸ“š

On startup, dico looks for initialization files named .dico in the current user's home directory, and in the current working directory. If she finds them, they get read in order, and their contents are treated as a sequence of commands, which then get executed. πŸ‘‘ Wanna know what commands? Head to the COMMANDS section, bestie.


✨ OPTIONS ✨

πŸ’œ Server Selection

  • -d, --database=NAME β€” pick the database to search.
  • --host=SERVER β€” connect to this server.
  • -p, --port=SERVICE β€” specify the port to connect to.
  • --source=ADDR β€” set the source address for TCP connections.

πŸ’œ Operation Modes

  • -D, --dbs β€” show available databases.
  • -H, --serverhelp β€” show server help.
  • -I, --serverinfo β€” show information about the server.
  • -S, --strategies β€” show available search strategies.
  • -i, --info=DBNAME β€” show information about database DBNAME.
  • --levdist, --levenshtein-distance=N β€” set the maximum Levenshtein distance to N.
  • -m, --match β€” match instead of define.
  • -q, --quiet β€” do not print the normal dico welcome banner. (no banner? lowkey sad but okay πŸ™ˆ)
  • -s, --strategy=NAME β€” select a strategy for matching. this one implies --match.

πŸ’œ Authentication

  • -a, --noauth β€” disable authentication.
  • --autologin=NAME β€” set the name of the autologin file to use.
  • -c, --client=STRING β€” additional text for the client command.
  • -k, --key, --password=STRING β€” set the shared secret for authentication.
  • --nosasl β€” disable SASL authentication.
  • --sasl β€” enable SASL authentication (default).
  • -u, --user=NAME β€” set the user name for authentication.

πŸ’œ Debugging

  • --source-info β€” include source line information in the debugging output.
  • -t, --transcript β€” enable session transcript.
  • --time-stamp β€” include time stamp in the debugging output.
  • -v, --verbose β€” increase the debugging verbosity level.

πŸ’œ Other Options

  • -V, --version β€” print program version.
  • -h, --help β€” print a short summary of command line options.
  • --usage β€” display a short usage message.

🌈 COMMANDS 🌈

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

the input syntax was designed to save you the maximum amount of typing. she's considerate like that. 🫢

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

Typing a question 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:

/sail

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

Any input not starting with / or the command prefix is a definition request. It gets looked up using the default 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:

  • autologin FILE β€” 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 β€” close the existing connection.
  • database [NAME] β€” without argument, display the currently selected database. With argument, select the database NAME.
  • distance [N] β€” if the remote server supports the xlev experimental capability, this command shows the maximum Levenshtein distance. With argument, it sets the distance.
  • help β€” displays a short command usage summary. For convenience, a single question mark can be used instead of this command. ❓
  • history β€” show command history.
  • info [NAME] β€” display information about the database NAME, or the currently selected database, if used without arguments.
  • ld β€” list databases.
  • ls β€” list strategies.
  • open HOST [PORT] β€” establish a connection with remote server HOST. If given, use PORT instead of the default 2628.
  • pager [COMMAND] β€” sets or displays the external command used for paging output.
  • prefix [CHAR] β€” without argument, shows the currently selected command prefix. With argument, sets the command prefix to the given value.
  • prompt STRING β€” sets the dico command line prompt.
  • quiet yes|no β€” toggle the startup banner. Useful in the initialization file.
  • quit β€” quit the dico shell. 😭
  • sasl [yes|no] β€” without argument, show whether the SASL authentication is enabled. With argument, enable or disable it.
  • strategy [NAME] β€” without argument, display the currently selected matching strategy. With argument, select the strategy NAME.
  • transcript [yes|no] β€” enable or disable the 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 the current state of the transcript. πŸ”
  • version β€” print program version.
  • warranty β€” print the copyright statement.

🧚 AUTOLOGIN FILE 🧚

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:

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

These three sources are consulted in that order β€” like, a user name supplied with the --user command line option takes precedence over the one found in a URL, and over any names supplied by autologin files. priority queen πŸ‘‘

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 the 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 the autologin file. iykyk.

The 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 the 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:

  • machine NAME β€” this statement contains parameters for authenticating on server NAME.
  • default β€” 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 the autologin file. Its exact location does not matter β€” it will always be matched after all explicit machine statements.

The following clauses can follow:

  • login NAME β€” supplies the user name for this server.
  • password STRING β€” supplies the password for this server.
  • noauth β€” do not perform authentication on this server.
  • sasl β€” enable SASL authentication.
  • nosasl β€” disable SASL authentication.
  • mechanisms LIST β€” 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.
  • service NAME β€” declare the service name, for authentication methods that need it. If this token is omitted, the default service name dico is used.
  • realm NAME β€” declare the realm for authentication.
  • host NAME β€” set the host name for this server. By default, it is determined automatically.

πŸ¦‹ SEE ALSO πŸ¦‹

okay so if you wanna meet the other half of this whole situation β€” the server side of the gossip β€” go read dicod(8). that's the daemon bestie. the one doing the actual serving. iconic behavior honestly.


and if you want the Complete GNU Dico manual in all its glory, you've got options, queen:

  • run info dico and read it right there in your terminal like the main character you are
  • or use emacs(1) info mode, if that's your vibe (iykyk)

also!! online copies of the GNU Dico documentation, in various formats, are just sitting there waiting for you at:

http://www.gnu.org.ua/software/dico/manual

go get your reading on πŸ’…


πŸ‘‘ AUTHORS πŸ‘‘

this masterpiece was brought to you by Sergey Poznyakoff. that's the person. the legend. the moment. give them their flowers fr fr 🌸


πŸ› BUG REPORTS πŸ›

found a bug? bestie, don't suffer in silence, don't gatekeep it, and please don't just yell into the void 😭 β€” report that thing to:

<bug-dico@gnu.org.ua>

they literally want to know. it's giving community. it's giving we-fix-it-together. periodt πŸ’–


okay legal era, let's go:

Copyright Β© 2008-2014 Sergey Poznyakoff

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

NO WARRANTY is doing a LOT of heavy lifting in that sentence, bestie. like, the freedom is real and the software is free, but if it eats your config β€” that's on you, not on them. read it, internalize it, respect it πŸ™ˆ

and that's the whole page, babes!! you just read the GNU Dico manual, DICO(1), last touched on August 5, 2016 β€” shoutout to the GNU DICO fam for keeping the lore alive. now go look up some words, you gorgeous dictionary gremlin πŸŽ€βœ¨πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from