Guake (Русский)

From ArchWiki
Jump to navigation Jump to search
Состояние перевода: На этой странице представлен перевод статьи Guake. Дата последней синхронизации: 16 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Guake — выпадающий эмулятор терминала для GNOME (наподобие Yakuake для KDE, Tilda и консоли из игры Quake).

Установка

Установите пакет guake.

Использование

После установки вы можете запустить Guake командой:

$ guake

Теперь вы можете зайти в Параметры в контекстном меню для изменения сочетания клавиши для появления/исчезания терминала. По умолчанию используется клавиша F12.

Автозапуск

Для автоматического запуска Guake при входе в систему, создайте файл .desktop в /etc/xdg/autostart/:

# cp /usr/share/applications/guake.desktop /etc/xdg/autostart/

Для получения дополнительной информации смотрите статью Автозапуск.

Управление Guake из скрипта

Как и Yakuake, Guake позволяет настраивать себя после запуска посредством передачи сигналов через D-Bus. Таким образом, его можно использовать в сеансе, определяемом пользователем (user defined session). Вы можете создавать вкладки, устанавливать их имена, запросить запуск конкретной команды в любой открытой вкладке или просто показать/скрыть окно Guake, вручную в окне любого терминала либо создав для этого скрипт. Ниже приведен пример такого скрипта.

Вы можете использовать сам исполняемый файл guake для отправки сообщений D-Bus. Вот список доступных опций, которые могут быть вам интересны:

  • -t, --toggle-visibility — переключить видимость окна терминала (отобразить, если спрятано, и наоборот). По сути, вы можете просто набрать guake, и, если терминал уже был запущен, будет переключена видимость его окна.
  • -f, --fullscreen — переключить Guake в полноэкранный режим.
  • --show — показать окно Guake.
  • --hide — спрятать окно Guake.
  • -n ТЕК_КАТ, --new-tab=ТЕК_КАТ — создать новую вкладку и выбрать ее. Если указано значение ТЕК_КАТ, оно будет использовано для установки текущего каталога вкладки.
  • -s НОМЕР, --select-tab=НОМЕР — выбрать (сделать текущей) вкладку с номером НОМЕР. Вкладки нумеруются с нуля.
  • -g, --selected-tab — вывести номер текущей вкладки.
  • -e КОМАНДА, --execute-command=КОМАНДА — выполнить указанную команду КОМАНДА в текущей вкладке.
  • -i НОМЕР, --tab-index=НОМЕР — используется с --rename-tab для указания номера НОМЕР вкладки, которую необходимо переименовать. По умолчанию используется значение 0.
  • --rename-tab=ИМЯ — установить новое имя вкладки ИМЯ. Вы можете сбросить имя вкладки на значение по умолчанию, указав знак дефиса ("-"). Используйте опцию -i, чтобы указать, какую вкладку следует переименовать.
  • --bgcolor=RGB — установить цвет фона текущей вкладки RGB, указанный в шестнадцатеричном формате (#rrggbb).
  • --fgcolor=RGB — установить цвет текста текущей вкладки RGB, указанный в шестнадцатеричном формате (#rrggbb).
  • -r ИМЯ, --rename-current-tab=ИМЯ — то же, что и --rename-tab, но переименовывает текущую вкладку.
  • -q, --quit — завершить работу Guake.

Несколько опций можно использовать в одном вызове. Если при вызове еще не был запущен экземпляр Guake, он будет запущен и все указанные опции будут к нему применены.

Чтобы отобразить список всех доступных опций, наберите guake --help.

Есть 2 пути запуска guake с применением этих скриптов:

  • скопировать пример в файл вроде guake-init.sh, сделать его исполняемым и запускать его вместо guake;
  • кликнут правой кнопкой мыши для вызова меню, открыть Guake Terminal > Параметры > События и добавить путь к guake-init.sh в поле «При запуске», при этом закомментировать строки /usr/bin/guake & и sleep 5 в приведённом ниже скрипте.

Второй вариант предпочтителен, если вы хотите, чтобы скрипт выполнялся независимо от способа запуска guake, и в любом случае вы можете попросить guake не запускать этот скрипт с помощью опции guake --no-startup-script если понадобится.

Пример:

#!/bin/bash

/usr/bin/guake &
sleep 5 # позволим Guake запуститься и создать сеанс D-Bus

# настроим единственную вкладку, которая открывается по умолчанию
guake --rename-tab="iotop" --execute="/usr/bin/iotop"

# создадим новую вкладку, запустим в ней сеанс bash
guake --new-tab --execute="/usr/bin/bash"
# затем вызовем htop, переименовав вкладку в "htop"
guake --execute="/usr/bin/htop" --rename-tab="htop"

# ...
guake --new-tab --execute="/usr/bin/bash"
guake --execute="/usr/bin/atop" --rename-tab="atop"

guake --new-tab --execute="/usr/bin/bash"
guake --execute="~/.iptables.sh" --rename-tab="iptables -nvL"

guake --new-tab --execute="/usr/bin/bash"
guake --execute="/usr/bin/journalctl --follow --full" --rename-tab="journalctl"

guake --new-tab --execute="/usr/bin/bash"
guake --execute="/usr/bin/irssi" --rename-current-tab="irssi"

guake --new-tab --execute="/usr/bin/bash"
guake --execute="/usr/bin/sudo -i" --rename-current-tab="rootshell0"

guake --new-tab --execute="/usr/bin/bash"
guake --execute="/usr/bin/sudo -i" --rename-current-tab="rootshell1"

guake --new-tab --execute="/usr/bin/bash"
guake --rename-current-tab="shell0"

guake --new-tab --execute="/usr/bin/bash"
guake --rename-current-tab="shell1"

Обратите внимание, что следует подождать некоторое время, вызвав sleep, чтобы избежать состояния гонки между процессами.

Важно: Опция --execute просто вводит указанный текст во вкладку, поэтому она может натворить бед на вкладке, в которой запущена какая-нибудь программа с текстовым интерфейсом, вроде fdisk и innotop. Используйте это с осторожностью. Об этом заведён баг-репорт на github: guake#921.

Решение проблем

В стековом оконном менеджере

Если вы используете Tilda и стековый (плавающий, floating) оконный менеджер, вы можете использовать class string "Tilda" чтобы оставить окно плавающим. Однако в Guake значением WM_CLASS(STRING) является "Main.py", поэтому нужно использовать "Main.py" для достижения такого же результата. Например, в i3wm добавьте в свой .i3/config:

for_window [class="Main.py"] floating enable

Более новые версии имеют class string "Guake":

$ guake --version
Guake Terminal: 3.7.0
VTE: 0.60.3
VTE runtime: 0.60.3
Gtk: 3.24.21
$ xprop WM_CLASS
WM_CLASS(STRING) = "guake", "Guake"

Переключение видимости Guake не работает (Wayland)

Если у вас Wayland, горячая клавиша переключения видимости иногда не работает. Это из-за того, что Guake использует библиотеку глобальных горячих клавиш, созданную для X, а для Wayland эквивалент глобальных горячих клавиш отсутствует. Многие приложения (например Firefox) работают в Wayland через XWayland, и в них горячая клавиша будет работать, а в приложениях, работающих нативно в Wayland (например, приложения GNOME) работать не будет.

Простым обходным путём может быть настройка горячей клавиши на вызов команды guake-toggle в вашем оконном менеджере или окружении рабочего стола.

Подробнее смотрите этот github issue.

Примечание: Использование guake-toggle предпочтительнее чем guake -t. Это намного быстрее, так как напрямую обращается в D-Bus без полной инициализации Guake.

Смотрите также