---
name: "gtalkd"
section: "8"
platform: "linux"
package: "gtalk"
version: "0.99.10-13"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/gtalkd"
---

# gtalkd(8)

GNU talk daemon

## NAME

gtalkd - GNU talk daemon

## SYNOPSIS

**gtalkd** \[ **-bfghsStv --version** \]\

## DESCRIPTION

*gtalkd* is a talk daemon which is fully compatible with  *ntalkd* which is the *BSD* talk daemon. *gtalkd* provides a talk service via the internet.  A user may use a  *talk client* to send a UDP message to *gtalkd* which will then provide the services of storing invitations, and making announcements to a user's terminal.

Command line switches are:

- **-b, --bsd**

  Emulate the BSD post 4.2 talk protocol by not accepting any GNU talk protocol extensions.

- **-f, --forever**

  Open a socket and loop on it forever.  Unlike running under inetd during which stdin and stdout provides the socket necessary for communication, this option lets the talk daemon run as a separate self supporting process.

- **-g, --gnu**

  Run using the GNU talk protocol extensions.  This is the default.

- **-h, --help**

  Print process help.

- **-s, --sun**

  Simulate the pre BSD 4.2 talk protocol which is commonly found on SunOS and Solaris.

- **-S, --sunforward**

  This option is run as an extended option for the --sun option. Instead of acting as a daemon and answering requests, all requests are sent to the n/gtalk daemon on the same machine.  Answers are received and forwarded back the the requester.

- **-t, --tty**

  Send all error and verbose messages to the controlling TTY.  In addition, create and bind the correct socket by hand instead of inheriting it through stdin and stdout.

- **-v, --verbose**

  Print out verbose information, or verbose syslog information.

- **--version**

  Print out the current version of gtalkd.

## INSTALLATION

The GNU talk daemon can be placed in a system bin such as */usr/sbin* or */usr/local/sbin* and then installed in the  *inetd.conf* file in place of the normal talk daemon which may be found there.  The resulting configuration in *inetd.conf* should contain the following lines:

talk dgram udp wait root /usr/sbin/tcpd /sbin/gtalkd -Ss

ntalk dgram udp wait root /usr/sbin/tcpd /sbin/gtalkd

In addition, if you are installing on SunOS or Solaris, you will have to make it aware of the ntalk service.  This service is found in */etc/services.* Simply find the line which says:

talk		517/udp

and add the line

ntalk		518/udp

right after it.

## FILES

- **/etc/inetd.conf**

  Contains definitions for the Internet Super Server to start gtalkd.

- **/etc/services**

  This file contains information relating names socket/service information to names.  It is used to determine the "\[n\]talk" socket used when in forever mode.

- **/etc/passwd**

  Accessing /etc/passwd in the usual way allows *gtalkd* to determine a users home directory to read their personal ringer file.  The ringer file allows *gtalkd* to forward announcements directly to an interested process.

- **~/.ringer**

  Different individuals may start applications which create and manage this file.  The file contains a UDP socket definition which allows *gtalkd* to automatically pass the announcement information directly to a process which cares.

- **~/.talkfilter**

  This is read by gtalkd to determine of a pattern matches an incomming call for the callee.  If it does, then the requested response is returned. A pattern is of the form

-

             username@hostname DENY\_METHOD

-

  The username is a string which must match the incomming caller's id exactly. The hostname can be a substring of the caller's host name to match. One of username or hostname can be blank, which conflicts defaulting first to  username only matches, and then to complete username,hostname combinations.

-

  Valid DENY\_METHODS are *ALLOW* , which allows a pattern to announce to you, and *NOT\_HERE* , which cause *gtalkd* to predent you are not logged on. In addition, *FAILED* sends a failure message, and *PERMISSION\_DENIED* pretends that you have permissions turned off on your tty. Lastly, *SELECTIVE\_REFUSAL* means to send a specific message back saying that you have chosen to specifically prevent that person from calling you. If their client is not GTALK compliant, then it is downgraded to *PERMISSION\_DENIED*

- **/etc/utmp, /var/adm/utmp**

  Different locations of utmp which contain login information for different users.  This file is referenced to determine which TTY device to open in order to write an announcement message.

- **/dev/tty\***

  Terminal devices users are attached to.  These devices are opened in order to write an announcement message.

## AUTHOR

Eric M Ludlam \<zappo@gnu.org\>

## BUGS

Report bugs to \<zappo@gnu.org\>.  This system has never been tested in a high volume situation due to my limited resources.

## COPYRIGHT

Copyright © 1995, 1996 Eric M. Ludlam Copyright © 1997  Free Software Foundation.

## AVAILABILITY

The newest version of gtalkd can be found within the etalk distribution.  As of the writing of this manual, it can be found on ftp.ultranet.com:/pub/zappo/gtalk-\*.tar.gz

## SEE ALSO

[**inetd**(8)](/inetd/8.md),[**talk**(1)](/talk/1.md),**etalk**(1),[**xphone**(1)](/xphone/1.md)
