geekhack

geekhack Community => Other Geeky Stuff => Topic started by: Pixel_Outlaw on Sat, 09 February 2013, 21:07:49

Title: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: Pixel_Outlaw on Sat, 09 February 2013, 21:07:49
I've always admired the look of the text terminal.
It is simple, minimalistic, something that makes the user look like they are doing real work.

I finally got one some time ago and thought I'd encourage other people to do so too.

There are a few reasons to own a terminal.
1. They are a piece of history that still can be enjoyed with a modern computer running some form of POSIX providing you have a free serial or USB port.
2. The provide a distraction free context for writing programs. (Well, unless you browser the web using w3m or links2, or chat on irc using something like irssi)
3. Their limitations are a breeding ground for innovation. These limitations impose interesting restrictions on the programmer and user.
4. You will learn userful Linux and Unix commands more quickly. (In the terminal nobody can hear you scream)
5. You will confuse your enemies and amaze your friends.
Note: The electricity used by such devices hurts mother earth and forces whales to mournfully beach themselves...or something.

I decided to go for a WYSE model that can emulate the vt100 standard. This is the defacto communication protocol.
To connect the device you'll need what is known as a "null modem" cable. Get the connector for your terminal.
Also if your computer has no serial or parallel ports you'll need an adapter to convert the serial end to a USB (the teal colored one on eBay is what you want).

As I use the USB adapter my device shows up as "/dev/ttyUSB0" in my file list.
This will be different if you use the serial connector on its own.

The keyboard is probably a little different than you are used to. (You should always get a terminal with keyboard, they are not universal)
For one it lacks a meta key or windows key. These keyboards only output ASCII characters.
Also note that the keyboards may generate one of several backspace codes.
Some programs might not delete characters properly by default (Emacs comes to mind but this can be fixed via your .emacs file)
Some programs might not display correctly or may become garbled (finch comes to mind, no known fix yet for me)
However it seems that most things work just fine. Look for options like "ascii" and monochrome in their parameters.

One thing to keep in mind is the BAUD speed, 9600 is a safe speed for most newer terminals but you can play a bit.
Consult your terminal's options and documentation. You'll probably need to configure this on your OS to match.
For Ubuntu 12.10 I had to use a daemon called agetty and add the following line to my configuration file.
You may have a different file name or even configuration location depending on your flavor of UNIX, BSD, or Linux.

My configuration file is at "/etc/init/ttyUSB0.conf"
It contains the following lines (note my BAUD speed is 19200 you might want 9600, the terminal speed and the operating system configuration speed MUST match)
Code: [Select]
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 19200 ttyUSB0 vt100

And attached is a screenshot.
(Long spacebar is Looooooooong)




Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: Hak Foo on Sat, 09 February 2013, 21:50:28
I tried this long ago with a C.Itoh CIT-101 VT100 clone.  It was a bit big and bulky for the value it provided; I set it to run top when connected.
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: IvanIvanovich on Sat, 09 February 2013, 22:05:01
Just do it the cheap, easy and lazy way and grab some old geode or C3 based thin clients off ebay and hook up to a cheap and efficient lcd and use about 15w for the whole thing. They already have netboot built in as the default, so there is only server side to set up for the most part. Granted they don't have that cool oldschool flavor.
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: metalliqaz on Sat, 09 February 2013, 22:09:03
Nice, dude.  I've had that same idea myself.  Never even come close to implementing it.  Great post!
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: Pixel_Outlaw on Sat, 09 February 2013, 22:33:02
Just do it the cheap, easy and lazy way and grab some old geode or C3 based thin clients off ebay and hook up to a cheap and efficient lcd and use about 15w for the whole thing. They already have netboot built in as the default, so there is only server side to set up for the most part. Granted they don't have that cool oldschool flavor.

Yes, you could do that but then you don't get the glowing green screen which is quite pretty in my opinion.

Also regarding the person who posted (and deleted) about the Raspberry Pi, it would make the terminal just like a personal PC as the Pi is small and easily concealed.
As a bonus you get a keyboard and display on a single USB port! (use a powered hub though)
I happen to know that it can be also done in Debian which is a good fit for the Pi.

It is hard to find a real CRT terminal for under $70.
I got mine for about $50 and often do some C++ and Lisp programming when bored. Vi works well Emacs required a bit of setup (But Emacs is what I like).
I'm currently writing a vt100 display library as you can see on the screen there.

From a programmer's perspective, it is absurdly simple to control the cursor and display on these devices.
To move the cursor and set screen attributes, you simply send it plain text ASCII codes from stdin.
Any programming language that writes text output can be used to drive a graphic display on the terminal via simple sequences of letters.

