| Surprising related fact: terminal multiplexers appear to be a relative neologism, multiple terminal emulators running on a graphical system likely predate them by years. I've been trying to dig my way into the history for funsies recently, below is hacked out of my notes that will eventually be a post or article or something. Window by Edward Wang is in 4.3BSD in 1986, and it's the earliest member of the species I can find. Screen was initially written by Oliver Laumann and Carsten Bormann at TU Berlin in 1987. tmux didn't happen until 2007. By contrast, blit terminals could run multiple terminal emulators in graphical windows around 1982 (commercial by 84; http://doc.cat-v.org/bell_labs/blit/ ). Likewise, some of the UNIX workstation vendors' early windowing systems like Sun Windowing System (SunOS 1.0, 1983) supported multiple terminal emulators. The earliest graphical multiple terminal emulator is probably Xerox PARC's Alto, which could run multi-window Chat (which was more or less a telnet superset) for talking to PARC's bespoke MAXC PDP-10 clone or other ARPA sites in 1979 or so. The necessary condition for software terminal multiplexing (a robust pseudoterminal system) has been around for a very long time in places like the DEC 36-bit lineage: it was present in the PDP-6 Time Sharing Monitor announced in 1967 ( http://bitsavers.org/pdf/dec/pdp6/PDP-6_TimsharingBroch.pdf ), and continued to be present in most of the PDP-10 systems, importantly the TENEX line, and was later available in some of the smaller DEC systems like RSTS for the PDP-11. That was enough to detach and reattach jobs to terminals, but I can't find record of a screen-splitting tool. There were some patches from RAND and BBN to 6th edition UNIX by the late 70s ( https://minnie.tuhs.org/cgi-bin/utree.pl?file=SRI-NOSC/dmr/p... ), but there wasn't really wide-spread PTY support in UNIX until 1983 when 8th edition and 4.2 BSD sprung TENEX-like psuedoterminals, which kind of puts a lower bound on UNIX-like systems having such a thing. It's possible EMACS was first, still in PDP-10 environments. ITS EMACS had some kind of hsplit support early on, possibly as early as April 1978 ( https://github.com/PDP-10/its/blob/master/doc/eak/emacs.lore ), and later some limited terminal-dependent vsplit support was developed for Multics EMACS between 84-88 by Honeywell Canada on behalf of the Canadian Department of National Defense for use in translation work ( http://bitsavers.trailing-edge.com/pdf/honeywell/multics/CH2... ). I can't find a record of when Comint mode or something like it came into being, which is necessary to use it as a terminal multiplexer. There's a whole diversion about SRI NLS being able to do terminal multiplexing in demos on a SDS940 running the Berkeley Time Sharing System by the late 60s. They never split to multiple text terminals in any footage I've seen, and at least early on it seems the apparent screen multiplexing in eg. the mother of all demos in '68, was done with cameras pointed at CRTs and analog video muxes. |