-->
Home » , » Terminator is a cross-platform GPL terminal emulator with advanced features not yet found elsewhere.

Terminator is a cross-platform GPL terminal emulator with advanced features not yet found elsewhere.

terminatorTerminator will run on any modern OS with Java 6 or later. It replaces xterm, rxvt, xwsh and friends on X11 systems, GNOME Terminal, KDE's Konsole, Apple's Terminal.app, and PuTTY.

Features

Here are some of the features unique to Terminator, or which are rare amongst the competition:

  • Automatic Logging - Complete logs are automatically generated of all your terminal sessions [full details].

  • Drag & Drop - Text and URLs, and even files from Finder/Nautilus/Windows Explorer can be dropped on Terminator to be inserted as text, with automatic quoting of filenames containing shell meta-characters.

  • Find - Terminator provides you with a find function so you can search for text and regular expressions within your terminal (including the scrollback), highlighting them all, in the style of less(1), and offering quick movement to the next or previous match [full details]. As far as we know, the only other terminal emulator with a find function is Apple's Terminal, and ours is better.

    Searches stay active until you cancel them, so if you're waiting for some particular output in a great stream of output, this is a really great way to make it blindingly obvious when it appears.

    A screenshot of Terminator on Mac OS, after running 'man bash', and doing a find for '(?i)shell':

    The Find dialog on Mac OS

    Despite the evidence that a pager is running, this is Terminator doing the highlighting — one of the authors uses cat(1) as his pager.

  • Freedom - Terminator is released under the GPL.

  • Horizontal Scrolling - Most terminal emulators wrap text when it intrudes upon the right margin. Terminator doesn't — it instead provides a horizontal scrollbar when necessary (hold down shift to make your scroll wheel scroll horizontally). This brings clear benefits in terms of readability of program output, or text files sent to the display with cat(1). (We tried both this and Apple-like reflowing of text when you change the window size, and we decided we preferred this. Sadly, we don't have the resources to support two implementations, so reflowing is no longer an option; it's gone from the code.)

  • Multiple Tabs - Like tabbed browsing, only with terminals [full details].

    Multiple tabs on Windows

  • Number Reinterpretation - Terminator will recognize numbers in a variety of bases as the current selection, and add informational menu items to the pop-up menu showing the same number in other bases. No more man ascii or resorting to bc(1).

  • Open Terminator Here - Start a new terminal window in the directory you clicked on in Windows Explorer.

  • Portability - Written mostly in Java, with a small POSIX C++ part (for pseudo-terminal support) and a Ruby invocation script, Terminator should compile out of the box on most modern desktop operating systems. (Pre-built packages are available for most systems, so you don't need to worry about this.)

    Now you can use the same great terminal emulator everywhere!

  • Proper Tab Character Handling - Most terminal emulators will translate tab characters into strings of spaces, which is very annoying if you then try to copy/paste a section of text from your terminal into a text editor. Terminator handles tabs properly, remembering where the tabs are and copy/pasting them as tab characters.

  • Unlimited Scrollback - Terminator won't throw away output when it scrolls off the top of the screen, nor when it reaches any arbitrary limit. You decide when, if ever, to clear the scrollback. (Even if you do clear the scrollback, you can still find lost text in the log, unless you turned that off too.)

  • Intelligent Vertical Scrolling - Terminator's scrollbar won't keep jumping when there's output if you've deliberately scrolled back to look at part of the history, but as soon as you scroll back to the bottom again, it will resume auto-scrolling. This gives you the best of both worlds without having to choose up-front via some configuration mechanism.

  • Fewer Gotchas - Terminator automatically turns off XON/XOFF flow control for terminal output. Being able to pause output by typing ^S and resume it by typing ^Q is much less useful given unlimited scrollback and intelligent vertical scrolling, and mainly leads to confusion when it's accidentally typed by someone who doesn't know about this functionality (or doesn't realize they've activated it). Turning off XON/XOFF allows Bash and Emacs, amongst others, to make use of these keystrokes.

    A user who wants the XON/XOFF behavior – perhaps because they like to pause the output from commands like top(1) – can use stty ixon in their login script to re-enable it. Sadly, we can't just visibly indicate when ^S has stopped output, and provide help in re-starting output, because there's no way to read this aspect of tty state.

  • Safe Quit - Terminator knows when you still have processes running, and brings up a dialog rather than just letting those processes die.

    top(1) running on Linux

  • UTF-8 - Terminator won't mangle your favorite accented characters, and it copes well with languages such as Greek where there's a mix of normal and wide glyphs:

    Greek on Mac OS

    The text is Markus Kuhn's UTF-8-demo.txt if you want to see what a mess Terminal.app makes of it. (On Mac OS, Terminal.app beats us on Thai, but we're better at Cyrillic, Greek, and Japanese. Results vary between platforms based on availability and suitability of fonts.)

    One side-effect of proper support for variable-width glyphs is that you're not restricted to fixed-width fonts in Terminator, even if the only language you're using is English. GNU readline might get confused about the line length, though.

    Here's a more convincingly terminal-like example of fixed-width English and variable-width Japanese; output from javac(1):

    Japanese javac(1) output on Mac OS

We think Terminator is the clear choice for the discerning terminal user. Though originally written for Linux to make up for the fact that no Linux terminal emulator was as good as Mac OS' Terminal, it has now surpassed Terminal in several areas.

Mailing List

Feel free to visit or join the terminator-users group.

Downloads

Pre-Built Packages

Linux

Linux x86 .deb for Debian/Ubuntu *

Linux x64 .deb

Linux x86 .rpm for Fedora/SUSE

Linux x64 .rpm

* Also available from our package repository. Using our Debian package repository.

Mac OS

Mac OS universal .zip (10.4 to 10.6)

Windows

Windows x86 .msi (Windows 2000 to Windows 7)*

* Requires Cygwin <= 1.7.7 and Cygwin Ruby and 32 bit Java. Setting up Cygwin. Common Cygwin problems.

Building from Source

If no pre-built package is available for your platform, or you just like building from source, anonymous read-only Subversion access is available. Copy and paste these commands to get everything you need:

mkdir ~/jessies && cd ~/jessies
svn checkout http://software.jessies.org/svn/terminator/trunk/ terminator
svn checkout http://software.jessies.org/svn/salma-hayek/trunk/ salma-hayek
make -C salma-hayek && make -C terminator


You may want to add something like this to your crontab to keep up to date automatically (assuming your computer's on at 23:00):



00 23 * * * echo ~/jessies/salma-hayek/bin/nightly-build.rb | bash -l


There's also a source distribution, terminator-source.tar.gz, but Subversion makes it easier for you to keep up to date, and makes it easier to submit patches. (Note that you need to build salma-hayek before building any of our other projects.)



The hints for building are the same for all our projects.



If you just want to look, you can browse the repository.





If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:



0 commenti:

Post a Comment

Random Posts

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->