---
name: "multi-gnome-terminal"
section: "1"
platform: "linux"
package: "multi-gnome-terminal"
version: "1.6.2-13"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/multi-gnome-terminal"
---

# multi-gnome-terminal(1)

An enhanced terminal emulator for GNOME.

## 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)](/xterm/1.md)* 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)](/xterm/1.md)* program provides, through special escape  sequences. The *[xterm(1)](/xterm/1.md)* program is an evolving program. Recent changes  to *[xterm(1)](/xterm/1.md)* 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)](/mgt-helper/1.md), or the User Guide.

## FILES

```
 /usr/bin/multi-gnome-terminal
 /usr/lib/multi-gnome-terminal/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)](/mgt-helper/1.md), [gnome-session(1)](/gnome-session/1.md), [gnome-terminal(1)](/gnome-terminal/1.md), [xterm(1)](/xterm/1.md)

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.
