# Want ytalk/ntalk/talk, but can't get a listening talkd

## JonathansCornerCom

I know that ytalk/ntalk/talk are considered ancient compared to newer IM protocols, but I miss at least one feature of basic talk: modulo netlag, you see the other party's typing immediately, not when the other party finishes typing a line or so.

I've been having a bear of a time getting anything to listen on port 517/talk or 518/ntalk. After emerging net-misc/netkit-talk and ensuring that I have entries in /etc/services and the following patched /etc/xinetd.d/talk:

```
# default: off

# description: The talk server accepts talk requests for chatting with users \

#   on other systems.

service ntalk

{

   #flags         = IPv4

   disable         = no

   socket_type      = dgram

   wait         = yes

   user         = nobody

   group         = tty

   server         = /usr/sbin/in.talkd

}
```

I have never managed to get a talk session running; I haven't even managed to get a socket open from localhost on 517 or 518, even though /etc/hosts.allow and /etc/hosts.deny are set to allow all traffic (I'm on a protected LAN) and I do not have iptables installed.

My immediate goal is to get a talk session between two login sessions on that one box; it would be nice after that to be able to talk between LAN machines. Is there some configuration I'm missing, or should I file a bug?

----------

## NeddySeagoon

JonathansCornerCom,

Welcome to the forums.

It looks like you have both talk and xinetd installed. Thats good because the talk ebuild did not used to install xinetd if it was missing.

Please post your /etc/hosts file

Its important that the line 

```
 127.0.0.1      localhost.localdomain localhost
```

does not contain the hostname.

That should only appear on the line with its IP

----------

## JonathansCornerCom

 *NeddySeagoon wrote:*   

> Welcome to the forums.
> 
> It looks like you have both talk and xinetd installed. Thats good because the talk ebuild did not used to install xinetd if it was missing.
> 
> Please post your /etc/hosts file

 

Thank you!

My /etc/hosts file had the hostname on the 127.0.0.1 line; I amended to:

```
# /etc/hosts: Local Host Database

#

# This file describes a number of aliases-to-address mappings for the for 

# local hosts that share this file.

#

# In the presence of the domain name service or NIS, this file may not be 

# consulted at all; see /etc/host.conf for the resolution order.

#

# IPv4 and IPv6 localhost aliases

127.0.0.1       localhost

192.168.1.118   vmgentoo.callone.net vmgentoo vmjhayward.callone.net vmjhayward

::1             localhost

#

# Imaginary network.

#10.0.0.2               myname

#10.0.0.3               myfriend

#

# According to RFC 1918, you can use the following IP networks for private 

# nets which will never be connected to the Internet:

#

#       10.0.0.0        -   10.255.255.255

#       172.16.0.0      -   172.31.255.255

#       192.168.0.0     -   192.168.255.255

#

# In case you want to be able to connect directly to the Internet (i.e. not 

# behind a NAT, ADSL router, etc...), you need real official assigned 

# numbers.  Do not try to invent your own network numbers but instead get one 

# from your network provider (if any) or from your regional registry (ARIN, 

# APNIC, LACNIC, RIPE NCC, or AfriNIC.)

#

```

Are the two localhost entries a problem? I still couldn't talk after restarting.

Thanks,

----------

## NeddySeagoon

JonathansCornerCom,

The two localhost lines are for different things.

```
::1             localhost 
```

is for IPv6. You probably don't use this

```
127.0.0.1       localhost 
```

is for IPv4

To be strictly correct,

Your IPv4 entry should be

```
127.0.0.1      localdomain.localhost localhost
```

Check your /etc/host.conf.  It should have 

```
order hosts, bind
```

this means the /etc/hosts is consulted to resolve a name to an IP before the resolver goes to a nameserver.

My working /etc/xinet.conf

```
# This is the master xinetd configuration file. Settings in the

# default section will be inherited by all service configurations

# unless explicitly overridden in the service configuration. See

# xinetd.conf in the man pages for a more detailed explanation of

# these attributes.

defaults

{

# The next two items are intended to be a quick access place to

# temporarily enable or disable services.

#

#       enabled         =

#       disabled        =

# Define general logging characteristics.

        log_type        = SYSLOG daemon info 

        log_on_failure  = HOST

        log_on_success  = PID HOST DURATION EXIT

# Define access restriction defaults

#

#       no_access       =

#       only_from       = localhost

        only_from       = 192.168.0.0

#       max_load        = 0

        cps             = 50 10

        instances       = 50

        per_source      = 10

# Address and networking defaults

#

#       bind            =

#       mdns            = yes

        v6only          = no

# setup environmental attributes

#

#       passenv         =

        groups          = yes

        umask           = 002

# Generally, banners are not used. This sets up their global defaults

#

#       banner          =

#       banner_fail     =

#       banner_success  =

}

includedir /etc/xinetd.d
```

