Network Communication

How to "talk" Online

What do we mean by talking online?  In this instance, we are talking about interactive communication with one or more people over the network.  At some point in time, you will want to talk to someone interactively over the network and here we list the three most common programs to use in Computer Science; talk, ntalk, ytalk.

The first step however, is to verify the user you wish to talk to is online.   See   finger, w, or who commands.

Once you know the user is online, you can select the appropriate talk program.   All of the talk commands share the same command line format but not necessarily the same flags and options.  The basic command would look something like this:

%<talk> <flags> <username> <port info>

Note: you do not need to supply all of the options above but the <talk> and <username> is mandatory.

Here are the different situations you may encounter:

1. User is logged onto the same computer

%<talk> <username>

2.  User is log on the same computer but with more than one terminal

%<talk> <username> tty<tty #>

3.  User is on the same domain but not necessarily on the same computer ( i.e. the user happens logged in to cs.mcgill.ca but on a different computer )

%<talk> <username>@<host name>

4.  If the user is on a different doman

%<talk> <username>@<host name>.<domain address>

There are other scenarios possible but the basis is listed above that it other scenarios require small variations to get it working.  The man pages for talk, ntalk and ytalk have the most complete reference with all of the possible options listed.

Note:  The other user must have the ability to receive and respond to your talk requests.  Having a flavour of Unix helps but if the appropriate talk programs are not installed or they have turned off talk requests for privacy then you are out of luck.  The chat programs listed will not connect to the popular Windows ICQ chat programs.

To receive and respond to requests for talks you will have to ensure you have turned on the ability to receive talks requests.  By default, users have the ability to receive talk requests.  To change the option of people sending talk requests see "How to Stop Idiots From Disturbing You".  If you have not turned off the option to receive talk requests, you will see a message similar to:

Message from TalkDaemon@ <machine> at time ...
talk: connection requested by <address>
talk: respond with: talk <address>

And you can reply with one of the following.

talk

Simpler to type than the other two and it has the least amount of features.  To exit the program use ctrl-c and not ctrl-z ( ctrl-c is the typical Unix interupt sequence while ctrl-z will just throw the process in the background without quiting ).  There is also the option to exit by sending an end-of-file ( EOF ) character.  To refresh the screen try ctrl-l.   To erase lines of text ( at times you will be overwriting your own text ) try ctrl-k.

ntalk

It is exactly the same as talk, someone must of come up with the idea of aliasing ntalk to talk just to confuse us.

ytalk

