Communicatie tussen gebruiker en gebruiker

Waar is mijn email nou weer?!!

Linux is een operating system, dat leeft op en van Internet. Een van de meest populaire mogelijkheden van Linux is dan ook electronic mail.

Ook hier is de vraag natuurlijk: welke mailer moet je gebruiken? Er zijn talloze mogelijkheden. De meeste distributies hebben standaard een of meer mailers aan boord. U zou Pine kunnen gebruiken (die vergelijkbaar is met de editor pico). Maar u kunt uiteraard ook Netscape Mail gebruiken, die er wat gelikter uit ziet.

Email is snel. Het is ook gemakkelijker te gebruiken dan gewone post. U kunt meerdere mensen tegelijk een bericht sturen. Antwoorden van mensen, die op Internet zitten, komen vrijwel onmiddellijk. U kunt programma's en bestanden aan uw post koppelen. De voordelen zijn vele malen groter dan de (eventuele) nadelen.
(Hier staat enige uitleg over email adressen.)

Het lezen van nieuwsgroepen

Na email is een andere populaire manier om met mensen te communiceren het gebruik van nieuwsgroepen. Dat zijn eigenlijk een soort van "electronische prikborden" waarop mensen berichten schrijven, die door de hele nieuwsgroep te lezen zijn.

Een eerste probleem bij het lezen van nieuwsgroepen is het probleem van de interface. In dit geval dus: welke nieuwslezer moet men gebruiken? We zouden daar heel ingewikkeld over kunnen doen. Maar het is waarschijnlijk het gemakkelijkst om die van Netscape maar te nemen.

De meerderheid van de nieuwsleesprogramma's bieden de mogelijkheid de verschillende nieuwsgroepen, waarop de gebruiker is geabbonneerd, te tonen. Er is een venster met de titels van de berichten en een venster, waarin het actieve bericht getoond wordt.
 

Berichten met `write' en `mesg'

Het write commando stuurt een bericht naar een aangegeven gebruiker, op hetzelfde moment dat u het bericht intypt. Vereist is natuurlijk wel, dat de ontvanger ook ingelogd is op de computer.


Kan ik  met write ook iemand bereiken op een andere computer?

Het eerlijkste antwoord is: soms. Het hangt af van het systeem, waarop u zit. Maar probeert u het maar uit. Uw volgende vraag is natuurlijk: "Hoe weet ik of die persoon ook op de computer zit?" Het gebruikelijke commando daarvoor op uw eigen computer is who. Maar dat werkt niet op een andere machine. U heeft dan ook twee mogelijkheden. De eerste is: een account nemen op de andere machine en middels telnet of rlogin die computer benaderen. (We krijgen het er nog over hoe dat precies gaat.). De andere mogelijkheid is gebruik maken van het commando finger. Op sommige systemen is finger trouwens afgekort tot f. Net als met write kan het zijn, dat u op het andere systeem geen rechten hebt om finger te gebruiken.

Wat doet het commando finger? Het geeft u meer info over de gebruiker van uw keuze. U krijgt normaliter informatie als de login naam, de werkelijke naam, de home directory, of de gebruiker ingelogd is of niet, of ze ongelezen mail hebben, en mogelijk een project plaennen. Voor we naar de details gaan, een paar tips. De makkelijkste manier om info te krijgen gaat via het gebruik van betrokkene's login naam. Echter: vaak gebruikt u finger omdat u de login naam van betrokkene juist probeert te vinden. Dat kan lastig zijn. Probeer eerst de voornaam, de achternaam of beide. Dat kan een hoop uitvoer opleveren. Het computersysteem zal elke mogelijke overeenkomst met het ingevoerde laten zien. U kunt dus maar beter "|more" (dus een "pipe" gevolgd door het more commando) gebruiken.

Genoeg gepraat, hier is een voorbeeld:

$finger al

Login name:al               In real life:Al Simmons
Directory: /users/cs/study1/al   Shell: /bin/ksh
On since Jul 11 10:58:03         53 seconds Idle Time
   on ttyp0 from dove.cs.mun.ca
Project:To get out of life alive.
Plan:To choose the correct Universe.
$
Interessant. We weten al een hoop over gebruiker al. We weten dat hij ingelogd is, zijn echte naam is Al Simmons, hij gebruikt een "k" shell en maakt zich druk over de toekomst. Dat zou voldoende moeten zijn. Om met finger iemand te bereiken op een andere machine, zult u iets moeten intypen als:

