Jump to content

# Yakuake (Русский)

From ArchWiki

Ссылки по теме

- 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 (англ.)

Categories:

- KDE (Русский)
- Terminal emulators (Русский)

Yakuake (Русский)
Add topic