Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Software Businesses Operating Systems Unix Apple

Decent Terminal Emulation on Mac OS X? 115

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:
  • 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.

    http://fink.sourceforge.net/pdb/section.php/x11 [sourceforge.net]

  • 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.

  • 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 Terminal.app.

    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.
  • 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 [rxvt.org] 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.

    Ãibhear

  • 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 [forked.net] (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.
  • 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 [greenend.org.uk], is a possible future option. A MacOS port is forthcoming [greenend.org.uk]. If you're brave, preliminary support is in CVS right now [tartarus.org].

    (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 [debian.org]).
  • Java Options (Score:3, Informative)

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

    I know that there are a few Java terminal emulators (check sf.net). 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 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 megabulk3000 ( 305530 ) on Monday June 09, 2003 @09:17PM (#6157300) Homepage
    click the little widget on the right hand side, just above the scrollbar and below the title bar, and voila.
  • by gidds ( 56397 ) <slashdot.gidds@me@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.)

  • 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 [wanadoo.fr].

    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!

  • Re:Gnome term? (Score:3, Informative)

    by andfarm ( 534655 ) on Tuesday June 10, 2003 @12:12AM (#6158284)
    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.
  • by zojas ( 530814 ) <kevin@astrophoenix.com> on Tuesday June 10, 2003 @12:38AM (#6158392) Homepage
    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 [swdev.org]

    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

  • Re:Gnome term? (Score:3, Informative)

    by michaelggreer ( 612022 ) on Tuesday June 10, 2003 @12:57AM (#6158458)
    I think he meant the native Aqua gtk [sourceforge.net]. I am pretty sure nothing gnome is compiling with this yet. Also, it is only gtk 1.2.x, so no tabbed gnome terminal.
  • Terminal.app also emulates DEC's tres-cool dtterm. Just set your TERM variable to dtterm. It's a superset of xterm-color functionality, as near as I can tell. As it happens, you can make Terminal.app do all kinds of wacky things with escapes. For instance:

    alias dock='echo -n "[2t"'
    alias lower='echo -n "[6t"'
    alias raise 'echo -n "[5t"'

    Here're [mac.com] some more.

    'jfb
  • 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 [greenend.org.uk] and Powerterm [ericom.com]) 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 [eterm.org] -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 [djedwhite.com]

    DataComet [databeast.com] -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 [djedwhite.com]

    Here's a random screenshot [djedwhite.com].

    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 on Tuesday June 10, 2003 @02:59AM (#6158887)
    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 concurrently.

    Personally I use Apple's weak kneed Term app and find it adequate. It sounds to me like ole Drawoc is nitpicking some stuff many (including heavy users) could care less about. Maybe he's wedded to PC habits. The OSX Term app offers some nifty features of its own although Mac interface is obviously limited.

    But as long as I can cut/copy/paste to/from it and handle by Griffin Power Mate to scroll it *quickly* (you can program this thing to grill hotdogs I suspect) then maneuvering around is no biggy and I sort of like having four or five Term app windows open and handy in my second monitor.... no CPU usage to speak of and with two G4 1.25 GHz CPUs I'm not used to seeing beach balls when in terminal mode. ;) LOL
  • by Mikey-San ( 582838 ) on Tuesday June 10, 2003 @03:11AM (#6158931) Homepage Journal
    As a matter of fact, Apple included screen in 10.2

    I'd say it was an awesome move. I SSH into a box at work to attach to a screened BitchX session. Can't beat it with a stick.
  • Have you tried (Score:4, Informative)

    by Tsk ( 2863 ) on Tuesday June 10, 2003 @04:38AM (#6159167) Homepage Journal
  • by Anarchitect ( 9282 ) on Tuesday June 10, 2003 @06:45AM (#6159420) Journal
    dont forget 'Apple_Terminal'
    • /usr/share/terminfo/41/Apple_Terminal
    works great. Arrows and _PROPER_ vim syntax coloring.

    And if you were to use teh One True Edit0r [vim.org]
    :colorscheme elflord r0kkz tha HiZZ0uSE!

    sorry about that. It just sorta came out.
  • by KrON ( 2656 ) on Tuesday June 10, 2003 @07:26AM (#6159498) Homepage
    Is GLTerm [pollet.net] 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 gidds ( 56397 ) <slashdot.gidds@me@uk> on Tuesday June 10, 2003 @09:39AM (#6160192) Homepage
    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 hear the screams of "Heresy!" already. But if the code is formatted properly, I find it easier to read in a proportional font, just like English text. I'm surprised no-one else seems to find monospaced text ugly and awkward.)

    (* It took me a while to work this out: you hit 'u' for the first undo, but then further 'u's just toggle redo/undo. So what you do is hit 'u' once, and then use '.' (redo) to undo further levels. Probably done that way for backwards compatibility, I guess.)

  • 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 [freshmeat.net]. 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 Terminal.app 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 [vandyke.com], 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.
  • by gidds ( 56397 ) <slashdot.gidds@me@uk> on Tuesday June 10, 2003 @10:47AM (#6160822) Homepage
    how can you 'undo an undo'?

    Use undo ('u') again! 'u' toggles between undoing and redoing, and '.' continues undoing or redoing, whatever you last did. It sort of makes sense.

  • by Anonymous Coward on Tuesday June 10, 2003 @01:03PM (#6162198)
    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/Terminal.app/Contents/MacO S/Terminal &

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

    Eric

Those who can, do; those who can't, write. Those who can't write work for the Bell Labs Record.

Working...