$finger iemand@machine.host

waarbij "host" zoiets is als "cs.mun.ca" of "notmun.com". U moet natuurlijk wel weten wat ingevuld moet worden op de plaats van "machine.host". (Zie voor een uitgebreidere uitleg:  Email Addresses.)

Wat Project en Plan betreft: het finger commando kijkt in de home directory van de gebruiker op zoek naar bestanden die '.project' en '.plan' heten (merk op, dat dat beide "punt" (oftewel verborgen!) bestanden zijn). Als een van die bestanden bestaat, toont finger de info over die gebruiker. De meeste mensen zetten er een citaat of iets anders in, maar ze kunnen natuurlijk ook serieuze info bevatten.

Terug naar het onderwerp: write. Hier is een voorbeeld om te beginnen:

$write jacco
Ga naar huis, je bent hier al de hele dag!
^D
$

Omdat write zijn gegevens haalt uit de standaard invoer (toetsenbord dus), is er geen aanwijzing dat het commando op invoer wacht nadat u write en de inlognaam hebt ingevoerd. U typt gewoon het bericht in dat u versturen wilt, net zoveel regels als u wilt, en u eindigt het bericht met het einde-tekst teken: ctrl-D. U krijgt geen aanwijzing dat uw bericht werd ontvangen. Als Jacco uw bericht ontvangt, ziet dat er uit als:

Message from gebruiker tty08...
Ga naar huis, je bent hier al de hele dag! EOF

(Waarbij gebruiker uw gebruikersnaam is en mogelijk de machine, waar u op werkt.) Het EOF (End-Of-File), soms EOT (End-Of-Text), aangeeft dat het bericht klaar is en dat u gestopt bent met schrijven. Goed. Maar hoe moet het als Jacco (een super-coole computerhacker!) meerdere keren in het systeem is ingelogd? Hoe weet write dan aan wie hij moet schrijven? Antwoord: hij kiest er een naar willekeur. Meestal kiest hij de eerste poort waar de gebruiker is ingelogd. Dat kan problemen meebrengen als de gebruiker die ene poort net niet gebruikt. Dan ziet hij uw bericht dus nooit. Echter kunnen who en finger u de poorten geven waar een speciale gebruiker op zit. Dan kunt u een bericht sturen naar elke poort die in gebruik is.

Dat klinkt nogal inefficient, omdat u dus nooit weet of de melding doorkomt of niet. Het zou mooier zijn als de ander terug zou kunnen schrijven om te melden dat hij/zij het bericht ontvangen heeft. Dat kan ook. Nog sterker: u kunt feitelijk "praten" via write. Als u een bericht met write hebt verstuurd kan de ander met write antwoorden. Daarna is er een "chat sessie" geopend. Hieronder volgt een voorbeeld waarbij uw berichten dik gedrukt, en die van Jacco normaal gedrukt staan. Denk eraan: de ander moet eerste typen write gebruiker als hij het bericht ontvangt "Message from gebruiker tty08..."

$write jacco
Hallo. Wat is er?
Heb je plannen voor vanavond?
Nee, jij?
Misschien kunnen we een film gaan kijken.
Prima. Ik ben over 10 minuten in het cafeteria.
OK. Tot straks
Doei.
EOF
^D
$

Merk op dat de EOF verstuurd werd door de ander, wat betekent dat hij ctrl-D heeft ingedrukt aan het eind. Ook u dient dat nog te doen om uit de "schrijfmodus" te komen. Deze manier is geschikt voor korte meldingen of korte gesprekken. Voor een langer gesprek kunt u het commando talk proberen. Dat is ongeveer hetzelfde, behalve dat het scherm in tweeen wordt gedeeld, waarbij u de tekst van de ander in het ene scherm kunt lezen, terwijl u uw eigen tekst in het andere venster invoert.

Voordat we dit stukje achter ons laten, moet er nog een ding gemeld worden. Sommige mensen (ik begrijp ook niet waarom!) hebben een gloeiende hekel aan berichten. Probeer het dus niet te overdrijven. Bovendien: als u met het bewerken van een tekst bezig bent, kan een bericht het scherm behoorlijk door de war gooien. Mocht dat gebeuren, raak niet in paniek. Gebruik ctrl-L (^L) om het scherm in de oude staat terug te brengen.

