Yakuake (Русский)

Ссылки по теме
KDE (Русский)
Состояние перевода:
На этой странице представлен перевод статьи
Yakuake
. Дата последней синхронизации: 20 декабря 2020. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Yakuake
(англ.) — выпадающий сверху эмулятор терминала для
KDE
в стиле
Guake
для
GNOME
,
Tilda
(англ.) или консоли в игре Quake.
Установка
Установите
пакет
yakuake
.
Использование
После установки можно запустить Yakuake следующей командой:
$ yakuake
Теперь можно настроить Yakuake, нажав на кнопку
Открыть меню
(средняя кнопка в правом нижнем углу окна терминала) и выбрав
Комбинации клавиш
для изменения сочетания клавиш для показа/скрытия терминала. По умолчанию используется клавиша F12.
Управление Yakuake из скрипта
Как и
Guake
, Yakuake позволяет контролировать себя во время исполнения посредством передачи сигналов через
D-Bus
. Таким образом, его можно использовать в сеансе, определяемом пользователем (user defined session). Возможно создавать вкладки, задавать им названия, запрашивать запуск конкретной команды в любой открытой вкладке или просто показывать/скрывать окно Yakuake, вручную в терминале или создав для этого отдельный скрипт.
Ниже приведён пример такого скрипта. Он включает в себя открытие и переименование вкладок, разделение окна терминала и запуск команд.
#!/bin/bash
# Запуск Yakuake с настройками пользователя. Информация основана на
https://forums.gentoo.org/viewtopic-t-873915-start-0.html
# Добавление сессий с предыдущего сайта больше не работает, используйте этот:
http://pawelkoston.pl/blog/sublime-text-3-cheatsheet-modules-web-develpment/
# Данная строка нужна в случае, если Yakuake не воспринимает ввод через fcitx.
/usr/bin/yakuake --im /usr/bin/fcitx --inputstyle onthespot &

# Это даёт Yakuake несколько секунд перед отправкой сигналов D-Bus.
sleep 2      

# Запуск htop в отдельной вкладке, разделение терминала и запуск iotop.                                                        
TERMINAL_ID_0=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.terminalIdsForSessionId 0)
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 0 "user"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 0 "htop"
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.splitTerminalLeftRight "$TERMINAL_ID_0"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 1 "iotop

# Запуск нескольких сессий root-пользователя в одной вкладке (сверху и снизу).                                                                                
SESSION_ID_1=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession)
TERMINAL_ID_1=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.terminalIdsForSessionId "$SESSION_ID_1")
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 1 "root"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 2 "su"
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.splitTerminalTopBottom "$TERMINAL_ID_1"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 3 "su" 

# Запуск irssi в отдельной вкладке.                                                                                          
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 2 "irssi"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 4 "ssh home -t 'tmux attach -t irssi; bash -l'" 

# Запуск нескольких терминалов SSH в одной вкладке.                                                                                   
SESSION_ID_2=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession)
TERMINAL_ID_2=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.terminalIdsForSessionId "$SESSION_ID_2")
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 3 "work server"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 5 "ssh work"
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.splitTerminalLeftRight "$TERMINAL_ID_2"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 6 "ssh work"
dbus-send вместо qdbus
Можно заменить
qdbus
из состава
Qt
более традиционной утилитой
dbus-send
. Например, чтобы показать/скрыть окно Yakuake:
$ dbus-send --type=method_call --dest=org.kde.yakuake /yakuake/window org.kde.yakuake.toggleWindowState
Смотрите также
Взаимодействие с Yakuake посредством D-Bus
Создание скриптов для Yakuake на coderwall.com
(англ.)