ROXTerm
Author: Adrian Sampson
Description: ROXTerm: a full-featured VTE terminal emulator.

- Хата
- Новини
- Встановлення
- Інструкція

# Вітаємо

ROXTerm is a terminal emulator intended to provide similar features to gnome-terminal, based on the same VTE library. It was originally designed to have a smaller footprint and quicker start-up time by not using the Gnome libraries and by using a separate applet to provide the configuration GUI, but thanks to all the features it's acquired over the years ROXTerm can probably now be accused of bloat. However, it is more configurable than gnome-terminal and aimed more at "power" users who make heavy use of terminals.

It still supports the ROX desktop application layout it was named after, but can also be installed in a more conventional manner for use in other desktop environments.

# Новини

2025-09-09 Version 3.17.1

- Refactored HTML documentation.
- Added support for translations to the build system.

2018-03-01 Version 3.5.1

- Migrated to github.
- Use CMake build system.
- Fixed the geometry bug introduced by GTK 3.20.0.
- Removed X11-specific code and options for improved Wayland support.
- Minimum version requirements are now GTK 3.20 and vte 0.48.
- Improved support for URIs.
- Numerous other fixes and updates.

2015-12-02 Version 3.3.1

- Terminals running the default shell are only considered to be running (when confirming close actions) if the shells have child processes. This may only work in Linux.

2015-08-11 Version 3.1.1

- This version supports the saving and restoring of named user sessions.
- The initial number of tabs profile option has been removed; its functionality is better served by sessions.

2015-07-09 Version 3.0.1

- The GTK2 version has been dropped and only the vte-2.91 API (vte 0.38 or newer) is supported. You may need to change the background opacity setting (now found in the Appearance section of your profile) when upgrading from an earlier version.
- mscript.py now uses python3 by default, but is backwards compatible with python2. python3-lockfile is relatively new so you may need to explicitly run mscript.py in python2. To do this when building a Debian package edit debian/rules and change the dependencies in debian/control.

# Встановлення

## Звантажити :

Visit the github project page to download snapshots. For a stable version use the latest numerical tag. If you are using an old LTS distro with a GTK3 version lower than 3.20 you should use roxterm 3.3.1, preferably from your distro's package manager. In case your distro is really old, roxterm 2.x supports GTK2.

## Вимоги :

You need the libraries for GTK+3 which is pretty much standard on all free Unix derivatives these days. It needs at least version 2.16 of glib and GTK+ 3.20. You will also need vte/libvte (at least version 0.48 of vte-2.91), a GNOME component. D-BUS is also required (see below).

Для збору ROXTerm вам потрібні файли заголовків перерахованих бібліотек. Зазвичай їм відповідають пакунки з суфіксами «-dev» чи «-devel».

Prior to 3.5.0 ROXTerm used a bespoke build system called maitch. This requires python and the python 'lockfile' module. 3.5.0 uses the more conventional CMake.

### D-Bus

D-Bus is a messaging system which ROXTerm uses to connect terminals with its configure tool. ROXTerm uses the "session" bus, which should be started along with your desktop environment. Current versions of ROX, GNOME and KDE/Plasma session managers all launch D-Bus. If you use some other session/desktop/window manager which doesn't launch D-Bus you can start it by inserting something like this near the start of your .xinitrc or .xsession:

if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then eval `dbus-launch --sh-syntax --exit-with-session` export DBUS_SESSION_BUS_ADDRESS fi

Причиною використання власної системи налаштування через D-Bus є неможливість використання довільної кількості імен профілів через gconf.

## Встановлення :

To install ROXTerm for ROX all you need to do is check it out or unpack it into your Apps directory and run it from there, but you will probably want to rename the folder to ROXTerm. For other systems ROXTerm may be installed in the typical CMake way:

mkdir build cd build cmake .. make -j 4 sudo make install

The `-j 4` is optional, to accelerate the build by using multiple processing threads. Replace the 4 with the number of "threads" or cores your CPU has.

Various other options are available, run

cmake --help

для отримання подробиць.

