talk는 원래 오직 하나의 다중-사용자 컴퓨터에 로그온한 사용자 사이의 메시징을 허용했지만 나중에 다른 시스템에 있는 사용자와 채팅할 수 있도록 확장된 유닉스 |텍스트 채팅 프로그램입니다.
비록 IRC 및 기타 최신 시스템으로 대부분 대체되었지만, 그것은 리눅스, BSD 시스템 및 macOS를 비롯한 대부분의 유닉스-계열 시스템에는 여전히 포함되어 있습니다.
History
Multics, CTSS, PLATO, 및 NLS와 같은 이전 시스템에도 유사한 기능이 존재했습니다. Talk의 초기 버전은 각 사용자로부터 텍스트를 분리하지 않았습니다. 따라서, 만약 각 사용자가 동시에 입력하면, 각 사용자로부터 문자가 혼합되었습니다. 당시에는 느린 텔레프린터 키보드 (초당 최대 11자)를 사용했기 때문에, 사용자는 종종 서로가 끝날 때까지 기다릴 수 없었습니다. 긴 타자를 치는 사용자에 대해 듣는 사람의 끼어드는 반응을 보기 위해 섞임이 발생될 때 멈추는 것이 공통적인 에티켓이었습니다. 이것은 사람들이 말할 때 긴 독백을 중단하는 것과 거의 같습니다. 최신 버전은 curses를 각 사용자에 대해 여러 영역으로 터미널을 나누고, 따라서 텍스트가 섞이는 것을 피하기 위해 사용합니다.
1983년에, 새로운 버전의 talk가 4.2BSD와 함께 유닉스 명령으로 도입되었고, 역시 다른 기계에서 사용자 사이의 전자 대화도 수용할 수 있습니다. talk에 대한 후속은 ntalk, Britt Yenne의 ytalk 및 Roger Espel Llima의 utalk를 포함합니다. ytalk는 2 사람보다 많은 사용자 사이의 대화를 허용한 첫 번째 도구였고, 부분적으로 다른 엔디안을 가진 컴퓨터에서 사용자 사이의 통신을 허용하도록 작성되었습니다. utalk는 더 효율적이고 전체 화면의 편집을 허용하는 UDP (나머지에서 사용된 TCP 대신)를 통한 특수 프로토콜을 사용합니다. 이들 모든 프로그램은 인터페이스를 각 참가자에 대해 서로 다른 섹션으로 나눕니다. 인터페이스는 다른 참가자에 의해 입력된 말이 대화 로그로 재조립되는 순서를 전달하지 않았습니다. 역시, 세 프로그램 모두는 실시간 텍스트로, 여기서 그것들은 각 문자를 입력한 대로 전송합니다. 이것은 최근의 인스턴트 메시징 클라이언트 또는 IRC보다 토론에 더 즉각적인 느낌으로 이어집니다. 다른 형식의 인스턴트 텍스트 커뮤니케이션에 더 익숙한 사용자는 대화의 다른 참가자가 모든 각 키 입력이 실시간으로 발생하는 것을 봤다는 사실을 모른 채 무언가를 입력하고 진술을 철회하기로 결정함으로써 당혹스러운 상황에 처하게 되는 경우가 있습니다.
유사한 프로그램이 phone이라는 VMS 시스템에 존재합니다.
Security
토크 프로토콜을 통해 잘못된 정보를 전송하는 "flash"라는 인기 프로그램은 1990년대 초반에 장난꾸러기들이 불운한 표적의 터미널 출력을 손상시키기 위해 자주 사용했습니다. 통상적으로 요청하는 사람의 이름을 제공하도록 지정된 필드에 터미널 명령을 포함함으로써 이것을 수행했습니다. 피해자가 대화 요청을 받았을 때, 요청을 보내는 사람의 이름이 화면에 표시됩니다. 이것은 터미널 명령을 실행하기 위한 원인이 되며, 재설정할 때까지 개인의 디스플레이를 읽을 수 없게 만듭니다. 이후 버전의 토크는 플래시 시도를 차단하고 사용자에게 플래시 시도가 발생했음을 경고했습니다. 나중에 다른 터미널 명령을 전송함으로써, 심지어 사용자 실행 명령을 가지는 것을 가능할 수 있다는 것이 분명해졌습니다. 터미널에 신뢰할 수 없는 데이터를 출력하는 모든 프로그램을 수정하는 것은 불가능하다는 것이 증명되었기 때문에, 비록 일부는 여전히 취약할 수 있지만 최신 터미널 에뮬레이터는 이 공격을 차단하도록 다시 작성되었습니다.