MULTI-GNOME-TERMINAL(1)

NAME
multi-gnome-terminal - An enhanced terminal emulator for GNOME.

SYNOPSIS

multi-gnome-terminal [-?|--help] [--version] [--usage] [--disable-sound] [--enable-sound] [--espeaker=HOSTNAME:PORT] [--gdk-debug=FLAGS] [--gdk-no-debug=FLAGS] [--display=DISPLAY] [--sync] [--no-xshm] [--name=NAME] [--class=WM_CLASS] [--gxid_host=HOST] [--gxid_port=PORT] [--xim-preedit=STYLE] [--xim-status=STYLE] [--gtk-debug=FLAGS] [--gtk-no-debug=FLAGS] [--g-fatal-warnings] [--gtk-module=MODULE] [--disable-crash-dialog] [--sm-client-id=ID] [--sm-config-prefix=PREFIX] [--sm-disable] [--font=FONT] [--nologin] [--login] [--geometry=GEOMETRY] [-e=COMMAND |--command=COMMAND|--execute =COMMAND] [--foreground=COLOR] [--background=COLOR] [--solid] [--pixmap=FILENAME] [--shaded] [--noshaded] [--transparent] [--utmp] [--noutmp] [--wtmp] [--nowtmp] [--lastlog] [--nolastlog] [-t TITLE|--title TITLE] [--icon=ICONNAME] [--termname NAME] [--start-factory-server] [--use-factory] [-s, --tclass=TABCLASS_NAME] [-S, --wclass=WINCLASS_NAME] [-w, --add-window] [-W, --add-window-wt] [-T, --add-tab] [-h, --hsplit] [-v, --vsplit] [-p, --tpath PATH] [-c, --tcommand COMMAND] [-x COMMAND] [-n, --tname NAME] [-N, --tnext] [-P, --tprev] [-A, --newapp] [--nowait]

DESCRIPTION

multi-gnome-terminal is a terminal emulator program that is based on gnome-terminal, from the GNOME project. multi-gnome-terminal emulates the DEC VT terminals and provides access to the Unix shell environment.

multi-gnome-terminal supports color display, pseudo-transparency with shading and tinting, pixmap backgrounds, and offers various enhancements over gnome-terminal.

The most notable enhancement of multi-gnome-terminal over the orginal gnome-terminal program is the ability to run multiple terminals simultaneously within the same window. And even to split the terminal window horizontally, and vertically. Terminals may be "bonded" to each, and may be moved with the mouse from one window to another. Switching between active terminals is easily done with either the mouse or with keyboard shortcuts. Other significant enhancements include a toolbar, a buttonbar, user definable key bindings, font shadowing, improved Classes (profiles), and the ability to add user definable commands to initialize new terminals that can be accessed through the multi-gnome-terminal GUI.

EMULATION

multi-gnome-terminal is designed to emulate the "xterm" program provided by the X Consortium. The xterm(1) program in turn is an almost-complete emulation of the DEC VT102 terminal.

multi-gnome-terminal supports the same extensions to the VT102 that the xterm(1) program provides, through special escape sequences. The xterm(1) program is an evolving program. Recent changes to xterm(1) have been been incorporated into multi-gnome-terminal. This includes emulation of the newer DEC VT220 escape sequences, and also VT52.

OPTIONS

Some of the more commonly used command line options:

--version
    Show the current multi-gnome-terminal version information, and then exit.

--usage
    Show all command line options, and then exit.

-?, --help
    Show all command line options, including a brief description, and then exit.

--class=WM_CLASS
    Specify a Window class name for X. This is different from multi-gnome-terminal Tab and Window Classes (a.k.a. "profiles").

--display=DISPLAY
    Specify the X display to use.

--font=FONT_NAME
    Specifies the font to be used to display text in the multi-gnome-terminal.

--nologin
    This option indicates that the shell started by multi-gnome-terminal should not be a login shell but a regular shell.

--login
    This option indicates that the shell started by multi-gnome-terminal should be a login shell (this trick is cleverly achieved in the Unix world by running the shell but telling the shell that its name has a dash in the front. Very clever).

--geometry=GEOMETRY
    Specifies the startup geometry for the terminal.

--command=COMMAND
    Executes the command COMMAND instead of the shell. This saves some memory if you are just planning on running a dedicated application on that window. For example, you could run the minicom terminal emulator on the window like this:
     multi-gnome-terminal --command minicom
    or for example, if you want to monitor your system:
     multi-gnome-terminal --command top

