「Yakuake」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(他言語へのリンクを追加)
 
(3人の利用者による、間の5版が非表示)
1行目: 1行目:
  +
[[Category:KDE]]
 
[[Category:ターミナルエミュレータ]]
 
[[Category:ターミナルエミュレータ]]
 
[[en:Yakuake]]
 
[[en:Yakuake]]
  +
[[es:Yakuake]]
 
[[ru:Yakuake]]
 
[[ru:Yakuake]]
 
[[zh-hans:Yakuake]]
 
[[zh-hans:Yakuake]]
10行目: 12行目:
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]の {{Pkg|yakuake}} を[[インストール]]してください。
+
[[公式リポジトリ]] の {{Pkg|yakuake}} を [[インストール]] してください。
   
 
== 使用方法 ==
 
== 使用方法 ==
18行目: 20行目:
 
$ yakuake
 
$ yakuake
   
  +
yakuake を起動したら "Open Menu" ボタン (インターフェイス右下のボタン) をクリックして "Configure Shortcuts" を選択してターミナルを自動的に非表示にするホットキーを変更できます。デフォルトでは F12 に設定されています。
After yakuake has started you can click on configure yakuake by clicking on the "Open Menu" button (middle button on the bottom right hand side of the interface) and select "Configure Shortcuts" to change the hotkey to drop/retract the terminal automatically, by default it is set to F12.
 
  +
  +
== 設定 ==
  +
  +
=== Plasma 上の背景の透明度とぼかし ===
  +
  +
ほとんどの設定オプションは Yakuake GUI から変更することができますが、 [[Plasma]] の下で背景をぼかすオプションなど、設定ファイルの変更からしかアクセスできないオプションもあります。
  +
  +
{{Note|1=Yakuake の Konsole プロファイルの ''Blur background'' オプションを有効にしても Yakuake のウィンドウにぼかしが適用されず、 {{ic|Konsole was started before desktop effects were enabled. You need to restart Konsole to see transparent background}} という警告が表示されます。[https://bugs.kde.org/show_bug.cgi?id=395520 この警告に関するアップストリームのバグレポート] があります。 Yakuake は、ぼかし/透明度をサポートしていない KonsolePart を使用していますが、 Yakuake 自体はそのような効果をウィンドウに適用できるため、この警告は誤解を招く可能性があります。}}
  +
  +
Yakuak eに背景のぼかしを適用するには、次のファイルを編集します。
  +
  +
{{hc|~/.config/yakuakerc|2=
  +
[Appearance]
  +
Blur=true
  +
Translucency=true
  +
}}
  +
  +
次に、 Yakuake を再起動して変更を適用します。
   
 
== Yakuake スクリプト ==
 
== Yakuake スクリプト ==
   
  +
[[Guake]] と同じように、Yakuake は [[D-Bus]] メッセージを送信して自分自身を制御します。そのためユーザー定義セッションで Yakuake を起動することができます。ターミナルから手動でコマンドを実行したり、カスタムスクリプトを作成することで、タブを作成して名前を割り当てたり、タブを開いたときに特定のコマンドを実行させたり、Yakuake ウィンドウの表示・非表示を切り替えることができます。
Like [[Guake]], Yakuake allows to control itself at runtime by sending the [[D-Bus]] messages. Thus it can be used to start Yakuake in a user defined session. You can create tabs, assign names for them and also ask to run any specific command in any opened tab or just to show/hide Yakuake window, manually in a terminal or by creating a custom script for it.
 
   
  +
スクリプトの例 (タブを開いて、名前を変更し、シェルを分割してコマンドを実行):
Example of such a script is given below.
 
   
 
#!/bin/bash
 
#!/bin/bash
# Starting yakuake based on user preferences. Information based on http://forums.gentoo.org/viewtopic-t-873915-start-0.html
+
# 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/
 
# 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.
 
# This line is needed in case yakuake does not accept fcitx inputs.
/usr/bin/yakuake --im /usr/bin/fcitx --inputstyle onthespot
+
/usr/bin/yakuake --im /usr/bin/fcitx --inputstyle onthespot &
 
 
  +
# gives Yakuake a couple seconds before sending dbus commands
# Start iotop in its own tab.
 
  +
sleep 2
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
  +
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 0 "iotop"
 
  +
# Start htop in tab and split to user terminal and run iotop
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 0 "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
# Start htop in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
+
SESSION_ID_1=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession)
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 1 "htop"
+
TERMINAL_ID_1=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.terminalIdsForSessionId ${SESSION_ID_1})
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 1 "htop"
+
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 atop in its own tab.
+
# Start irssi in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 2 "atop"
+
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 2 "irssi"
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 2 "atop"
+
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 4 "ssh home -t 'tmux attach -t irssi; bash -l'"
 
 
  +
# Start split ssh shells in own tab.
# Start (watching) iptables in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
+
SESSION_ID_2=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession)
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 3 "iptables -nvL"
+
TERMINAL_ID_2=$(qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.terminalIdsForSessionId ${SESSION_ID_2})
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 3 "~/.iptables.sh"
+
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}
# Start journalctl --follow --full in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
+
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 6 "ssh work"
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 4 "journalctl"
 
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 4 "journalctl --follow --full"
 
 
# Start irssi in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 5 "irssi"
 
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 5 "irssi"
 
 
# Start root shell 1 in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 6 "rootshell0"
 
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 6 "sudo -i"
 
 
# Start root shell 2 in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 7 "rootshell1"
 
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 7 "sudo -i"
 
 
# Start shell 1 in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 8 "shell0"
 
 
# Start shell 2 in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 9 "shell1"
 
 
# Kill default (and now redundant) new shell tab. Already there are two shells each opened for both root and user.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.removeSession 10
 
   
 
