Forgot your password?
Software Businesses Operating Systems Unix Apple

Decent Terminal Emulation on Mac OS X? 115

Posted by Cliff
from the your-window-to-the-unix-world dept.
Drawoc Suomynona asks: "After settling into Mac OS X over the last four months, I'm generally impressed. However, due to the sort of development work I do, I spend a great deal of my time in a terminal. Unfortunately for me, decent terminal emulation seems to be one area where Mac OS X is quite lacking. What's your answer to the state of terminal emulation on the Mac?" Drawoc summarizes the currently available offerings and their drawbacks, below.

"Take, for instance, the following options:

  • Apple's Terminal is slow (though performance has been better in 10.2.x), doesn't support xterm mousing, and for some reason refuses to send PgUp/PgDn through to any applications running in the terminal (gah!). Sure, transparency is nice, and with some hacking about (when was the last time you had to force "stty erase"?) you can get decent enough color xterm emulation, but... what's with the lack of PgUp/PgDn?
  • The open source iTerm is slightly better, but, it's awfully slow (it grabs as much as 30% of the CPU per terminal instance... now imagine a full-screen vim session at 1600x1200... it's utterly unusable). It also neglects to support xterm mouse reporting.
  • The closed source GLTerm ($10) is probably the best of the three "native" options, from a certain perspective. It manages to sidestep the CPU usage/UI responsiveness issue by rendering the entire terminal using OpenGL (yes, the characters are actually textures on GL primatives). It supports xterm mouse reporting. However, font choices are limited, it works only on supported video cards, and it has a very annoying "fuzzy text bug" if you set your terminal to the wrong size.
  • Finally, you've got xterm :) But, it means you need to run X11 (either XDarwin or Apple's X11) and it doesn't integrate as nicely into the OS X workflow..."
So, is there a secret terminal port from NeXTSTEP lurking in the pocket of some intrepid young hacker, who is, as I write this, poised to lead us to salvation?"
This discussion has been archived. No new comments can be posted.

Decent Terminal Emulation on Mac OS X?