### Debian та Ubuntu

Up-to-date official Debian packages are not currently available, but packages from the Ubuntu PPA may be compatible, or you can take advantage of the debian build files provided.

You can use `sudo apt-get build-dep roxterm` at this point, but depending on the version already in your distro the set of packages may be out-of-date, so be prepared for dependency errors later and install the necessary packages at that point.

If not using a release snapshot it's a good idead to use `dch` to ensure the newest version number in `debian/changelog` has an appropriate version number eg what `./version.sh` generates in the file `version`, based on the output of `git describe`. Now you can build the packages eg with `debuild -b -uc -us`. Note the `-b`:- only binary packages can be built in the absence of an orig tarball.

# Інструкція

## Вкладки :

Кожне вікно може містити кілька терміналів-вкладок. На відміну від gnome-terminal і старіших версій ROXTerm, рядок вкладок при типових налаштуванням відображається завжди (навіть коли вкладка лише одна), щоб уникнути невідповідностей при зміні розміру вікна; старіше відображення можна повернути.

If you experience a problem with tab labels shrinking after dragging tabs so that they only have room to display '...', try making sure the pointer is over the body of a terminal when you drop a dragged tab, not over the tab bar area.

## Меню :

Рядок меню (в цілому непотрібний у терміналі елемент) ховається без шкоди для функціональності, бо спливне меню показує його елементи. Попри це, рядок меню надається для легшого сприйняття ROXTerm новими користувачми. Перемикати його стан можна як для всіх терміналів (шляхом менеджера налаштувань), так і для окремого вікна.

При наведенні вказівника на веб- та е-мейл-адреси спливне меню дозволяє відкривати їх у сторонніх програмах.

## Підсвічування URI :

При наведенні вказівника на набір символів, розпізнаний ROXTerm як URI (наприклад, веб-посилання чи адреса е-пошти), той виділяється підкресленням та зміною форми вказівника. Ви можете відкрити адресу, виконавши правий тиць та вибравши пункт меню «Відкрити...», або затримавши Ctrl і виконавши лівий тиць. Адреси відкриватимуться вказаними робочим середовищем програмами; для кожного виду адрес це можна перевизначити в налаштуваннях профілю. Також можна затиснути Ctrl і перетягти адресу в вікно іншої програми, яка може сприйняти її як текст чи URI; перетягнення адреси в вікно терміналу дублює її.

Якщо вказати на серверну частину посилання, підсвітиться лише вона. Щоб відкрити адресу включно з іменем файлу, пересуньте вказівник на це ім’я. Так само можна використати адресу е-пошти (саму або з префіксом «mailto:» відповідно).

As of version 2.9.1 ssh URI and hostname matching is supported. URIs including a path name can only be copied to the clipboard; in the absence of a pathname ROXTerm can also start a ssh session to the described host. Plain hostnames are also matched, but only if they start with "ssh" or end with ".local" or ".lan". Attempting to match more generic hostnames would cause too many false positives. If you regularly use a non-matching ssh server consider adding a matching alias in /etc/hosts.

## Перетягніть і опустіть :

Пересувайте елементи до вікон терміналу. Текстові об’єкти додаються до поточного рядка, ніби при ручному набиранні. Файли та посилання повертають свої адреси. Вкажіть тло терміналу, перетягнувши графічний файл у відповідний розділ менеджеру налаштувань. При затисканні Ctrl підсвічену в терміналі адресу можна пересунути в іншу програму.

Змінюйте порядок вкладок, перетягуючи їх мітки всередині вікна (або в інше вікно ROXTerm; поміщена поза вікна терміналу мітка створить нове вікно). Перетягуйте неактивну вкладку без її активації, використовуючи праву кнопку миші.

## Named User Sessions :

New in version 3.1.1 is the ability to save named user sessions. Click Save Session... in the File menu to name your session and save it. A session saves the state of current windows and tabs but not the terminals' text content. A session can be restored with roxterm's --session command-line option, or will be restored automatically if named 'Default'. Leaving the field blank is equivalent to 'Default'.

