如何使用 Debian 9 运行能够在主目录中设置所有打开的终端实例的脚本。
问问题
377 次
1 回答
4
这可以通过 DBUS 完成,例如:
for service in `qdbus | grep org.kde.konsole-`; do
for session in `qdbus $service | grep ^/Sessions/`; do
qdbus $service $session org.kde.konsole.Session.runCommand "cd"
done
done
这将找到所有“服务”(Konsole 进程),然后找到每个服务的所有会话,然后将命令/字符“cd”发送到所有这些会话。
如果您只想发送到特定的 konsole 进程,则需要替换第一个for
循环。
另外值得注意的是,即使会话正在运行 ssh 到远程服务器,这也将起作用。所有 runCommand() 方法所做的就是将字符发送到会话。但这也意味着会话需要准备好接受命令的 shell 提示,而不是在运行其他命令的过程中。
于 2019-01-17T08:01:13.427 回答