Comments Filter:
  • Gnome term? (Score:4, Interesting)

    by m0rph3us0 (549631) on Monday June 09, 2003 @07:57PM (#6156712)
    Does Gnome term compile with the OS X version of GTK? I was thinking that might be your best route.
    • You know, it really doesn't - at least, not the fink version. I tried the other day and it died in the middle of compiling some gnome lib. I forget which, unfortunately.
    • Is Gnome term really a good solution? While I'm all about Gnome, gnome-terminal isn't the best in my opinion. It is in my experience not especially fast and a bit of a memory hog. How about Eterm? That seems like it would be a better fit, though I don't know if it is available. Maybe when Gentoo gets ported to OS X some ports for quality terminals will become available.
      • How about Eterm?

        The point of Gnome term is that you don't need X11, only GTK+ which has a native non-X11 Aqua version. With eterm you're back using X11 again.
    • Re:Gnome term? (Score:3, Informative)

      by andfarm (534655)
      It does -- in fact, the Fink project has it precompiled for you -- but it's really quite slow and suffers from the same workflow diconnectedness as xterm. Stick to xterm if you like OS X X11.
    • Re:Gnome term? (Score:3, Informative)

      by michaelggreer (612022)
      I think he meant the native Aqua gtk []. I am pretty sure nothing gnome is compiling with this yet. Also, it is only gtk 1.2.x, so no tabbed gnome terminal.
  • Fink (Score:5, Informative)

    by qlippoth (446729) on Monday June 09, 2003 @07:57PM (#6156713)
    Fink has a handful of terminals ported to OSX. You've still got the issue of having to run X11 though. []

  • you could use Rxvt (Score:5, Informative)

    by goombah99 (560566) on Monday June 09, 2003 @08:02PM (#6156767)
    fink install rxvt

    rxvt 2.7.8-2 VT102 emulator for X11
    rxvt-ml 2.7.8-2 VT102 emulator for X11 with multi-language support
    this too is X windows unfortunately.

    personally I actually like apples terminal with one scarey exception: it runs in a single process so if the terminal app crashes you lose ALL of your terminals! yikes.

    • by bobthemonkey13 (215219) <keegan AT xor67 DOT org> on Monday June 09, 2003 @09:11PM (#6157266) Homepage Journal
      Look into a UNIX utility called screen. I'm not sure if it's included in OS X, but I use it all the time on Debian and OpenBSD and it's wonderful. You can detatch and reattach sessions, so if Terminal crashes, you can just open another one and run screen -R to pick up where you were. It also supports creating multiple windows in the same terminal, and a whole ton of other features that I haven't even tried yet. I've even used it to start a process locally, then ssh in later and automagiclly take control of the process. It should compile without problems on OS X; there might even be binaries available.
    • by gidds (56397) <slashdot AT gidds DOT me DOT uk> on Monday June 09, 2003 @09:42PM (#6157427) Homepage
      if the terminal app crashes you lose ALL of your terminals!

      I hit this one a LOT. It's a real annoyance.

      Why, I hear you ask? Well... [fx: takes a deep breath] Most of my text files use the Windows Latin-1 encoding (the same as the default ISO Latin-1, but with curly quotes and other useful control characters in an otherwise-unused range). No problem for the Terminal: you can set the character encoding in Window Settings->Display.

      I use the vi editor; you can tell it the character encoding through the $LC_CTYPE environment variable. The only problem is that although Mac OS X comes with several character encodings (in /usr/share/locale), it doesn't come with one for Windows Latin-1 (aka CP1252). So I've created my own (with the mklocale(1) command. I've even submitted the result to Apple in the hope that they might include it with future versions... though I haven't heard anything back.)

      So, with both Terminal and vi set to use the right encoding, it all works: I can see all the extended characters, and edit them in the usual way. EXCEPT that there's some bug or incompatibility lurking there. Every so often, when I'm editing in vi, the Terminal will suddenly quit for no reason. It happens often enough to be fairly sure that it's related to the extended characters and to vi - it's never happened when editing plain 7-bit ASCII files, nor when using extended characters in the shell. I suspect it may be related to extended characters appearing at the extreme right or bottom of the screen, and/or to the VTwhatever formatting codes (which I don't really understand).

      Since I do a lot of editing, I find Terminal crashes several times a day... MOST annoying. So, if anyone has any idea what might be causing these crashes, or can shed any light on this stuff, please let me know!

      (BTW, since Mac OS X 10.2.5, vi has stopped taking any notice of $LC_CTYPE! I'm not certain why, or what's changed, but it's easy to download the vi source from Apple's Darwin page, and recompile with a one-line fix I found to restore that functionality. I've raised a bug report with Apple about this, but - again - haven't heard anything yet.)

      • quit using vi :)

        seriously, you can get vim (Vi IMproved) from fink, darwinports, or gentoo soon (console & X11 version).

        even better, you can get gvim with a carbon gui at

        this site []

        I primarily use the carbon gvim now in OS X. I only use my fink version when I log in remotely to my OS X machine. Once you try vim, you will shudder at the memory of using 'vanilla' vi

        • I tried using vim (v6.1), but I can't get that to show the Windows Latin-1 extended characters at all! (Yes, I could probably hack into it, but I really can't be bothered, not when various other things about it just annoy me - nothing major, but lots of minor differences all add up.)

          Besides, the problem may well be somewhere like the curses library or the terminal driver rather than in vi itself, in which case vim would then suffer from the same problems.

          • if the problem is curses, that wouldn't apply to gvim (X11) or gvim (carbon) since they don't run in the terminal, they have their own separate window.

            also, vim has a vi compatibility mode. if one of the gui versions works with your character set, you can try 'set compatible' in your ~/.vimrc file.

            I can't live without the multiple undo levels, the much more convenient cut buffer handling, the syntax-directed coloring, splitting the buffer (horizontally or vertically) to show more than one file at a time

            • True. And it does look nice. But remember that the Apple-supplied vi is really nvi, which already has multiple undo levels* and several other nice features. Buffer splitting isn't something I'd use much; whereas supporting CP1252 is a showstopper for me.

              I guess what I really want is an editor with the power and flexibility of vi (navigation, REs, editing commands), but with full support for character encodings and proportional fonts. (Yes, for code too. I know, I know, I can

    • by Anonymous Coward
      Regarding Terminal crashing and loosing other Terminal windows:

      You can run multiple instances of most OS X apps -- its Unix(like) after all. It's just the Finder, a totally optional application, that prevents it. From your first terminal, enter

      % /Applications/Utilities/ S/Terminal &

      If you like it, soft link Terminal to /usr/local.

  • iTerm (Score:4, Informative)

    by brianosaurus (48471) on Monday June 09, 2003 @08:06PM (#6156790) Homepage
    I've been using iTerm lately. The version in CVS seems to fix some of the performance issues, though occasionally it gets screwed up and starts using as much CPU as possible. When I notice that, I start closing remote shells until it gives up the CPU. Its pretty annoying.

    Unfortunately, the tabbed interface iTerm has is so compelling to me that I can't switch back to the stock

    I agree with the original poster about X. Running Gnome term or any other X-based terminals isn't great, since X doesn't quite integrate seamlessly with Aqua.

    For now I'm sticking with iTerm and checking CVS every so often. Maybe I'll even think about looking at the code.
    • Re:iTerm (Score:3, Interesting)

      by TomorrowPlusX (571956)
      You know, when I came over to mac from linux/kde about 6 months ago, the first thing I did was install iTerm so I could have the tabbed terminal interface I had under KDE.

      But, then I discovered cmd-~ will switch between windows; particularly at the time I was debugging an IPC implementation I was working on and as such needed to view two terminal outputs simultaneously -- I discovered that apple's stock terminal works great, for me at least.

      Frankly, who needs tabs when you can command-tilde to switch, and
  • rxvt (Score:3, Informative)

    by eibhear (307877) on Monday June 09, 2003 @08:15PM (#6156863) Homepage

    As a heavy user of cygwin on a slow desktop PC, I was delighted to see that someone had ported rxvt [] to that environment. It gives quite a lot of the top-class features of xterm, and little of the unnecessary bells, whistles and complete brass, woodwind and percussion sections that come with xterm.
    However, for your purposes, it can also be installed and used without X11, as in the case of the cygwin environment.
    What's best about rxvt is it supports what you describe as "xterm mousing". This feature alone is why I always stuck with xterm until I discovered rxvt. That rxvt has it is why I won't use any other terminal emulator for a long time into the future.

    Mind you, none of this is useful if rxvt hasn't been ported to Mac OS X, but it certainly is worth checking to see if it is.


    • PuTTY (Score:1, Offtopic)

      by divbyzero (23176)
      This is a bit of a departure from the original topic, but since you raised the point, I'll continue with it. If you want "xterm mousing" in a high quality, free terminal app on Windows, and you want a more native-feeling application than a cygwin port of rxvt, you might want to try PuTTY []. PuTTY is best known for its solid SSH capabilities, but it can also be used for telnet, rlogin, and raw TCP connections. It is not a truly generic terminal, since it cannot act as a display for arbitrary local programs,
  • by macmurph (622189) on Monday June 09, 2003 @08:19PM (#6156894)
    Here's a screen shot of the NEXTSTEP []
  • Eterm (Score:4, Informative)

    by Cecil (37810) on Monday June 09, 2003 @08:22PM (#6156916) Homepage

    If you're a fan of Eterm (I am), you have two options available to you:

    • Pick up an older, but pre-ported copy [] (this one is version 8.10.0)
    • Grab the CVS sources for the latest Eterm and build it yourself. This is not easy, but it is possible.

    Having the latest Eterm running under Apple's X11 is nice, though I still haven't been able to get it to link with imlib2 successfully (note: I am incompetent at this stuff, YMMV) The only porting really required is to change the typedef for socklen_t to int, or include the appropriate header file (sys/socket.h?). Either works.

    Good luck.
  • by Onan (25162) on Monday June 09, 2003 @08:23PM (#6156930)
    iTerm has given me the one thing that I've found seriously lacking in configuration of what colors are used to display ANSI "colors". No more screaming yellow or illegible dark blue for me, thanks.

    Unfortunately, iTerm does have a few limitations and bugs:

    - while the xterm-experienced will like PgUp/PgDown going straight through, and using shift for local scrolling, I'd really like to see this togglable.

    - no Home/End functionality, with our without shift.

    - no local Find.

    - it "helpfully" doesn't include whitespace when copying out of its windows. Actually, I did want that linefeed, thanks.

    - periodically decides it wants to just sit and suck all my cpu until I kill it.

    - font settings don't stick between launches.

    I've also found that's split-window function is surprisingly useful. And unique, in my experience.
    •'s split-window function? I've never seen that function in Terminal. Could you elaborate.
      • click the little widget on the right hand side, just above the scrollbar and below the title bar, and voila.
        • Ah. I operate without a scrollback buffer so I don't get the scrollbar ergo I don't get the little widget. I just tried it and it split the screen but the behaviour was very odd. It doesn't appear to be two seperate terminal windows but a way to view things that have already scrolled off the screen. Strange. At any rate, still isn't the greatest but for now, it's the one I like most. I just wish Apple would improve the speed and add some tabs. That would be just great.
          • Yeah, that function of Terminal is odd, and hard to give a description or name, but surprisingly handy. It allows you to simultaneously see and interact with two arbitrary segments of scrollback within a single window.

            This facilitates doing a variant on a long series of steps you did a while earlier, comparing previous output of an operation to current output, or just reading deep scrollback without missing new data. It's not a life-changing feature, but it is regularly useful.
          • You don't really need tabs: there's a nice keybinding for switching between terminals. Try cmd-left and cmd-right to go the previous/next terminal window. I was delighted when I found that one out :)
            • Or command-~, like *all* mac os x apps, it will switch between windows.

              Why have a differnet keybinding for the same logical action?
              • Command-(n) is also nice, where (n) is a number from 1 to 9. Each Terminal window is assigned a unique (single-digit) number when spawned. Since my Terminals tend to be long-running, I can count on a session being Command-1 for a build, Command-2 for a man page or tests and Command-3 for something else.

                File -> Set Title... and check "Command Key" gives you the visual cue for each window.

                This also seems to be a common design for those Mac apps that have more than one "similar" document window.

            • I use an iBook so screen real estate and memory are at a premium. I would prfer to have a single window with tabs rather than multiple windows. I had never seen tabs in action until Apple added them to Safari and now I can't live without them. What I like best is that you can see what's open in each tab without having to look to the Window menu. Screen is great but I'm often connected to multiple systems with screen running remotely and I hate having to use nested ctrl-a a sequences. As long as I'm babbling
  • PuTTY (Score:5, Informative)

    by zsazsa (141679) on Monday June 09, 2003 @08:44PM (#6157073) Homepage
    Everyone's favorite SSH/Telnet program for Windows, PuTTY [], is a possible future option. A MacOS port is forthcoming []. If you're brave, preliminary support is in CVS right now [].

    (In other Non-MacOS-related PuTTY news, you can also get a PuTTY-based xterm replacement for X if you fancy its emulation better: pterm []).
    • That would be sweeeeeet!!

      Seriously, that's about the best news I've read today. I love PuTTY under Windows, can't wait for the Mac version! According to the Mac Port Readme [], the project is moving along smoothly and there are builds for MacOS X and for earlier versions (System 7 and up), both for PPC and 68k.

      I think this one will be our answer once it's completed, I have high hopes!
  • Fink has ported KDE, so if you like Konsole (I do), then it's available. Of course, you need the whole KDE compiled plus X11, but you just need X and Konsole running (plus DCOP, but that's the overhead for all KDE apps, since that's how they share objects).


  • Java Options (Score:3, Informative)

    by kwerle (39371) <> on Monday June 09, 2003 @08:57PM (#6157165) Homepage Journal
    I've been happy with Apple's since 10.2 (export TERM=xterm-color :-)

    I know that there are a few Java terminal emulators (check I alwyas liked mindterm for ssh connectivity. I know they closed source, but there's a fork out there somewhere from the last open version.

    Anyway, could you post a followup to your article when you settle on something - just a comment would be nice.

    I wonder if the editors would let you update the article...
  • by payam (43863) on Monday June 09, 2003 @09:10PM (#6157259) Homepage
    The TERM environment settings for make a big difference in its behaviour. Normally with Terminal it's useful to have the TERM environment variable be 'xterm-color'. This will enable lots of interesting things, amongst them ANSI color. But, as described, this has it's drawbacks, including the fact that scrollback doesn't work as expected. Sometimes it's useful to launch any apps that need that functionality prefixed with 'TERM=vt100'. I run screen this way( 'TERM=vt100 screen') and it works much better as a result.

    Alas, this doesn't affect speed but it does enable improved functionality.
  • MacSSH (Score:3, Informative)

    by gozar (39392) on Monday June 09, 2003 @10:10PM (#6157623) Homepage

    I went looking, and the only one that would do decent vt100 emulation was the OS 9 app MacSSH [].

    We need it to access a VMS machine, and no other term emulators would work as flawlessly as MacSSH. I would LOVE to be proven wrong, if someone can point me to a term app that allows me to use the function keys and the keypad correctly!

    • I was never a fan of MacSSH. I used NiftyTelnet w/ SSH [] back when I used OS 9. It was more simple than MacSSH but worked so much better. When I switched to OS X I ended up using JellyFiSSH [] to organize my connections. would crash on me once a day or so as well. The damned thing never did quite work right. I don't have an OS X box available anymore, unfortunately. Otherwise I'd be more in touch with this problem. I'm holding out for a SMP G5. :)

      That said I have yet to find a

    • MacTelnet [], despite its name, can run local Unix apps on Mac OS X. It shares much of the same base code as MacSSH so it still has VT100, VT220 and TEK. However it also supports VT52 mode, double-sized text and most XTerm sequences, and has VT220-specific features like floating keypad windows. I should know, because I am writing its (open-source) code! :)
  • GNUStep? (Score:3, Interesting)

    by ActiveSX (301342) on Monday June 09, 2003 @11:13PM (#6157983) Homepage
    Perhaps you could hack the GNUStep [] to compile with Cocoa. For those who don't know, GNUStep is a GPL'd implementation of the OpenStep Specification of yore.
  • To get to do decent color xterm emulation:

    setenv TERM xterm-color

    I didn't have to fiddle with stty either.

  • by ewwhite (533880) on Tuesday June 10, 2003 @02:25AM (#6158795) Homepage
    I run Fink and XDarwin on my Powerbook. My company produces a terminal/character-based ERP application for the produce industry. It runs on hardware terminals and also has a home-brewed PC client (with a Linux backend). We use a SCO-ANSI emulation with a few custom termdefs.

    There are very few clients (puTTY [] and Powerterm []) on the PC that can handle our product. The Mac situation is much worse. It took me a few months to find an appropriate solution for working with our clients from my Mac. The winners are:

    Eterm [] -free- Get version 0.9 through Fink. It's much faster than Apple's terminal application and is much more configurable.
    Here's a shot of a typical Eterm on my machine []

    DataComet [] -not free- but worth it. This program is similar to Powerterm on the PC side. It can handle just about any emulation you throw at it. Powerterm and DataComet both include their own font suites which allow for full PC-ANSI emulation, for example. Very comprehensive package. It integrates with the built-in shell and even handles my company's software.
    Here's a screenshot of DataComet on my system []

    Here's a random screenshot [].

    Note: There is a Powerterm for Mac OSX, but it's fairly expensive, and DataComet performs as well. Hit me up if you have any questions....

  • by Anonymous Coward
    Looks like Drawoc needs to use Google a bit more after reading all the comments.

    Actually XDarwin isn't that bad (I run it) and I'm also running (just playing with it) the Apple beta for X11. XDarwin provides a host of opportunities for Term apps and what's this "doesn't fit in the workflow very well" jazz all about? Has he tried it? Not from the sound of it.

    Lots of good ideas but I thought I'd stand up for XDarwin. Quite frankly I don't use it much but do run X11 sometimes alongside OSX and OS9, all c
  • "Apple's Terminal is slow (though performance has been better in 10.2.x), doesn't support xterm mousing, and for some reason refuses to send PgUp/PgDn through to any"
    Please take a minute and open a bug at
    • I want to give a plug to these folks. I've never used their terminal emulation software. In fact I haven't used their software in about 5 years. The last product of their's I used was VICOM Internet Gateway (now called Intergate apparently). I loved their software back then and still do. Their support was also first rate. If the quality of their work and service is still as good, then you should have no problems with their terminal emulation solutions. My $.02
  • If you need to connect to a IBM 3270 (and similar mainframes I guess), there's a very nice free client [] that's running just fine in Mac OS X.
  • ... is to have a nice complete file. It specifies what shows up when you type [tab].

    The basic configuration of tcsh (or your favorite shell) is not very userfriendly in Mac OSX (it only completes when there are no ambiguties). It's soo nice to have an inteligent shell that does half the work for you.

    A nice example is when programming, typing "make [tab]" makes the shell search all the possible choices in the Makefile and complete.

    I took the /etc/SuSEConfig/complete.tcsh file from my SuSE Linux box, it wo
  • Is GLTerm [] it is opengl accelerated (woopee), and has support for some popular linux fonts, including ones that actually contain high ascii chars so you can irc in beautiful color.. it's shareware though, but the guy who writes it is really cool, so I shelled out the $20
  • by coaxial (28297)
    The G4 I messed with at the Apple Store had X11 and xterm installed. Just use xterm dude.
  • Has anyone gotten the arrowkeys to work using python in All I get is: ^[[A^[[C^[[B^[[D

    It is so much easier to prototype code in Python when the arrowkeys are working. I've tried bash and tcsh.
  • WRQ is the industry leader in Solid Terminal/X/RDP emulations for many years. Their products have been getting better and better over said years.

    Check it out. []

  • if you don't need a lot of bells & whisles try NCSA Telnet, still a work in progress.
  • by Creosote (33182) * on Tuesday June 10, 2003 @09:42AM (#6160223) Homepage
    Sorry to be late with this, but anyone interested in evaluating terminal emulator programs should know about the classic "vttest" program, as updated by Thomas Dickey []. It compiles under OS X without any tweaking.

    Of the programs mentioned in this thread that I've looked at, there's not a one that passes all the relevant tests. And does better than most at some of them, like the character set test and Xterm window-modify features.

    My favorite terminal emulation program, PC-compatible only alas, is VanDyke's SecureCRT [], which does well on vttest and comes with a nice terminal font set. (Luckily I'm at a school with a site license; regular individual price is $99.)

  • export TERM=ansi (Score:3, Informative)

    by exp(pi*sqrt(163)) (613870) on Tuesday June 10, 2003 @09:55AM (#6160342) Journal
    Full screen vim with PgUp/PgDn now work fine for me.
  • This has driven me crazy for some time now. Is there anyway to get the default jaguar terminal app to save its last window location?
  • The only fully VT420 compatible terminal client for OS X that I've found (that works perfectly with DEC TPU and similar VMS applications) is dataComet (and dataComet Secure, which provides SSH support). See .

    It doesn't behave quite the way an OS X program should (the Preferences window is non-standard, for example) but the emulation is excellent.

  • MacTelnet [], despite its name, can run local Unix apps on Mac OS X. It shares much of the same base code as old favorites like MacSSH, so it still has VT100, VT220 and TEK. However it also supports VT52 mode, double-sized text and most XTerm sequences, and has VT220-specific features like floating keypad windows.

    I should know, because I am writing its (open-source) code! :)
    • Hi,

      how can store the setting of all the toolbars? I just want to have the plain terminal without anything around, the settings are only for the current window and I do not see any option to disable them forever.

      Hmm, as with all others there is no mouse support for stuff like w3m or at least I did not get it running over ssh to a linux box.

      Why is it building the scripts menu each time I run mactelnet? The font list caching is nice...

      I guess I will get the source later for kicking out the toolbars...

      • Look in Preferences, General, Options for the checkbox to initially hide toolbars. This will be improved in the future.

        The rebuild is done each time in case you have new scripts installed. One day I will improve that to cache the modification date or something so that it will not even display the progress bar.

"It's curtains for you, Mighty Mouse! This gun is so futuristic that even *I* don't know how it works!" -- from Ralph Bakshi's Mighty Mouse