Als u dit probleem geheel wilt vermijden, kunt u het mesg commando gebruiken om alle berichten voor uw scherm te verbieden.

$mesg n
$

Dit commando maakt het systeem duidelijk "nee" te zeggen tegen alle binnenkomende berichten. De aanvrager krijgt als reactie een "Permission denied" melding. Als u echter van gedachten verandert, vervangt u de "n" door een "y" en berichten kunnen wel binnenkomen. U kunt nagaan hoe uw huidige berichten-instelling is door het enkele commando mesg. De reactie van het systeem zal dan "yes" of "no" zijn, al naar gelang.

`telnet' en `rlogin'

telnet is een protocol dat u toestaat op afstand in te loggen via TCP/IP. U dient op de inlogcomputer natuurlijk wel een account te hebben. telnet staat niet altijd volledige terminal mogelijkheden toe. rlogin (inloggen op afstand) is een Linux commando dat lijkt op telnet, maar dan speciaal voor UNIX systemen.

Soms kunt u telnetten naar een site en onmiddellijk verbonden worden zonder gebruikersnaam. Dat is het geval bij die computers die verbindingen op deze manier toestaan, meestal bibliotheken.

Bijvoorbeeld: telnet maar eens naar het California State University, Long Beach Library systeem:

$telnet coast.lib.csulb.edu

Er zijn vele bibliotheken waarheen u vrijelijk kunt telnetten en verbinding maken zonder een gebruikersnaam. Er zijn ook veel andere sites waar u op deze manier verbinding kunt maken. Sommige vereisen een speciale gebruikersnaam (en mogelijk een wachtwoord) om te mogen inloggen. Vaak wordt dan een standaard naam gevraagd, zoals "guest" of "visitor".

Sommige sites staan u slechts een tijdelijke periode toe als bezoeker. Verder en/of onbeperkt gebruik gaat dan mogelijk geld kosten. Sommige sites vragen naam, adres en creditcard nummer. Wees in dat soort gevallen dus wel voorzichtig!

Als u eenmaal met de andere computer verbonden bent, lees dan wel alle info in het hoofdmenu. Het is gebruikelijk, dat u hier uitgelegd krijgt hoe u het systeem weer kunt verlaten. Is dat niet zo, probeer dan de standaard commando's zoals exit, quit, bye of logoff.

Als u toch problemen hebt om op een goede manier uit te loggen, kunt u de standaard telnet toetscombinatie proberen ^] (ctrl-rechter teksthaak). Daardoor komt u terug in de telnet prompt. Op dit punt kunt u de verbinding verbreken of terugkeren naar de systeem prompt.

Bij de telnet prompt gebruikt u quit om uit te loggen.

Tijdsbepaalde meldingen

Hoewel we in dit stukje berichten als voorbeeld nemen is het gebruik van tijdsbepaling niet beperkt tot post. Ook andere programma's kunnen dit gebruiken. Om "time delay" te regelen heeft u het commando at nodig. In de voorbeelden hebben we ook het echo commando nodig. Dat herhaalt alleen de argumenten op de standaard uitvoer (scherm dus). Probeert u het commando maar eens uit.

Hier is een voorbeeld van het sturen van post aan uzelf (of aan wie ook) om u te herinneren aan een afspraak met de dokter.

$at 1430
echo tijd om te gaan | mail uzelf
^D
$

(Nogmaals: uzelf = gebruikersnaam). In dit geval zult u om 2:30 pm een mailtje ontvangen dat zegt "tijd om te gaan". Met at bent u niet beperkt tot het regelen van zaken via de tijd. U kunt ook een weekdag invoeren of een datum. De weekdag kan afgekort worden.

Laten we voor de volledigheid eens kijken naar een voorbeeld van at dat geen betrekking heeft op post.  ps2html is een programma dat  "post-script" bestanden als invoer neemt en ze omzet naar "html" bestanden (zoals wat u nu aan het lezen bent). Beide zijn slechts verschillende opmaken voor het tonen van documenten op verschillende media. Hoe dan ook: het programma neemt nogal wat tijd in beslag, zodat u bij de verwerking van een aantal teksten het programma misschien liever 's nachts laat draaien.  Dat zou op deze manier kunnen:

$cat > format
ps2html file1.ps > file1.html
ps2html file2.ps > file2.html
ps2html file3.ps > file.html
ps2html file.ps > files.html
^D
$at 2a format
$

Dus om 2 am zal uw  ps2html programma beginnen met draaien.