## Налаштування :

Налаштування базуються на йменованих профілях (для зручності перемикання різних конфігурації). Існують профілі для загальних параметрів, колірних схем та «гарячих клавіш» (котрі також називаються «скороченнями»). Колірні схеми та профілі можуть діяти в межах однієї вкладки, але для всіх вкладок одразу застосовуються єдині «гарячі клавіші» (щоб запобігти утворенню плутанини). Нове вікно (чи вкладка) успадковує налаштування вікна (чи вкладки), у якому воно було відкрите.

До версії 1.15.1 усі вкладки використовували єдиний профіль. Зараз глобальними налаштуваннями профілю стають лише ті, що можуть вплинути на розмір терміналу (наприклад, шрифт), з метою забезпечення єдиної геометрії для всіх вкладок вікна.

Тимчасово обирайте потрібний профіль через меню налаштувань. Цей параметр не запам’ятовується, типові набори налаштувань встановлюйте через менеджер налаштувань, де також можна редагувати, копіювати, стирати та перейменовувати профілі й колірні схеми, а також керувати іншими налаштуваннями. Зверніть увагу, керування «гарячими клавішами» й кодуваннями символів відбувається дещо інакше, ніж настроювання профілів та кольорів.

## «Гарячі клавіші» :

There is no editor for keyboard shortcuts; instead, prior to GTK+ 3.10 they can be changed by pressing keys while the mouse is hovering over a menu item in the terminal. This feature must be enabled with the "Enable editing" option under the "Keyboard shortcuts" section of the Configuration Manager. There is also a "hidden" global GNOME setting to determine whether GTK applications can have their shortcuts edited in this way. The global option is managed by gconf, which roxterm is not linked with, so in some circumstances the global and roxterm options may conflict with each other.

The above method for editing shortcuts has been disabled from GTK+ 3.10 onwards. Instead ROXTerm 2.9.1 onwards allows the shortcuts profiles to be edited in a text editor, either via the Configuration Manager or from a terminal's menu (Preferences submenu). The action names correspond to the localised labels used in the menu items. The new shortcuts should automatically be reloaded when you save the file. Alternatively, selecting a scheme in the Preferences menu now forces it to be reloaded.

If you have GTK+ 3.10 or newer, but can't upgrade from an older ROXTerm you will have to open the config files in a text editor yourself, then restart roxterm. The default file is ~/.config/roxterm.sourceforge.net/Shortcuts/Default. If one does not already exist you can copy the Default file provided with roxterm and use it as a template. This can be found as Config/Shortcuts/Default in the source tree, or /usr/share/roxterm/Config/Shortcuts/Default in most installed packages.

## Керування налаштуваннями :

Запускайте менеджер налаштувань, обираючи «Налаштувати...» в меню ROX для програми ROXTerm (або запускаючи roxterm-config, якщо ROXTerm використовується незалежно).

Файлами налаштувань просто обмінюватися з іншими користувачами. На кожен профіль, кожну колірну схему й кожну схему «гарячих клавіш» виділяється один файл; його збереження у потрібну теку надасть відповідну конфігурацію (назва відповідає імені файлу).

Розташування конфігураційних файлів відповідає специфікації XDG Base Directory. Ось їх список у порядку спадання пріоритету:

1. ${XDG_CONFIG_HOME}/roxterm.sourceforge.net (зазвичай ~/.config/roxterm.sourceforge.net)
2. ${XDG_CONFIG_DIRS}/roxtem.sourceforge.net (зазвичай /etc/xdg/roxtem.sourceforge.net)
3. ROXTerm/Налаштування (для користувачів ROX) або ${datadir}/roxterm/Config (для інших); ${datadir} зазвичай відповідає /usr/share (при самостійній збірці з джерела — /usr/local/share)

Files will be loaded from any and all the above locations; files in high priority locations shadow ones with the same name in lower priority locations. Files are only saved in the first location.

