Yakuake

出自 Arch Linux 中文维基

Yakuake 是一個適用於 KDE 的下拉式終端,類似於 GNOMEGuakeTilda或 Quake 中使用的終端。

安裝[編輯 | 編輯原始碼]

安裝 yakuake 軟體包。

使用[編輯 | 編輯原始碼]

安裝後,您可以在終端啟動 yakuake:

$ yakuake

Yakuake 啟動後,您可以點擊「配置 Yakuake」 通過點擊 菜單 按鈕(界面右下中間)並選擇 配置鍵盤快捷鍵 以更改收放終端的熱鍵,默認是 F12

配置[編輯 | 編輯原始碼]

Plasma 上的透明/模糊背景[編輯 | 編輯原始碼]

儘管大多數配置選項可以在 Yakuake GUI 更改,一些選項只能藉助修改配置文件更改,例如 Plasma 下的模糊背景選項。

注意: 在 Yakuake 的 Konsole 配置文件中啟用 Blur background 選項會為 Yakuake 的窗口啟用模糊,但將顯示警告如 Konsole 在桌面特效啟用前啟動。您需要重啟 Konsole 來顯示透明背景。有關此警告的上游漏洞報告。此警告有一定誤導性,因為 Yakuake 使用不支持模糊/透明的 KonsolePart,但 Yakuake 本身可以對其窗口啟用此效果。

要為 Yakuake 啟用模糊背景,編輯以下文件:

~/.config/yakuakerc
[Appearance]
Blur=true
Translucency=true

然後重啟 Yakuake 以應用更改。

Yakuake 腳本[編輯 | 編輯原始碼]

Guake 一樣,Yakuake 允許運行時發送 D-Bus 信息以控制它。因此,該特性可被用於在用戶定義的會話啟動 Yakuake。您可以創建標籤頁,為其指定名稱,並在任何打開的標籤頁中要求運行任何特定命令,或者只是顯示/隱藏 Yakuake 窗口:在終端中手動操作或通過為其創建自定義腳本。

下面是該腳本的一個示例。這包括打開標籤頁,重命名標籤頁,拆分 shell 以及運行命令。

#!/bin/bash
# 基於用戶首選項啟動 Yakuake。這些信息基於 https://forums.gentoo.org/viewtopic-t-873915-start-0.html
# 前一個網站中添加會話部分已損壞,故採用此:https://koston.pl/blog/sublime-text-3-cheatsheet-modules-web-develpment/

# 在 Yakuake 不接受 fcitx 輸入時需要此行
/usr/bin/yakuake --im /usr/bin/fcitx --inputstyle onthespot &

# 在發送 dbus 命令前讓 Yakuake 等待 2 秒
sleep 2      
                                                 
# 在 'user' 標籤頁啟動 htop 然後向右拆分 'user' 終端,並在新終端運行 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

# 上下拆分並啟動根會話(提示輸入密碼)                                                                          
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 shell,並左右拆分                                                                             
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[編輯 | 編輯原始碼]

您可用更常見的 dbus-send替換與 Qt 捆綁的 qdbus。例如,要顯示/隱藏 Yakuake:

$ dbus-send --type=method_call --dest=org.kde.yakuake /yakuake/window org.kde.yakuake.toggleWindowState

疑難解答[編輯 | 編輯原始碼]

真彩程序不正確顯示[編輯 | 編輯原始碼]

Konsole#真彩程序無法正確顯示

參見[編輯 | 編輯原始碼]