Guake (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи Guake. Дата последней синхронизации: 3 декабря 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.

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

Плавающий режим в оконных менеджерах

Guake может работать не в плавающем режиме с некоторыми оконными менеджерами. Это можно решить, используя строку класса окна Guake ("guake" или "Guake" для xprop WM_CLASS). Например, для i3 смотрите i3 (Русский)#Правильное обращение с плавающими диалогами.

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

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

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

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

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

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