Advanced topics

Command line Options

When Terminal is started from the command line or from a panel launcher, several options can be specified to modify its behavior.

--help

List the various command line options supported by Terminal and exit

--version

Display version information and exit

--disable-server

Do not register with the D-BUS session message bus

--execute ...

Execute the remainder of the command line inside the terminal

--command command

Execute command inside the terminal

--working-directory directory

Set directory as the working directory for the terminal

--title title

Set title as the initial window title for the terminal

--hold

Causes the terminal to be kept around after the child command has terminated

--display display

Open terminal window on the X screen specified by display.

--geometry geometry

Sets the geometry of the last-specified window to geometry. Read man X for more information on how to specify window geometries.

--role role

Sets the window role of the last-specified window to role. Applies to only one window and can be specified once for each window you create from the command line. It is mostly used for session management inside Terminal.

--startup-id id

Specifies the startup notification id for the last-specified window. Used internally to forward the startup notification id when using the D-BUS service.

--fullscreen

Set the last-specified window into fullscreen mode; applies to only one window; can be specified once for each window you create from the command line.

--maximize

Set the last-specified window into maximized mode; applies to only one window; can be specified once for each window you create from the command line.

--show-menubar

Turn on the menubar for the last-specified window. Can be specified once for each window you create from the command line.

--hide-menubar

Turn off the menubar for the last-specified window. Can be specified once for each window you create from the command line.

--show-borders

Turn on the window decorations for the last-specified window. Applies to only one window. Can be specified once for each window you create from the command line.

--hide-borders

Turn off the window decorations for the last-specified window. Applies to only one window. Can be specified once for each window you create from the command line.

--show-toolbars

Turn on the toolbars for the last-specified window. Applies to only one window. Can be specified once for each window you create from the command line.

--hide-toolbars

Turn off the toolbars for the last-specified window. Applies to only one window. Can be specified once for each window you create from the command line.

--tab

Open a new tab in the last-specified window. More than one of these options can be provided.

--window

Open a new window containing one tab. More than one of these options can be provided.

For example, say you want to open a new terminal window with two tabs in it, where the first tab should run mutt and the second tab should run mc, and the window should have 80 columns and 40 rows, then you would use the following command to start Terminal:

Terminal --geometry 80x40 --command mutt --tab --command mc

Files and Environment Variables

Terminal uses the Basedir Specification as defined on Freedesktop.org to locate its data and configuration files. This means that file locations will be specified as a path relative to the directories described in the specification.

${XDG_CONFIG_HOME}

The first base directory to look for configuration files. By default this is set to ~/.config/.

${XDG_CONFIG_DIRS}

A colon separated list of base directories that contain configuration data. By default the application will look in ${sysconfdir}/xdg/. The value of ${sysconfdir} depends on how the program was build and will often be /etc/ for binary packages.

${XDG_DATA_HOME}

The root for all user-specific data files. By default this is set to ~/.local/share/.

${XDG_DATA_DIRS}

A set of preference ordered base directories relative to which data files should be searched in addition to the ${XDG_DATA_HOME} base directory. The directories should be separated with a colon.

${XDG_CONFIG_DIRS}/Terminal/terminalrc

This is the location of the configuration file that includes the preferences which control the look and feel of Terminal.

${XDG_DATA_DIRS}/Terminal/Terminal-toolbars.ui

This file includes the user interface definition for the toolbars. If you customize the toolbars using the graphical toolbars editor, Terminal will store the new toolbars layout in the file ${XDG_DATA_HOME}/Terminal/Terminal-toolbars.ui.

Hidden options

Terminal offers a few hidden options to allow powerusers to control various advanced settings and to reduce the number of options in the user interface. To set any of these options, you will have to open the file ${XDG_CONFIG_HOME}/Terminal/terminalrc in your favorite text editor and edit the section [Configuration]; simply create the file if it does not already exist. For example, your terminalrc could look like

[Configuration]
MiscAlwaysShowTabs=TRUE
MiscBell=TRUE
MiscConfirmClose=FALSE
MiscCursorBlinks=TRUE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscCycleTabs=FALSE
MiscInheritGeometry=TRUE
MiscMouseAutohide=FALSE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE

plus all the options that are controlled through the preferences dialog.

MiscAlwaysShowTabs

If TRUE the tab headers will always be displayed even if only a single terminal tab is open. This option is useful if you do not want the terminal window to resize when you open a second tab. It is disabled by default.

MiscBell

Enables (MiscBell=TRUE) or disables (MiscBell=FALSE) the audible terminal bell. It is disabled by default.

MiscConfirmClose

Controls whether Terminal popups a confirmation dialog when the user tries to close a terminal window with multiple tabs in it. Can be either TRUE (the default) or FALSE.

MiscCursorBlinks

Enable this option to display a cursor that blinks. Can be either TRUE or FALSE (the default).

MiscCursorShape

Specifies the shape of the cursor in the terminal. This can be either TERMINAL_CURSOR_SHAPE_BLOCK (the default), TERMINAL_CURSOR_SHAPE_IBEAM or TERMINAL_CURSOR_SHAPE_UNDERLINE. This option is only available when you compile against VTE 0.19.1 or newer.

MiscCycleTabs

This option controls whether you can circulate through terminal tabs. That is, whether you are able to go from the last tab to the first tab using the Next Tab button from the Go menu (or the associated keyboard shortcut), and from the first tab to the last tab using the Previous Tab button from the Go menu. The option can be either TRUE (the default) or FALSE.

MiscDefaultGeometry

The default geometry for new Terminal windows if no --geometry option is specified on the command line (defaults to 80x24).

MiscInheritGeometry

This setting controls whether new windows will inherit the geometry (width and height of the active tab) from its parent window (the window from which the new window was opened). Can be either TRUE or FALSE (the default).

MiscMouseAutohide

This setting controls whether Terminal will hide the mouse cursor while you are typing in a terminal window. Can be either TRUE or FALSE (the default).

MiscTabCloseButtons

This setting controls whether Terminal provides a close button with the terminal tab title. Can be either TRUE (the default) or FALSE.

MiscTabCloseMiddleClick

This setting controls whether Terminal will close a terminal tab when the user middle-clicks the tab title. Can be either TRUE (the default) or FALSE.

MiscTabPosition

Specifies the position where the tab headers should be displayed. This can be either GTK_POS_TOP (the default), GTK_POS_LEFT, GTK_POS_BOTTOM or GTK_POS_RIGHT. If you specify GTK_POS_LEFT or GTK_POS_RIGHT here, the tab header texts will be displayed vertically instead of horizontally. It is highly recommended to disable MiscTabCloseButtons for GTK_POS_LEFT and GTK_POS_RIGHT.

MiscHighlightUrls

This setting controls whether URLs - both hyperlinks and email addresses - will be highlighted in the text displayed in a terminal window. If you change this option to FALSE, URLs won't be highlighted anymore and you will no longer be able to middle-click the URL to open it in the preferred application.