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..."
Gnome term? (Score:4, Interesting)
Re:Gnome term? (Score:1)
Re:Gnome term? (Score:1)
Re:Gnome term? (Score:1)
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)
Re:Gnome term? (Score:3, Informative)
Fink (Score:5, Informative)
http://fink.sourceforge.net/pdb/section.php/x11 [sourceforge.net]
Re:How about... (Score:1, Funny)
bet you didn't expect that moderation, eh?
it's a new world here at /.
you could use Rxvt (Score:5, Informative)
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.
Re:you could use Rxvt (Score:5, Informative)
Re:you could use Rxvt (Score:1)
It is.
Regarding the grandparent post: I use rxvt too, but the questioner's objections to xterm apply equally to its lighter-weight, prettier cousin.
Re:you could use Rxvt (Score:4, Informative)
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.
Re:you could use Rxvt (Score:2)
Or you could just use
Terminal crashes and character encoding (Score:5, Informative)
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.)
Re:Terminal crashes and character encoding (Score:3, Informative)
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:Terminal crashes and character encoding (Score:2)
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.
Re:Terminal crashes and character encoding (Score:1)
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
Re:Terminal crashes and character encoding (Score:3, Informative)
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
Re:Terminal crashes and character encoding (Score:1)
in vim, each 'u' steps back one more undo. to redo, you hit ctrl-r. that way you can step forward and backward in the history of the document.
Re:Terminal crashes and character encoding (Score:3, Informative)
Use undo ('u') again! 'u' toggles between undoing and redoing, and '.' continues undoing or redoing, whatever you last did. It sort of makes sense.
Re:Terminal crashes and character encoding (Score:1)
Re:Terminal crashes and character encoding (Score:2)
If you are saying nvi doesn't do split buffers, try :E, :E file, :N, or pretty much any "ex edit something new" command but in upper case. Once you do that control-W switches buffers, and you might want to look at :fg, :bg, and :resize
Re:Terminal crashes and character encoding (Score:2)
I posted an entry there giving the locale def I wrote for CP1252, and posted the bug as a comment to it. (It didn't seem right to post it as a separate bug, as I think you only encounter it when using a locale such as my new one.)
It's difficult to see how much notice they take of the bug reporter... For the first Mac OS bug I found and fixed, an Apple techie saw a post I'd put on a mailing list about it, and mailed be about it. He was extremely helpful, and w
Re:you could use Rxvt (Score:1, Informative)
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
%
If you like it, soft link Terminal to
Eric
iTerm (Score:4, Informative)
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.
Re:iTerm (Score:3, Interesting)
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)
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
PuTTY (Score:1, Offtopic)
NEXTSTEP terminal.app (Score:4, Interesting)
http://www.levenez.com/NeXTSTEP/Terminal.jpg [levenez.com]
Eterm (Score:4, Informative)
If you're a fan of Eterm (I am), you have two options available to you:
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.
ANSI color customization (Score:4, Interesting)
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 Terminal.app's split-window function is surprisingly useful. And unique, in my experience.
Re:ANSI color customization (Score:2)
Re:ANSI color customization (Score:3, Informative)
Re:ANSI color customization (Score:2)
the split widget thingy (Score:2)
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.
Re:ANSI color customization (Score:2)
Re:ANSI color customization (Score:1)
Why have a differnet keybinding for the same logical action?
Re:ANSI color customization (Score:2)
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.
Re:ANSI color customization (Score:2)
PuTTY (Score:5, Informative)
(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]).
Re:PuTTY (Score:1)
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 [tartarus.org], 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!
Konsole (Score:2)
--
Evan
Java Options (Score:3, Informative)
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...
TERM environment variable make a difference (Score:5, Interesting)
Alas, this doesn't affect speed but it does enable improved functionality.
Re:TERM environment variable make a difference (Score:3, Informative)
alias dock='echo -n "[2t"'
alias lower='echo -n "[6t"'
alias raise 'echo -n "[5t"'
Here're [mac.com] some more.
'jfb
Re:TERM environment variable make a difference (Score:2, Informative)
- /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]
sorry about that. It just sorta came out.
MacSSH (Score:3, Informative)
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:MacSSH (Score:2)
That said I have yet to find a
Re:MacSSH (Score:1)
GNUStep? (Score:3, Interesting)
color xterm emulation is easy in Terminal.app (Score:1)
setenv TERM xterm-color
I didn't have to fiddle with stty either.
Re:color xterm emulation is easy in Terminal.app (Score:3, Interesting)
*scowl*
'jfb
Re:color xterm emulation is easy in Terminal.app (Score:1)
My two solutions: DataComet and Eterm....[+] (Score:5, Informative)
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....
Point Drawoc to Google? (Score:1, Informative)
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
Re:Same Problem (Score:1)
PageUp/PageDown (Score:1)
Please take a minute and open a bug at bugreport.apple.com.
Have you tried (Score:4, Informative)
Re:Have you tried (Score:2)
IBM 3270 terminal (Score:2)
What makes the Terminal.app really nice to use... (Score:1, Redundant)
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
Re:What makes the Terminal.app really nice to use. (Score:2)
The *Best* terminal I've found.. (Score:1, Informative)
xterm (Score:2)
Python in Terminal.app (Score:2)
It is so much easier to prototype code in Python when the arrowkeys are working. I've tried bash and tcsh.
Re:Python in Terminal.app (Score:2)
Re:Python in Terminal.app (Score:2)
Re:Python in Terminal.app (Score:1)
WRQ's Reflection Products is the Answer. (Score:2)
Check it out. [wrq.com]
Dolemite
_________________________
this might work (Score:1)
vttest - VT100 (and more) test suite (Score:3, Informative)
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)
Re:export TERM=ansi (Score:2)
Doesn't work for me. PgUp/PgDn in Terminal.app still sends the keystroke to the Scrollback function. What exactly are you doing to achieve the desired result?
Re:export TERM=ansi (Score:2)
Re:export TERM=ansi (Score:1)
There is no way to enable PgUp and PgDn in Apple's terminal, I challenge anyone to prove otherwise.
Default Terminal window location.. (Score:1)
Re:Default Terminal window location.. (Score:2)
Re:Default Terminal window location.. (Score:1)
dataComet (Score:2)
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.
YMMV.
MacTelnet For Local Unix, TEK, VT100/VT220/XTerm (Score:1)
I should know, because I am writing its (open-source) code!
Re:MacTelnet For Local Unix, TEK, VT100/VT220/XTer (Score:1)
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...
weee
Re:MacTelnet For Local Unix, TEK, VT100/VT220/XTer (Score:1)
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.
Re:Cursory look through discussion (Score:2)