
Getty Images
When researching something about computers or coding that goes back a long way, I often come across a document on a university website that provides more information about it than a Wikipedia page or archives.
This is usually a PDF, but can also be a plain text file. It will be found in the .edu subdirectory and will start with your username preceded by a tilde (~) character. This is usually a document put together by a professor who faces the same questions every semester to save them as much time as possible so they can get back to work. I recently came across such a document in Princeton University’s Astrophysics Department: “Introduction to the X Window System” by Robert Lupton.
The X Window System, which celebrated its 40th anniversary earlier this week, was something you had to know how to use in the early 1980s, back when university computer labs were filled with VT100s, VAX-11/750s, and Sun Microsystems boxes to operate space-bound equipment. As the member of Princeton’s astrophysics department who knew more about computers at the time, Lupton was in charge of solving problems and answering questions.
“I started out by writing server code for X10r4, which eventually became X11,” Lupton said in a phone interview. “Anything that required graphics code that required buttons or some kind of display was X… People would probably be bugging me when I was working in my basement, so that’s probably why I wrote this.”

Getty Images
Origin of X (after W)
In 1984, Robert W. Scheifler and Jim Gettys at MIT “spent a few weeks writing a windowing system for VS100.” As part of the Project Athena goal of enabling campus-wide computing with distributed resources and multiple hardware platforms, X met their requirements: platform- and vendor-independent, and the ability to call remote resources. Scheifler “stole a fair bit of code from W,” made its interface asynchronous to make it significantly faster, and “called it X” (at the time, that was still the cool thing to do).
This cross-platform compatibility has helped X work well at Princeton University, and then Lupton University. In his guide, he says that X provides “tools, not rules,” which allows for “a great many confusing looks.” After explaining that X consists of three parts: a server, a client, and a window manager, he offers a few more tips:
- The modifier key is the X key. “This sensitivity extends to things like mouse buttons that you wouldn’t normally think of as case sensitive.”
- “To start X,
xinit; Do not enter X unless you have defined an alias. X alone will start the server but not the client, and the screen will be blank.” - “All programs that run in X are equal, but window managers are more equal.”
- “
--zaphod“The flag prevents the mouse from going into invisible screens. Someone should be able to explain the etymology” (link is mine). - “If you say
kill 5 -9 12345You’ll be disappointed because your console will look all messed up. Go back to another terminal and typekbd mode -abe careful not to use -9 without a good reason.”
I asked Lupton, on his last day before heading to Chile to help install the Very Large Telescope, how he felt about X, 40 years later. Why did it survive?
“It worked, at least compared to the alternatives,” Lupton says. He points out that Princeton’s system “wasn’t very networked back then,” so the network traffic issues that some had with X weren’t an issue then. “People didn’t really expect a GUI. They expected a command line and maybe some buttons. At the time, it was the most portable windowing system, and it ran on both VAX and Sun. It wasn’t bad.”
