Do łączenia się użytkownika ze zdalnym komputerem służą komendy telnet i rlogin. Można również wykorzystać program kermit. Mimo iż najczęściej jest on wykorzystywany do połączeń terminalowych z wykorzystaniem modemu w najnowszych wersjach można z powodzeniem wykorzystywać go do uzyskiwania połączeń z wykorzystaniem sieci.
Funkcja zdalnego terminala umożliwia lokalnemu użytkownikowi (po połączeniu się ze zdalnym komputerem) na wydawanie komend interpretowanych przez zdalny system operacyjny i uruchamianie aplikacji. Bardzo ważną sprawą jest właściwe poinformowanie komputera, z którym się łączymy, jakie funkcje pozwala realizować używany terminal. Pozwoli to zdalnym aplikacjom w odpowiedni sposób pozycjonować kursor i właściwie interpretować naciskane przez nas klawisze.
Cechą specyficzną programów telnet i rlogin w systemie
UNIX jest to, że nie emulują one (na ogół) żadnego typu terminala. Służą one jedynie do
możliwie ,,przeźroczystego'' transportu znaków między komputerem
zdalnym i lokalnym. Oznacza to tyle, że jeżeli pracujemy na
komputerze lokalnym z terminala określonego typu, łącząc się z
innym komputerem ciągle będziemy pracować z terminala tego samego
typu. Cały problem polega jedynie na poinformowaniu zdalnego
komputera o typie terminala z którego pracujemy. Protokól połączenia
przekazuje podstawowe informacje o typie terminala. Problem może
polegać na tym, że taki typ nie jest rozpoznawany przez zdalny
komputer albo na tym, że jest źle ustawiony na komputerze lokalnym.
Co robić w takim przypadku?
Niestety nie ma no to pytanie łatwej i jednoznacznej odpowiedzi. Musimy posiadać pewną minimalną wiedzę na temat:
eval `tset -m :\?${TERM:-vt100} -r -s -Q`Dla csh może wyglądać tak (???????)
set noglob eval `tset -s -Q -m '?vt100'`Komenda ta odczytuje ze zmiennej środowiska typ terminala uzgodniony podczas nawiązywania połączenia; jeżeli zmienna środowiska jest pusta podstawia za nią terminal typu ,,vt100'' (można tu wstawić typ bardziej nam odpowiadający), a następnie odpytuje użytkownika czy wartość jest właściwa:
TERM = (vt100)na koniec, wreszcie, ustawia odpowiedni typ terminala w środowisku i inicjalizuje go.
Po połączeniu - możemy sprawdzić wartość zmiennej środowiska TERM za pomocą komendy env lub wydając polecenie:
echo $TERMa następnie próbować zmienić jej wartość (gdy jest niewłaściwa) za pomocą komend:
Kolejny problem, który może sprawiać problemy ustalenie zestawu znaków używanych do:
Najczęściej spotykane ustawienia parametrów: kasowanie poprzedniego znaku (erase): Ctrl-H lub Del; przerwanie procesu (): Del albo Ctrl-C; zawieszenie wykonania zadania (susp): Ctrl-Z.
Można zdefiniować jeszcze (jeżeli nie zostało to zrobione) znak służący do kasowania słowa (werase): Ctrl-W i całej linii (kill): Ctrl-U.
Odpowiedni zestaw znaków należy wybrać w zależności od przyzwyczajeń użytkownika i możliwości terminala, z którego nawiązuje połączenie.
Oto przykładowe ustawienie parametrów (wygodne podczas pracy z terminala hpterm):
export TERM=hp stty erase \^H intr \^C
W dawnych czasach (gdy pracowano na terminalach typu teletype - dalekopis) znakami używanymi do kasowania znaku poprzedniego był: #, a znakiem używanym do kasowania całej linii: @. Niestety, te czasy nie odeszły w przeszłość tak zupełnie: znaki te są używane przez system HP-UX jako znaki standardowe i zmieniane komendą stty. W szczególności obowiązują one w trakcie procedury podawania nazwy użytkownika i hasła (z wszelkimi tego konsekwencjami).