Ubutu中显示qdbus所支持guake和yakuake方法命令

本文详细介绍了如何使用Shell脚本通过qdbus接口控制guake和yakuake进行窗口管理,包括开启关闭窗口、标签页管理、多窗口分屏显示等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先需要通过apt-get install安装好qdbus,guake,yakuake

2、分别启动guake、yakuake,在命令最后加&符保证命令后台一直执行。

3、查询qdbus所支持guake相关命令,步骤如下:

      lester@lester-ThinkPad-T410:~/$ qdbus|grep guake
      org.guake.RemoteControl
      lester@lester-ThinkPad-T410:~/$ qdbus org.guake.RemoteControl
      /
      /org
      /org/guake
      /org/guake/RemoteControl
      lester@lester-ThinkPad-T410:~/$ qdbus org.guake.RemoteControl /org/guake/RemoteControl
      method void org.guake.RemoteControl.add_tab(QString directory)
      method void org.guake.RemoteControl.execute_command(QString command)
      method int org.guake.RemoteControl.get_selected_tab()
      method void org.guake.RemoteControl.quit()
      method void org.guake.RemoteControl.rename_current_tab(QString new_text)
      method void org.guake.RemoteControl.select_tab(int tab_index)
      method void org.guake.RemoteControl.show_about()
      method void org.guake.RemoteControl.show_hide()
      method void org.guake.RemoteControl.show_prefs()
      method QString org.freedesktop.DBus.Introspectable.Introspect()
      lester@lester-ThinkPad-T410:~/$ 

4、查询qdbus所支持yakuake相关命令,步骤如下:

      lester@lester-ThinkPad-T410:~/$ qdbus|grep yakuake
      org.kde.yakuake
      lester@lester-ThinkPad-T410:~/$ qdbus org.kde.yakuake
      /
     /KDebug
     /Konsole
     /MainApplication
     /Sessions
     /Sessions/6
     /Sessions/8
     /Windows
     /Windows/6
     /Windows/8
     /yakuake
     /yakuake/MainWindow_1
     /yakuake/sessions
     /yakuake/tabs
     /yakuake/window
    
     lester@lester-ThinkPad-T410:~/$ qdbus org.kde.yakuake /yakuake/sessions
     method int org.kde.yakuake.activeSessionId()
     method int org.kde.yakuake.activeTerminalId()
     method void org.kde.yakuake.addSession()
     method void org.kde.yakuake.addSessionQuad()
     method void org.kde.yakuake.addSessionTwoHorizontal()
     method void org.kde.yakuake.addSessionTwoVertical()
     method bool org.kde.yakuake.hasUnclosableSessions()
     method bool org.kde.yakuake.isSessionClosable(int sessionId)
     method bool org.kde.yakuake.isSessionKeyboardInputEnabled(int sessionId)
     method bool org.kde.yakuake.isTerminalKeyboardInputEnabled(int terminalId)
     method void org.kde.yakuake.raiseSession(int sessionId)
     method void org.kde.yakuake.removeSession(int sessionId)
     method void org.kde.yakuake.removeTerminal(int terminalId)
     method void org.kde.yakuake.runCommand(QString command)
     method void org.kde.yakuake.runCommandInTerminal(int terminalId, QString command)
     method int org.kde.yakuake.sessionIdForTerminalId(int terminalId)
     method QString org.kde.yakuake.sessionIdList()
     method void org.kde.yakuake.setSessionClosable(int sessionId, bool closable)
     method void org.kde.yakuake.setSessionKeyboardInputEnabled(int sessionId, bool enabled)
     method void org.kde.yakuake.setTerminalKeyboardInputEnabled(int terminalId, bool enabled)
     method void org.kde.yakuake.splitSessionLeftRight(int sessionId)
     method void org.kde.yakuake.splitSessionTopBottom(int sessionId)
     method void org.kde.yakuake.splitTerminalLeftRight(int terminalId)
     method void org.kde.yakuake.splitTerminalTopBottom(int terminalId)
     method QString org.kde.yakuake.terminalIdList()
     method QString org.kde.yakuake.terminalIdsForSessionId(int sessionId)
     method int org.kde.yakuake.tryGrowTerminalBottom(int terminalId)
     method int org.kde.yakuake.tryGrowTerminalBottom(int terminalId, uint pixels)
     method int org.kde.yakuake.tryGrowTerminalLeft(int terminalId)
     method int org.kde.yakuake.tryGrowTerminalLeft(int terminalId, uint pixels)
     method int org.kde.yakuake.tryGrowTerminalRight(int terminalId)
     method int org.kde.yakuake.tryGrowTerminalRight(int terminalId, uint pixels)
     method int org.kde.yakuake.tryGrowTerminalTop(int terminalId)
     method int org.kde.yakuake.tryGrowTerminalTop(int terminalId, uint pixels)
     method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
     method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
     method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
     method QString org.freedesktop.DBus.Introspectable.Introspect()
     method QString org.freedesktop.DBus.Peer.GetMachineId()
     method void org.freedesktop.DBus.Peer.Ping()
     lester@lester-ThinkPad-T410:~/$
5、有了以上内容,就可以通过shell脚本来控制yakuake和guake开启和关闭,

yakuake支持分屏显示

guake支持多标签页显示,并且标签页名称可以自定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值