You can see my very very early C++ source code here (consult zinc.h)
https://github.com/RyanBurnside/libzinc
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: rowdy on Sat, 09 February 2013, 22:43:16
Sending plain ASCII Esc sequences is noe way, or use ncurses which would make the program more terminal-agnostic (not that there are many different varieties of such terminals still around).

I have 3 btw, a Digital VT220 (original), a VT420, and a Link (that until recently donated many of its keycaps to my QFR).
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: hashbaz on Sat, 09 February 2013, 23:34:19
dante was interested in doing something like this a while back.  Can't find the thread though.

When I want to get the terminal effect I just F11 my vim session and terminal emulator.  I'll grant you that it doesn't have the classic green/amber feel, but it does help me focus when I'm feeling stressed or distracted.
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: Pixel_Outlaw on Sun, 10 February 2013, 01:10:34
The problem is that a terminal is just a keyboard and screen.
It doesn't do extra processing and can't act as an SSH client on its own.
Terminals don't understand SSH, they simply send and receive ASCII text via the stdin and stdout software streams.
So you need a SSH client connected to the terminal, to connect to a server via SSH.
The Pi is probably the most affordable solution.

If your router could act as an ssh client, and you could plug in the terminal via USB and have the router mount the terminal as a local device you might have a solution.
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: rowdy on Sun, 10 February 2013, 01:55:39
If you're on a Mac, try this for a retro look: http://www.secretgeometry.com/apps/cathode/
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: TacticalCoder on Mon, 11 February 2013, 11:30:28
Oh the memories: very nice looking!

That said that Wyse terminal is 80's, not 70's right!?
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: Pixel_Outlaw on Mon, 11 February 2013, 19:52:15
Yep.

But the terminal as a common interface goes back to the early VT100 days.
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: sth on Mon, 11 February 2013, 19:54:31
i've been kicking around the idea of doing an irc terminal for a while. something so nicely nostalgic about having a  crt... it's like vinyl records without the increase in fidelity :))
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: rowdy on Mon, 11 February 2013, 23:26:03
VT100 circa 1978.

VT52 circa 1975.

And models before that.
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: vimx on Mon, 18 August 2014, 20:06:03
Sending plain ASCII Esc sequences is noe way, or use ncurses which would make the program more terminal-agnostic (not that there are many different varieties of such terminals still around).

I have 3 btw, a Digital VT220 (original), a VT420, and a Link (that until recently donated many of its keycaps to my QFR).

Hey, Rowdy.  Do you still have those VT?20 terminals?  Which one do you like better?  I was thinking of getting a VT420, but the VT220 looks more classic.

Here is a picture of my IBM 3151 terminal keyboard, which I just got working properly again.  The latest RHEL 7 and Fedora 20 no longer have termcap for this bad boy.  I had to pull in an older terminfo.  Newer Linux distros are switching to systemd, so the way to set these up is completely different.  If anyone is interested, I'll post up the step-by-step.

Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: dante on Mon, 18 August 2014, 20:16:09
Did any of the older terminals come with a rubber dome keyboard that can be considered very good?
Title: Re: So, you want to play 1970's? Grab a real text terminal and BSD or Linux.
Post by: rowdy on Tue, 19 August 2014, 05:31:48
Sending plain ASCII Esc sequences is noe way, or use ncurses which would make the program more terminal-agnostic (not that there are many different varieties of such terminals still around).

I have 3 btw, a Digital VT220 (original), a VT420, and a Link (that until recently donated many of its keycaps to my QFR).

Hey, Rowdy.  Do you still have those VT?20 terminals?  Which one do you like better?  I was thinking of getting a VT420, but the VT220 looks more classic.

Here is a picture of my IBM 3151 terminal keyboard, which I just got working properly again.  The latest RHEL 7 and Fedora 20 no longer have termcap for this bad boy.  I had to pull in an older terminfo.  Newer Linux distros are switching to systemd, so the way to set these up is completely different.  If anyone is interested, I'll post up the step-by-step.



Olden bump :eek:

I still have the VT220.  No idea if it still works, it was stored in the garage at the new house when we moved a year ago, and I didn't realise the roof leaked :(

I think the VT420 was tossed - at least I don't recall seeing it recently.

I still have the Link terminal with the MX blacks in the keyboard.

And I have claimed an HP terminal at work any time I can someone manage to bring it home.

I like the VT220 the best, as it is the original VT220, but the keyboard sucks.  It was heavily used as a console on a VAX in its previous life, and the keyboard definitely had some adventures.

I like the keyboard on the Link terminal the best.  MX blacks :)  Maybe vintage, they are certainly the smoothest blacks I have ever used.