Skip to main content

Linux: Twin

Twin is a text-mode window environment. It turns a text terminal into a X11-style display with window manager, terminal windows, and can also serve as display for remote applications. Each terminal window provides the functions of a text-mode Linux console. Twin runs on X11, libggi, itself, the Linux console, and any termcap/ncurses-compatible tty. It supports multiple simultaneous displays, and can attach/detach each display on the fly. [from]

I do most of my development on a remote server. Since I'm a bash + vim type guy, that suits me just fine. I usually use screen. This allows me to create multiple virtual terminals as well as detach from the session and reattach later, perhaps from a different computer. Twin can do all this and more, but in a user friendly way! I'm just getting started, but it sure does look neat!


jjinux said…
Very, very strange. I'm still trying to adjust to having a windowing environment within my existing windowing environment.
Anonymous said…
Wow, that really is a double-take. I'm a rabid screen user myself, and I don't mind very minimal windowing environments like ratpoison, but having a mix of text and graphics as in that screenshot really throws me.
Anonymous said…
Wow, really cool.

Any chance you can do a write up about your configuration and usage of twin?

Just starting out in Linux and love doing things thru the console. Would love to get this working and try it out.

Tried to get it started and configured on my own. But keep on running into issues left and right. Did a search on Google for any other docs and configuration tips but did not get much information that was informative.

jjinux said…
Sorry, I only ran Twin for about a week. Normally, I log into the remote server with X11 forwarding turned on. Then I start screen so I can have multiple terminals without pain. If I need an X application (like gvim), I start it from that terminal, and it shows up on my desktop (which has an X server, of course).
Anonymous said…
Hello! I installed twin on my ubuntu intrepid 32... i can run it on terminals in my desktop but cannot run in the tty. It says all display drivers failed... Maybe you know why?

Thanks for the information :)

jjinux said…
> i can run it on terminals in my desktop but cannot run in the tty.

Can you send me ( a screenshot of what it looks like running in a terminal? I haven't run Twin in years, but I remember that when you run it under X, it actually makes use of X. There might be some options to give to Twin to tell it to "stick to the basics".
Anonymous said…
Hi JJ, i readed your answer today. I'm sorry but after searching all around the web for months, i unninstalled twin and now i can send you an screenshot.

I remember it said something like "twin has tried all drivers and nothing works"

Now im using screen on my tty's. It's not so usefull as twin, but its ok for the most programs i use in tty (htop, vim, mp3blaster and rtorrent, basically)

Anyway, thanks for your interest! ;)

P.D. As you can note, i dont speak a lot of english xD sorry :P
Anonymous said…
I can send you, not. I CAN'T send you xD sorry!
jjinux said…
Don't worry, I use screen too. I think it's more reliable than Twin.
tallship said…
Well Twin is still relevant even in todays world.

Yes, it may seem odd at first to have a window manager inside of a window manager, but not any weirder than running Krdc with multiple tabs for multiple remote sessions via VNC or RDP.

I published an article on the viability of Twin not too long ago here:

Basically, one way that Twin really shines is by using your pager, and dedicating a full page screen for Twin.

Then, you can open several twterms, remote into other boxes, and run tmux (instead of screen).

That way, you have a birds eye view of several machines inside of terminal windows, each running tmux (or screen), so you can manage those hosts effectively.

If the paged window that you maximized Twin inside of is in fact a remote Twin session itself, you can detach, attach, and even simultaneously attach to that twin session from multiple points at the same time from work, home, and school, for example.

If you couple that with the power of running tmux on each of the remote ssh sessions in many twterms, you have something really, really kewl.

Twin is very stable too. The current version is 0.6.2 and this window manager has come a long long way since it's introduction to the UNIX world years ago.

I hope that helps :)

Kindest regards,

Bradley D. Thornton
Manager Network Services

jjinux said…
Thanks, tallship!

Popular posts from this blog

Ubuntu 20.04 on a 2015 15" MacBook Pro

I decided to give Ubuntu 20.04 a try on my 2015 15" MacBook Pro. I didn't actually install it; I just live booted from a USB thumb drive which was enough to try out everything I wanted. In summary, it's not perfect, and issues with my camera would prevent me from switching, but given the right hardware, I think it's a really viable option. The first thing I wanted to try was what would happen if I plugged in a non-HiDPI screen given that my laptop has a HiDPI screen. Without sub-pixel scaling, whatever scale rate I picked for one screen would apply to the other. However, once I turned on sub-pixel scaling, I was able to pick different scale rates for the internal and external displays. That looked ok. I tried plugging in and unplugging multiple times, and it didn't crash. I doubt it'd work with my Thunderbolt display at work, but it worked fine for my HDMI displays at home. I even plugged it into my TV, and it stuck to the 100% scaling I picked for the othe

ERNOS: Erlang Networked Operating System

I've been reading Dreaming in Code lately, and I really like it. If you're not a dreamer, you may safely skip the rest of this post ;) In Chapter 10, "Engineers and Artists", Alan Kay, John Backus, and Jaron Lanier really got me thinking. I've also been thinking a lot about Minix 3 , Erlang , and the original Lisp machine . The ideas are beginning to synthesize into something cohesive--more than just the sum of their parts. Now, I'm sure that many of these ideas have already been envisioned within , LLVM , Microsoft's Singularity project, or in some other place that I haven't managed to discover or fully read, but I'm going to blog them anyway. Rather than wax philosophical, let me just dump out some ideas: Start with Minix 3. It's a new microkernel, and it's meant for real use, unlike the original Minix. "This new OS is extremely small, with the part that runs in kernel mode under 4000 lines of executable code.&quo

Haskell or Erlang?

I've coded in both Erlang and Haskell. Erlang is practical, efficient, and useful. It's got a wonderful niche in the distributed world, and it has some real success stories such as CouchDB and Haskell is elegant and beautiful. It's been successful in various programming language competitions. I have some experience in both, but I'm thinking it's time to really commit to learning one of them on a professional level. They both have good books out now, and it's probably time I read one of those books cover to cover. My question is which? Back in 2000, Perl had established a real niche for systems administration, CGI, and text processing. The syntax wasn't exactly beautiful (unless you're into that sort of thing), but it was popular and mature. Python hadn't really become popular, nor did it really have a strong niche (at least as far as I could see). I went with Python because of its elegance, but since then, I've coded both p