Guake (Русский)
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.