=== qdbus の代わりに dbus-send を使う ===
 
=== qdbus の代わりに dbus-send を使う ===
   
  +
[[Qt]] に付属している ''qdbus'' をもっと一般的な ''dbus-send'' に置き換えることができます。例えば Yakuake の表示・非表示を切り替えるには:
You can replace ''qdbus'' bundled with [[Qt]] with more common ''dbus-send''. For example, to show/hide Yakuake:
 
  +
  +
$ dbus-send --type=method_call --dest=org.kde.yakuake /yakuake/window org.kde.yakuake.toggleWindowState
  +
  +
== ヒントとテクニック ==
  +
  +
=== sudo がパスワードを尋ねたときに通知を表示する ===
  +
  +
最後に sudo パスワードを入力する必要がある長い処理を実行するとき (たとえば、AUR からパッケージをビルドするとき)、yakuake ウィンドウを非表示にして別の操作を行いたくなることがよくあります。しかし、戻ってステータスを確認すると、sudo がタイムアウトによって終了することがあります。
  +
  +
これを回避するには、非アクティブなセッションのベルでシステム通知を送信するように yakuake を設定できます。非アクティブなセッションとは、別のタブまたは現在のタブ上にあるものの、yakuake にフォーカスが当たっていないセッションです。
  +
  +
Yakuake のメニュー ''(hamburger button) > Configure Notifications'' を開きます。そのウィンドウで ''Bell in Non-Visible Session'' を選択し、''Show a message in a popup'' を有効にしてください。さらに、サウンドを設定することもできます (通常は {{ic|/usr/share/sounds/freedesktop/stereo/bell.oga}} または {{ic|/usr/share/sounds/Oxygen-Sys-warning.ogg}})
  +
  +
次に、ベルを使用するように sudo プロンプトを設定する必要があります。[[Sudo#パスワードプロンプトに端末ベルを鳴らす]] を参照してください。
  +
  +
== トラブルシューティング ==
  +
  +
=== True-Color プログラムが正しく表示されない ===
   
  +
こちらを参照、[[Konsole#True-color プログラムが正しく表示されない]]
$ dbus-send --type=method_call --dest=org.kde.yakuake /yakuake/window org.kde.yakuake.toggleWindowState
 
   
 
== 参照 ==
 
== 参照 ==

2023年11月30日 (木) 01:36時点における最新版

関連記事

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

ヒントとテクニック

sudo がパスワードを尋ねたときに通知を表示する

最後に sudo パスワードを入力する必要がある長い処理を実行するとき (たとえば、AUR からパッケージをビルドするとき)、yakuake ウィンドウを非表示にして別の操作を行いたくなることがよくあります。しかし、戻ってステータスを確認すると、sudo がタイムアウトによって終了することがあります。

これを回避するには、非アクティブなセッションのベルでシステム通知を送信するように yakuake を設定できます。非アクティブなセッションとは、別のタブまたは現在のタブ上にあるものの、yakuake にフォーカスが当たっていないセッションです。

Yakuake のメニュー (hamburger button) > Configure Notifications を開きます。そのウィンドウで Bell in Non-Visible Session を選択し、Show a message in a popup を有効にしてください。さらに、サウンドを設定することもできます (通常は /usr/share/sounds/freedesktop/stereo/bell.oga または /usr/share/sounds/Oxygen-Sys-warning.ogg)

次に、ベルを使用するように sudo プロンプトを設定する必要があります。Sudo#パスワードプロンプトに端末ベルを鳴らす を参照してください。

トラブルシューティング

True-Color プログラムが正しく表示されない

こちらを参照、Konsole#True-color プログラムが正しく表示されない

参照