This is the talk program with the most advanced options available to you.   Ytalk supports multple number of users and it is compatible with the talk protocols of talk and ntalk.  There are command line flags available such as -x, and -s. The -x flag will not load the X11 ( that's when you are X-Windows ) version of ytalk to chat with someone and the -s command will start ytalk in shell mode.  Ytalk in shell mode means you are running ytalk buy can still work on the command line while you are waiting for the other person to connect to you.  Once the other person has responded, type exit to end the shell mode and enter chat mode with ytalk.  If you do not type exit the other user will be able to see everything displayed to you ( this is a feature with ytalk in shell mode ).

To evoke the multiple chat capabilities you can either enter successive persons to the list from the command line. Example:

%ytalk <username1> <username2> <username3> ...

or start ytalk with one user and add additional users through the menu choices ( available when you are in ytalk and hit the <ESC> key ).

The limitation for the number of users depends on the number of lines available in the terminal chat window.  During a chat, as each person enters the conversation, the terminal windows continues to be divided horizontally.  At the minimum, each participant will have 3 lines to type their conversations.  In addition, to allow for multiple users with varying terminal ports numbers, etc, etc ( refer to the 4 conditions listed above ) you use the following convention supported only for ytalk;

name#tty@host.

From within ytalk you have a series of commands available to you from the menu ( to evoke the menu in ytalk hit the <ESC> key ):

a: add a user
d: delete a user
o: options
s: shell
u: user list
w: output user to file
q: quit

The first two commands are self explanatory.  I will get back to the options menu choice. 

The shell option will allow you to wander to the command line and basically show the your ytalk recipients whatever you are doing. ( i.e. you have some code you want to show off, etc ).  The user list option allows you to check who is currently online talking to you, who is not connected, what type of talk software they are running ( ytalk, talk, etc ). 

The second to last option output user to file is not meant to be insulting.  From the time the option is chosen, all further output from the specified user will be directed out to a file specified ( note: if the file is pre-existing it will be overwritten ).  This option is useful when, for example, one user wants to share a text file across ytalk ( By the way, there are better ways of doing this! ).  The one sharing the file would wait for the other person to select the output user to file option before choosing the shell option and listing the text file with type or some other utility.  Note: this is only one possible use of this option.

Choosing the options selection from the menu will open another menu:

s: turn scrolling [off/on]
w: turn word-wrap [off/on]
i: turn auto-import [off/on]
v: turn auto-invite [off/on]
r: turn auto-rering [off/on]

All of these options only affect the current user of ytalk. 

The option s: turn scrolling [off/on] is useful when you want to continue scrolling down the talk window as opposed to wrapping to the top everytime you reach the bottom. 

The option w: turn word-wrap [off/on] will wrap entire words to the next line when you get to the right most edge of the talk window.

i: turn auto-import [off/on] automatically adds users to your ytalk.  For example, person A is talking to person B and person C is sending a talk request to person B.  If person A has the auto-import feature enabled, then when person B accepts the talk request to person C, person A automatically accepts the talk request as well.

v: turn auto-invite [off/on] setting will automatically accept connections to users who request a talk session.

r: turn auto-rering [off/on] will automatically rering anyone who has not accepted an invitation to a talk request within 30 seconds. 

All of these options and more can be configured with the file .ytalkrc found in your home directory ( if it is not there you can create one but consult the man pages first ).  There are more options available to you especially with the X11 ( X Windows ) interface of ytalk.  Consult the man pages for more details.

 

Chatting

Chatting on the internet could mean anything from ICQ to WBS, but in this context we are talking about IRC ( Internet Relay Chat ).  Basically, IRC is for entertainment and thus you should not be taking up a lab computer just to chat.  Problems with using IRC for the uninitiated is security.  Lots of times, new users do not know the commands available to them and often other IRC users will try their best to gain access to your account, or just screw you over with a sequence of commands.  Take the time to find out as much as you can concerning the commands used in IRC ( or at least what not to type when you are online ). 

From the command line all you will need to do is type

%irc

From there you can find the most commonly used commands with the \help command from within IRC.  Just as a note, there are no bots allowed to be run from Computer Science at McGill.  If the system staff find out you are running bots they would probably spank you and watch what you do when you are online with more scutiny.  This all being said please, if you are ONLY chatting on IRC at peak hours please relinquish your computer to someone who needs it.  Its either that or a consultant may swing by and remove you from the computer.

 

Finger, Plan, Project, Masterplan, etc

The finger utility allows users to see if someone is currently online, how long they have been online, etc.  Just try the following:

%finger <username>

Where <username> is the username of the person you wish to find information about. You will get back a blurb much like the following:

Login name: <username> In real life: <real name>
Directory: /u11/ugrad/<username> Shell: /usr/local/bin/tcsh
On since Sep 10 08:02:24 on pts/4 from C-13.DAS.McGill.CA
Mail last read Thu Sep 10 07:36:15 1998
Plan:

The first line is really self explanitory.  Note: you can finger someone to find out their real name by knowing their login names and vice versa.   Finger will look for the login and real names of the parameter you give it.   The location of the person's home directory follows and the current shell they are using.  The third line displays the time the person has been logged on, which port, and where they are logging in from.  The second to last line shows when the person last checked their mail.  This is useful if you want to verify if they have read your message or they are ignoring you.  Lastly is a section known as the Plan. 

The Plan is a text describing some blurb you wish users to know about yourself.  This is useful to Unix users fingering you and getting information you may want to supply ( i.e. phone number, address, what program you are in, other contact information, a joke, etc ).  To change the Plan you edit the text file .plan located in your home directory ( note: see the section on editors if you do not know which one to use and to get to your home directory try the command cd without the

Here is a list of a few command line arguments associated with finger.   The syntax is:

%finger <option> <username>

Option Short Description
-m Only matching the parameter entered with the username on the system
-l Long output format
-s Short output format
-q Similar to short but only login name, terminal and login time are part of the output
-i Similar to short with only login name, terminal, login time and idle time.
-b Suppressing displaying the user home directory and shell type
-p Suppressing displaying the .plan file

 

Another thing to keep in mind, if the person you are trying to contact is on another server or domain, you may have to include the full domain name address to get any information.  Note: some Universities/businesses only allow fingers from within their own domain or have removed the ability to accept finger requests.  The following syntax is one way to include the domain name address:

%finger <option> <username>@<domain name address>

How to stop idiots from disturbing you!

The mesg command is how to stop those pestering people from messaging or trying to talk with you, etc.  The command is straight forward to use.  If you want to be left alone include the n parameter and if you would like talk requests to come through use y as the parameter.  To discover the current setting just type mesg.  Example, I would like to stop receiving chat requests.

%mesg n

Useful commands to keep around

w and who