--execute COMMAND
    This flag is here for compatibility reasons. It is the same as --command.

--foreground=COLOR
    Specifies the color to be used for the foreground of the terminal (fonts and cursor).

--background=COLOR
    Specifies the color to be used for the background of the terminal.

--solid
    Force a solid background color (no pixmap or transparency).

--utmp
    Updates the Unix Login entry (The UTMP file, this is the default), this registers the multi-gnome-terminal instance with the list of users that are logged into the system (so you will be visible with the `who' command).

--noutmp
    Requests multi-gnome-terminal to not update the login records. This means that the user will not show up in the output of the `who' Unix command.

--wtmp
    Requests that this session will be logged into the system records for users that have logged into the system. This is different from `utmp' because this keeps track of who logged in and logged out of the system, independently of whether it shows up in the list of users.

--nowtmp
    Requests that the session be not logged into the system records.

--title=TITLE, -t TITLE
    Sets the title for the multi-gnome-terminal to be TITLE.

--termname NAME
    Specifies the terminal name that should be put in the environment variable $TERM. It is not normally necessary to use this flag, but you may want to use it for some bizarre situations.

--start-factory-server
    Tells multi-gnome-terminal that it should start the factory server. This will provide a terminal server that later other multi-gnome-terminals can contact (this saves memory, as a single process is run, and multiple multi-gnome-terminal windows can be managed by the same process).

--use-factory
    This tells multi-gnome-terminal that it should try to contact an existing GNOME Terminal factory to minimize memory use.

--pixmap=FILENAME
    Specifies the image filename to be used as the background for this terminal.

--shaded
    Requests that the background image be shaded (for use with --transparent and --pixmap).

--noshaded
    Requests that the background remain untouched (no shading be applied).

--transparent
    Requests that the terminal should run in "pseudo-transparent" mode, making the background of the terminal be the background of your root window.

--icon=FNAME
    Specifies the filename that contains the icon that would be used for your terminal (if your window manager supports icon hints).

-s, --tclass=TAB_CLASS_NAME
    Tells multi-gnome-terminal to use the configuration values for the terminal Class specified by TAB_CLASS_NAME (for example, I use --tclass red for root terminals). This effects only the Tab being created.

-S, --wclass=WIN_CLASS_NAME
    Tells multi-gnome-terminal to use the configuration values for the terminal Class specified by WIN_CLASS_NAME for all Tabs of this Window.

-w, --add-window
    Launch a new Window from the parent Window as a sub-process.

-W, --add-window-wt
    Launch a new Window from the parent Window as a sub-process, and include any start-up or saved Tabs for that Window's "Class".

-T, --add-tab
    Add a Tab to the new Window being started, or dynamically to the current Window. Multiple --add-tabs may be used.

-h, --hsplit
    Split the new terminal horizontally in equal parts.

-v, --vsplit
    Split the new terminal vertically in equal parts.

-p, --tpath=PATH
    Change to this PATH when starting the new Tab.

-c, --tcommand=COMMAND
    Use COMMAND to launch the new shell and Tab. The Tab can be in the current Window, or a new Window created with --add-window. Use quotes if white space is included in COMMAND.

-x=COMMAND
    Use COMMAND to launch the new shell and Tab. Quoting is not necessary.

-n, --tname=NAME
    Use this NAME for the new Tab.

-N, --tnext
    When opening split terminals, force the split to the next terminal on the command line.

-P, --tprev
    When opening split terminals, force the split to the previously created terminal on the command line.

-A, --newapp
    Start a new multi-gnome-terminal process. This can be combined with --add-tab and other command line options to alter the default start up configuration of a new Window.

--nowait
    Normally multi-gnome-terminal waits to make sure a terminal is in fact created before proceeding. This bypasses the wait period, and thus can be dangerous. Not recommended to be used as bad things may happen.

See the GNOME and GDK documentation for the other options. The User's Guide has examples of command line usage.

MULTIPLE TERMINALS

Each multi-gnome-terminal is like many terminals in one. Multiple terminal instances can run simultaneously within one window. Each runs its own, unique shell environment. New terminals are started by selecting "New Term" from either the menubar, buttonbar, or toolbar. This will start a new shell, and create a new "Tab" (or split Tab) that allows easy access between the various opened terminals. Custom commands to launch a new Tab can be defined from the "Edit Commands" selection of the Settings menu.

In addition, individual Tabs are customizable and allow the user to choose label names and colors. The Tab label will show on both the Tab itself, and the Window title bar. Colors are used to notify the user of events in a non-focused terminal. By default, the Tab label will show red if there is activity in a non-focused terminal, and then change to blue to notify that this activity has completed. See "Colors" under the Preferences menu selection. Tabs can also be saved with their PATH information.

To create new terminals:
   - buttons on bottom of the window (buttonbar)
   - popup menu (right clicking on the terminal)
   - menubar
   - keyboard shortcuts (using letter "L"):
       CTRL-l r: Start a root shell (via su)
       CTRL-l n: Start a bash shell
       CTRL-l m: Start Midnight Commander in a new shell

To switch between running terminals:
   - keyboard shortcuts:
       SHIFT-Right: next terminal
       SHIFT-Left: previous terminal
       CTRL-<n>: switch to n-th terminal
   - buttons on the buttonbar
   - buttons on the toolbar
   - clicking on notebook Tabs (bookmarks)
   - using notebook popup menu (right click on tabs)

To change the title of a terminal (tab label and Window title text):
   - buttons on the bottom of the screen (buttonbar)
   - buttons in the toolbar
   - menubar (File)
   - keyboard shortcut: CTRL-F2

The above shortcuts may be re-defined under Keybindings from the Settings menu.

CLASSES

multi-gnome-terminal allows for different configuration profiles to suit different uses (e.g. different background colors, fonts, presence, absence or position of scrollbars, fonts, and so on). These are known as "Classes". There are two distinct Class types: Window (wclass) and Tab (tclass). To configure these, invoke either the Tab Preferences or Win Preferences dialog boxes from the Settings menu of multi-gnome-terminal. This can be reached either through the menubar, or the pop-up menu accessed by shift-right-clicking on the terminal window. Select the options you prefer (these changes will be made to your currently open terminal, so you can see what they look like). Before closing the Preferences pop-up, make sure you have put a new name in the space marked "Terminal Class" if you want to create a new Class. Click the "Apply" button to save changes.

Classes can be specified for an entire Window, or on a per Tab basis (all terminals within that Tab). However, the configuration options that belong to each Class are mutually exclusive. For instance, a background color is an attribute of the Tab Class. The same is true for fonts, font colors, and many other user preferences that may be configured.

To activate a specific class at program startup, use the --tclass=TAB_CLASS (Tab specific Class) or --wclass=WIN_CLASS (Window Class) command line options. The current Class can also be dynamically changed from the Settings menu. Each Window Class may have its own unique start-up Tabs, which are defined in Edit Commands of the Settings menu. Classes can be created or removed using the appropriate Preferences selection from the Settings menu.

GNOME Terminal Factories

It is possible to start a single instance of multi-gnome-terminal, and yet have multiple windows open at the same time. The easiest way of achieving this is by selecting "File" and then "New Window" from the menu. But it is also possible to programatically instruct multi-gnome-terminal to re-use an existing running instance of multi-gnome-terminal.

By default the GNOME desktop ships with settings that allow terminals to share a single process, and thus reduce memory usage. This is achieved by registering GNOME with the CORBA gnome-name-service and using the --start-factory and the --use-factory options.

SHADING, TINTING AND BACKGROUND IMAGE

Like gnome-terminal, multi-gnome-terminal can display a pixmap background, or display in pseudo-transparency mode where the root window background is visible through the terminal window. Also, multi-gnome-terminal adds the ability to shade and tint the window. This requires transparency to be on and is configured from the "Image" tab of the Preferences dialog.

COMMANDS

Commands to create new terminals and Tabs can also be defined. The included built-in defaults are shell (user's default shell), root (root shell via su), mc (Midnight Commander), Split (create a split in the current terminal from another terminal), View (create a new terminal in "view" mode from another terminal), New tab with... (create a new Tab with another terminal). The user can add his own startup shell commands, including setting the PATH through the "Edit Commands" selection from the Settings menu in the menubar. Each command should launch a shell, and will thus open a new tabbed terminal window in the process. The command should either invoke an interactive shell (e.g. bash), or run a command (e.g. a script) that does not exit immediately (and thus would close the Tab/terminal). Commands will appear on the appropriate menus and are easily launched with the mouse or keyboard shortcuts.

The built-in default Commands that appear at the top of the New Term menu (e.g. mc), may be disabled in the New Term Tab (the third Tab).

Commands to initiliaze new Tabs automatically on start-up should be defined in the Startup Tabs Tab of the Edit Commands dialog, and the "Don't Open Startup Tabs" should be unchecked for this feature. Use the "Get" button to copy a selected item from the New Term Menu Tab. Start-up Commands are Class dependent, so each Class may have a unique start-up configuration. Both a Win Class and a Tab class may be specified for start-up Tabs.

Commands may be "grouped" into sub-menus for better organization. Example: adding entries with names of "Projects/School" and "Projects/Sourceforge" would create a sub-menu entry labeled "Projects". The sub-menu would contain two command entries: "School" and "Sourceforge".

User defined "Commands" are also available as Keybindings. See the "Command->New Tab" Keybinding Action.

FONT SHADOWING

Multi-gnome-terminal now supports font shadowing, which is a technique for outlining fonts with a thin shadow effect. This helps with contrast and readability on transparent or pixmapped backgrounds. This is enabled from the "Image" tab of the Preferences dialog.

KEY BINDINGS

Key bindings used by multi-gnome-terminal may be customized by selecting "Key Bindings" from the Settings menu in the menubar. Various tasks, such as opening a new terminal or switching between active terminals, may be assigned to keyboard combinations of the user's choosing. Key bindings can also be used to force unco-operative keys to behave as desired via the 'Escape Sequences' feature. Or to define keyboard macros so that keyboard events can execute arbitrary commands.

SPLITTING TERMINAL WINDOWS

The terminal window can be split, either horizontally or vertically through the New Term sub-menu selections. The window is split in half, but may be resized. There are also command line options for splitting. Split terminals can be moved from one Window to another, or to their own, new Tab.

BONDING, VIEWING AND MOVING

Terminals may also be "bonded", which allows the output from a command in one terminal to be echoed to all "bonded" terminals. See "All bonded" from the File menu.

"Viewing" is similar to "bonding", but only the output from the source terminal is displayed. To View the output from one terminal, in the terminal of another window, select "View" from the New Term menu. Then click the target window in which the output is to be viewed.

Terminals can be moved from one multi-gnome-terminal window to another, as long as both windows share the same process (either opened via the "New Window" option or via the Gnome-terminal factory command line option). Select "Split" or "New Tab" from the New Term menu of the target window, then click the terminal in the window to be moved to the target window.

ENVIRONMENT

Environment Variables used By multi-gnome-terminal:

TERM
    This variable is typically set to "xterm" by default. Some applications based on the curses library might expect "xterm-color", "color-xterm", or "xterm-debian". Other values may be used, if required, though often the default is adequate.

COLORTERM
    Multi-gnome-terminal sets this variable to "gnome-terminal". Some applications, especially Slang based applications, use this value to determine if the terminal supports color.

WINDOWID
    This variable contains the X11 Window identifier. This is used sometimes by applications to modify the contents of this window or provide special effects.

In addition, mgt-helper, a Bash script, is included to help Multi-gnome-terminal integrate better with the shell environment. See mgt-helper(1), or the User Guide.

FILES

 /usr/bin/multi-gnome-terminal
 /usr/sbin/mgt-pty-helper
 /usr/bin/mgt-helper

NOTES

Multi-gnome-terminal is designed to integrate fully with a GNOME session and environment. But it can be used even in the absence of a gnome-session as long as the required GNOME and GTK libs are installed.

AUTHORS

Cristiano De Michele is the creator and author of multi-gnome-terminal. Guillermo Ontanon and Soeren Sonnenberg have also contributed to developement of multi-gnome-terminal.

Multi-gnome-terminal is partially based on the original work of Michael Zucchi, Miguel de Icaza, Erik Troan and others.

SEE ALSO

mgt-helper(1), gnome-session(1), gnome-terminal(1), xterm(1)

The User's Guide has a much more complete explanation of Multi-gnome-terminal's features and usage.

BUGS AND FEATURE REQUESTS

Please use the tracking system at http://multignometerm.sourceforge.net to report bugs, request features, etc.

Bug Reports:
 http://sourceforge.net/tracker/?atid=411232&group_id=34480&func=browse

Feature Requests:
 http://sourceforge.net/tracker/?atid=411235&group_id=34480&func=browse

Patches:
 http://sourceforge.net/tracker/?atid=411234&group_id=34480&func=browse

Mailing Lists:
 http://sourceforge.net/mail/?group_id=34480

COPYRIGHT AND LICENSE

Copyright (C) 2001, 2002 Cristiano De Michele

Multi-gnome-terminal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, which is available from the Free Software Foundation, Inc, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.