Незалежно від розташування, профілі зберігаються до теки «Profiles», колірні схеми — до «Colours», а набори скорочень — до «Shortcurs». Файл, названий «Globals», містить опції, що не стосуються трьох основних категорій (назва типового профілю тощо).

## Параметри командного рядка :

ROXTerm підтримує кілька параметрів командного рядка. Виконайте:

roxterm --help

для отримання повного списку

Починаючи з версії 1.1.0 ROXTerm типово використовує єдиний процес для всіх терміналів, що дозволяє пересувати вкладки між вікнами. Повторно запущений ROXTerm надсилає через D-Bus відкритому процесові команду відкрити новий термінал і завершується. Щоб запустити ROXTerm окремим процесом, використовуйте параметр --separate.

У версії 1.7.0 замість параметрів --colour_scheme та --shortcut_scheme введено --colour-scheme та --shortcut-scheme відповідно (нижні риски замінено на дефіси). Старіші варіанти все ще підтримуються для зворотньої сумісності.

## GTK Styling :

Like any VTE-based terminal, you can apply custom GTK styles on ROXTerm terminals.

A common use-case is to add padding around the terminal content. You can do this by adding the following to your global GTK stylesheet in ~/.config/gtk-3.0/gtk.css:

VteTerminal, vte-terminal { -VteTerminal-inner-border: 20px; padding: 20px; }

Per-profile styling is possible by targeting specific classes in the GTK stylesheet. For example, if you want to apply a different padding to a profile named "Minimal", while still keeping your default padding, you can add this style rule after the previous one:

VteTerminal.roxterm-Minimal, vte-terminal.roxterm-Minimal { -VteTerminal-inner-border: 2px; padding: 2px; }

When a profile name contains spaces, the generated class replaces them with hyphens.

## Просунуте використання D-Bus :

Починаючи з версії 1.14.0, досвідчені користувачі можуть контролювати термінали з інших програм та скриптів через D-Bus. Для цього існують три D-Bus-методи. Їм необхідний індекс потрібного терміналу; його можна взяти з ROXTERM_ID, змінної оточення, в запущеній у терміналі оболонці чи іншій програмі. Шлях до об’єкту D-Bus та інтерфейс для методів — це «net.sf.roxterm.Options» та «/net/sf/roxterm/Options» відповідно. Методами є:

SetProfile("id", "profile_name")

— просить термінал використати на всіх вкладках терміналу названий профіль.

SetColourScheme("id", "scheme_name")

— просить термінал використати на вкладці названу колірну схему.

SetShortcutScheme("id", "scheme_name")

— просить термінал використати на всіх вкладках названу схему «гарячих клавіш».

Приклад використання dbus-send у скрипті:

dbus-send --session /net/sf/roxterm/Options \ net.sf.roxterm.Options.SetColourScheme string:$ROXTERM_ID string:GTK

Надсилайте D-Bus сигнали для зміни певних опцій у межах профілю чи колірної схеми методами StringOption, IntOption (також використовується для булевих опцій) та FloatOption. Тимчасово впливаються всі термінали, що використовують названий профіль чи колірну схему. Опції не зберігаються для нових терміналів. Усіма методами використовуються три аргументи:

- Повна назва профілю, включно з префіксом «Profiles/» чи «Colours/».
- Назва опції
- Значення

Перегляньте доступні імена опцій у файлах налаштувань, де можна визначити й потрібні типи.

Приклад використання dbus-send у скрипті:

dbus-send --session /net/sf/roxterm/Options \ net.sf.roxterm.Options.StringOption \ string:Colours/GTK string:background 'string:#ffffff'

Третій варіант використання полягає в сповіщенні ROXTerm про модифікацію профілю, колірної схеми чи набору «гарячих клавіш» сторонньою програмою й необхідність перезавантаження відповідних налаштувань терміналами, що їх використовують.

OptionsChanged("family_name", "profile_name")

family_name — «Profiles», «Colours» чи «Shortcuts». Наприклад:

dbus-send --session /net/sf/roxterm/Options \ net.sf.roxterm.Options.OptionsChanged \ string:Profiles string:Default