My working /etc/xinetd.d/talk

```
# default: off

# description: The talk server accepts talk requests for chatting with users \

#       on other systems.

service ntalk

{

#       flags                   = IPv4

#       disable                 = yes

        disable                 = no

        socket_type             = dgram

        wait                    = yes

        user                    = nobody

        group                   = tty

        server                  = /usr/sbin/in.talkd

}

```

Note that even when talking to other users on the same box, it has  

```
only_from       = 192.168.0.0 
```

so connections from 127.0.0.1 are never used.

----------

## JonathansCornerCom

I made some changes to bring things up to what you mentioned. /etc/hosts is now:

```
# /etc/hosts: Local Host Database

#

# This file describes a number of aliases-to-address mappings for the for 

# local hosts that share this file.

#

# In the presence of the domain name service or NIS, this file may not be 

# consulted at all; see /etc/host.conf for the resolution order.

#

# IPv4 and IPv6 localhost aliases

127.0.0.1   localdomain.localhost localhost

192.168.1.118   vmgentoo.callone.net vmgentoo vmjhayward.callone.net vmjhayward

::1      localhost

#

# Imaginary network.

#10.0.0.2               myname

#10.0.0.3               myfriend

#

# According to RFC 1918, you can use the following IP networks for private 

# nets which will never be connected to the Internet:

#

#       10.0.0.0        -   10.255.255.255

#       172.16.0.0      -   172.31.255.255

#       192.168.0.0     -   192.168.255.255

#

# In case you want to be able to connect directly to the Internet (i.e. not 

# behind a NAT, ADSL router, etc...), you need real official assigned 

# numbers.  Do not try to invent your own network numbers but instead get one 

# from your network provider (if any) or from your regional registry (ARIN, 

# APNIC, LACNIC, RIPE NCC, or AfriNIC.)

#
```

/etc/hosts.conf did not previously exist; it now has:

```
order hosts, bind
```

I changed the only_from in /etc/xinetd.conf from locahost to 192.168.0.0:

```
#

# This is the master xinetd configuration file. Settings in the

# default section will be inherited by all service configurations

# unless explicitly overridden in the service configuration. See

# xinetd.conf in the man pages for a more detailed explanation of

# these attributes.

defaults

{

# The next two items are intended to be a quick access place to

# temporarily enable or disable services.

#

#   enabled      =

#   disabled   =

# Define general logging characteristics.

   log_type   = SYSLOG daemon info 

   log_on_failure   = HOST

   log_on_success   = PID HOST DURATION EXIT

# Define access restriction defaults

#

#   no_access   =

#   only_from   = localhost

   only_from   = 192.168.0.0

#   max_load   = 0

   cps      = 50 10

   instances   = 50

   per_source   = 10

# Address and networking defaults

#

#   bind      =

#   mdns      = yes

   v6only      = no

# setup environmental attributes

#

#   passenv      =

   groups      = yes

   umask      = 002

# Generally, banners are not used. This sets up their global defaults

#

#   banner      =

#   banner_fail   =

#   banner_success   =

}

includedir /etc/xinetd.d
```

I didn't change /etc/xinetd.d/talk this round through:

```
# default: off

# description: The talk server accepts talk requests for chatting with users \

#   on other systems.

service ntalk

{

   #flags         = IPv4

   disable         = no

   socket_type      = dgram

   wait         = yes

   user         = nobody

   group         = tty

   server         = /usr/sbin/in.talkd

}
```

If I use a test user to "talk jhayward" or "talk jhayward@vmjhayward", I get:

```
[ Error on read from talk daemon: Connection refused. Press any key... ]─
```

followed by:

```
[Checking for invitation on caller's machine]
```

Do you see an error with the config files as posted?

TIA,

----------

## tgR10

 *JonathansCornerCom wrote:*   

>  you see the other party's typing immediately, not when the other party finishes typing a line or so.

 

same as in jabber/xmpp you should try it

also you can see if somebody close conversation

----------

## JonathansCornerCom

 *tgR10 wrote:*   

>  *JonathansCornerCom wrote:*    you see the other party's typing immediately, not when the other party finishes typing a line or so. 
> 
> same as in jabber/xmpp you should try it

 

In Psi using Jabber, I receive stuff line-by-line, although it displays "(Composing)" while the other party is typing.

Are there Linux Jabber clients available that show instant character-by-character?

----------

## tgR10

i thought it's letter by letter, i'm using pidgin

----------

## JonathansCornerCom

 *tgR10 wrote:*   

> i thought it's letter by letter, i'm using pidgin

 

Well, I'd be happy to get pidgin to do that; right now the behavior I've observed is that it displays a line/chunk of text at once. Could you tell me how to enable character-by-character display?

----------

