「Yakuake」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(同期)
1行目: 1行目:
  +
[[Category:KDE]]
 
[[Category:ターミナルエミュレータ]]
 
[[Category:ターミナルエミュレータ]]
 
[[en:Yakuake]]
 
[[en:Yakuake]]
18行目: 19行目:
 
$ 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.
 
   
 
== 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 http://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}
# Start atop in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
+
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 3 "su"
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 2 "atop"
 
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 2 "atop"
 
 
# Start (watching) iptables in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
qdbus org.kde.yakuake /yakuake/tabs setTabTitle 3 "iptables -nvL"
 
qdbus org.kde.yakuake /yakuake/sessions runCommandInTerminal 3 "~/.iptables.sh"
 
 
# Start journalctl --follow --full in its own tab.
 
qdbus org.kde.yakuake /yakuake/sessions org.kde.yakuake.addSession
 
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.
+
# 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 9 "shell1"
+
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.
# 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
+
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 を使う ===
 
=== 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
+
$ dbus-send --type=method_call --dest=org.kde.yakuake /yakuake/window org.kde.yakuake.toggleWindowState
   
 
== 参照 ==
 
== 参照 ==

2017年8月20日 (日) 22:09時点における版

関連記事

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

インストール

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

使用方法

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

$ yakuake

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

Yakuake スクリプト

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

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

#!/bin/bash
# Starting yakuake based on user preferences. Information based on http://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

参照