KDE 控制台 DCOP 客户机 -- dcop
命令行工具“dcop”本质上与 kdcop 是相同的,但是它是在命令行中使用。因此,它对于编写脚本来说更为有用。
做一点说明,从现在起,小写的 dcop 表示命令行工具,大写的 DCOP 表示泛泛的 DCOP 体系结构。
让我们来举出一些例子,看看您可以用 dcop 工具来做哪些事情。
例 3. 加载 developerWorks
与前面一样,Konqueror 进程在 dcop 中显示为“konqueror-NNNNN”,其中 NNNNN 是 pid(进程 ID)。
幸好,dcop 支持通配符,因此下面的命令,
dcop konq*
将显示出所有以“konq”打头的活动的 dcop 客户机。
按 Unix 惯例,我们可以与 head 命令组合使用,只得到第一个结果,如下:
dcop konq* | head -1
这将只输出一个“konqueror-NNNNN”(或者如果没有 Konqueror 进程在运行则什么也不输出)。
最后我们希望将这个惟一的“konqueror-NNNNN”传递给 dcop,并调用适当的函数来打开一个 URL -- 在 bash 中我们只需要借助 ` 字符就可以做到这一点,如下:
dcop `dcop konq* | head -1` konqueror-mainwindow#1 openURL www.ibm.com/developerWorks
图 4. 甚至可以为调用您喜爱的 Web 站点的命令行起一个别名
如果您以前没有这样用过,那么告诉您,在 `字符间包括一些内容是表示先执行 `字符之间的命令,并用结果替换 ` 字符间的内容。因此命令
dcop `dcop konq* | head -1` konqueror-mainwindow#1 openURL www.ibm.com/developerWorks
将首先执行 `dcop konq* | head -1` 部分,我们得到的是
dcop konqueor-NNNNN konqueror-mainwindow#1 openURL www.ibm.com/developerWorks
接下来就可以正常执行,并给出我们期望的结果。
例 4. 使其全屏
在这个例子中,开始我们先启动一个新的 Konqueror 实例:
konqueror &
然后我们让它加载 developerWorks:
dcop konqueror-$! konqueror-mainwindow#1 openURL www.ibm.com/developerWorks
在 bash 中, $! 被 shell 自动替换为在后台启动的最后一个进程的 PID,这样,这个命令将改变我们刚刚启动的 Konqueror 应用程序的 URL。
最后,我们想让 Konqueror 全屏;这稍微复杂一些。
对 kdcop 的一个短期调查显示,这里有一些看起来有趣的函数可能会有帮助。
konqueror-mainwindow#1 接口有一个 actions() 函数;执行这个函数我们会得到 action() 函数所有可用参数一个列表。查看这个列表,我们会看到其中有一个操作叫 做 fullscreen 。到现在为止,一切还都不错 -- 不过在 kdcop 中调用 action() 函数并将 fullscreen 作为参数传递给这个函数,会返回一个错误。看一下 action() 函数的函数原型就会明白,它返回的是一个 DCOPRef 类型。不幸的是,kdcop 不能正确地显示这些返回类型。
不过这没关系;我们可以用 dcop 完成同样的事情:
dcop konqueror-$! konqueror-mainwindow#1 action fullscreen
这将返回
DCOPRef(konqueror-NNNNN,konqueror-mainwindow#1/action/fullscreen)
我们可以将这个返回值传递到 dcop 的另一个实例(还是借助方便的 ` 字符):
dcop `dcop konqueror-$! konqueror-mainwindow#1 action fullscreen`
这会向我们给出可用函数的一个列表,其中 activate 看起来最像是我们要找的。让我们来试试:
dcop `dcop konqueror-$! konqueror-mainwindow#1 action fullscreen` activate
就是那样,Konqueror 进入了全屏模式。
最终的脚本如下所示:
konqueror &
dcop konqueror-$! konqueror-mainwindow#1 openURL www.ibm.com/developerWorks
dcop `dcop konqueror-$! konqueror-mainwindow#1 action fullscreen` activate
注意,要退出全屏模式,您只需要右击 Konqueror 并在弹出的菜单中选择“Exit Full-Screen Mode”。
转载保留:http://www.qqread.com/net-manage/d290873.html进入讨论组讨论。
相关专题
- 网管眼中的5款远程控制软件 (143602次浏览)
- ARP病毒解决办法 (88134次浏览)
- 图解:网络Ghost克隆操作全程 (47802次浏览)
- 如何进行局域网设置 (19165次浏览)
- ARP病毒攻击技术分析与防御 (17485次浏览)
- 常见路由器的设置方法 (17389次浏览)
- 针对ARP病毒攻击防制进阶经验谈 (17384次浏览)
- ARP病毒问题的处理 (17055次浏览)
- 网络管理中的11大绝招 (15949次浏览)
- 从网吧ARP欺骗看局域网的安全管理 (14270次浏览)



