talk (informatyka)
talk to program służący do bezpośredniej komunikacji pomiędzy użytkownikami maszyny uniksowej. Początkowo program mógł obsługiwać tylko rozmowę dwóch użytkowników zalogowanych na tej samej maszynie. Później opracowano także protokół komunikacyjny umożliwiający kontakt użytkownikom różnych maszyn, połączonych siecią komputerową. Powstało kilka programów rozwijających ideę talka, między innymi ntalk oraz ytalk. Ten ostatni umożliwia rozmowę więcej niż dwóch osób. Interfejs programów typu talk charakteryzuje się tym, że jest podzielony na obszary przypisane poszczególnym użytkownikom. W przeciwieństwie do IRC oraz komunikatorów internetowych talk przesyła pojedynczo każdy znak, zaraz po naciśnięciu klawisza.
Użytkownicy podczas korzystania z systemu mogą komunikować się między sobą. Najprostszą formą komunikacji jest wysłanie krótkiej wiadomości na konsolę innego użytkownika poprzez komendę "write" i podanie identyfikatora użytkownika docelowego jako parametru wywołania. Komunikat zakończyć należy kombinacją Ctrl-d. Na przykład jeśli jeden z użytkowników napisze wiadomość w taki sposób:
[uczeń@ktos uczeń]$ write szkola Witajcie uczniowie! Co słychać ciekawego? [uczeń@ktos uczeń]$
Wówczas na terminalu użytkownika "szkola" pojawi się:
Message from uczeń@ktos.best.pl on tty3 at 12:50 ... Witajcie uczniowie! Co słychać ciekawego? EOF
Pewną odmianą polecenia "write" jest "wall" (z angielskiego Write to ALL). Polecenie to powoduje wysłanie komunikatu do wszystkich zalogowanych użytkowników, z wyjątkiem tych, którzy zablokowali otrzymywanie komunikatów (poprzez "mesg n"). Jednak ten sposób komunikacji nie jest zbyt wygodny. Po pierwsze - jest to komunikacja jednostronna, tzn. użytkownik docelowy nie jest w stanie odpowiedzieć. Po drugie - wiadomość jest wyświetlana użytkownikowi docelowemu niezależnie w trakcie jakiej był czynności, zatem wiadomością taką można zakłócić pracę tegoż użytkownika. Lepszym narzędziem do komunikacji między użytkownikami jest "talk". Pozwala on na dwustronną komunikację. Ekran podzielony jest na dwie części - w górnej części użytkownik lokalny pisze swoje wiadomości. W dolnej natomiast pojawiają się wiadomości od użytkownika zdalnego. Przykład użycia polecenia talk:
[uczeń@ktos uczeń]$ talk szkola [Waiting for your party to respond]
W tym momencie na terminalu użytkownika "szkola" pojawia się komunikat:
Message from Talk_Talk@ktos.best.pl at 18:00 ... talk: connection requested by uczeń@localhost. talk: respond with: talk uczeń
Sesję "talk" kończy się naciśnięciem klawisza Ctrl-c. Jednak nie zawsze użytkownicy życzą sobie, aby ktokolwiek przerywał ich pracę. Dlatego też istnieje możliwość zabezpieczenia terminala przed odbieraniem wszelkiego rodzaju komunikatów. Do tego celu służy polecenie "mesg". Wywołane bez parametrów wyświetla status, z parametrem "n" zabrania przerywania pracy przez wywołanie użytkownika, natomiast z parametrem "y" zezwala.