Yakuake

提供: ArchWiki
2021年3月13日 (土) 02:44時点におけるKgx (トーク | 投稿記録)による版 (設定の項目を翻訳して追加)
ナビゲーションに移動 検索に移動

関連記事

YakuakeKDE のトップダウン型ターミナルです (GNOMEGuakeTilda、Quake で使われているターミナルと同じスタイル)。

インストール

公式リポジトリyakuakeインストールしてください。

使用方法

インストールしたら、ターミナルから次のコマンドを実行することで Yakuake を起動できます:

$ yakuake

yakuake を起動したら "Open Menu" ボタン (インターフェイス右下のボタン) をクリックして "Configure Shortcuts" を選択してターミナルを自動的に非表示にするホットキーを変更できます。デフォルトでは F12 に設定されています。

設定

Plasma 上の背景の透明度とぼかし

ほとんどの設定オプションは Yakuake GUI から変更することができますが、 Plasma の下で背景をぼかすオプションなど、設定ファイルの変更からしかアクセスできないオプションもあります。

ノート: Yakuake の Konsole プロファイルの Blur background オプションを有効にしても Yakuake のウィンドウにぼかしが適用されず、 Konsole was started before desktop effects were enabled. You need to restart Konsole to see transparent background という警告が表示されます。この警告に関するアップストリームのバグレポート があります。 Yakuake は、ぼかし/透明度をサポートしていない KonsolePart を使用していますが、 Yakuake 自体はそのような効果をウィンドウに適用できるため、この警告は誤解を招く可能性があります。

Yakuak eに背景のぼかしを適用するには、次のファイルを編集します。

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

次に、 Yakuake を再起動して変更を適用します。

Yakuake スクリプト

Guake と同じように、Yakuake は D-Bus メッセージを送信して自分自身を制御します。そのためユーザー定義セッションで Yakuake を起動することができます。ターミナルから手動でコマンドを実行したり、カスタムスクリプトを作成することで、タブを作成して名前を割り当てたり、タブを開いたときに特定のコマンドを実行させたり、Yakuake ウィンドウの表示・非表示を切り替えることができます。

スクリプトの例 (タブを開いて、名前を変更し、シェルを分割してコマンドを実行):

#!/bin/bash
# Starting yakuake based on user preferences. Information based on https://forums.gentoo.org/viewtopic-t-873915-start-0.html
# Adding sessions from previous website is broken, use this: http://pawelkoston.pl/blog/sublime-text-3-cheatsheet-modules-web-develpment/

# This line is needed in case yakuake does not accept fcitx inputs.
/usr/bin/yakuake --im /usr/bin/fcitx --inputstyle onthespot &

# gives Yakuake a couple seconds before sending dbus commands
sleep 2      
                                                 
# Start htop in tab and split to user terminal and run 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

# Start split root sessions (password prompt) top and bottom                                                                                
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" 

# Start irssi in its own tab.                                                                                          
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'" 

# Start split ssh shells in own tab.                                                                                   
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" 

qdbus の代わりに dbus-send を使う

Qt に付属している qdbus をもっと一般的な dbus-send に置き換えることができます。例えば Yakuake の表示・非表示を切り替えるには:

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

参照