将输入分叉到多个终端窗口

cterm的Python项目详细描述


clusterterminal(cterm)将所有击键从主窗口转发到多个从窗口。使用cterm作为执行特殊任务的方法,而不是作为自动化框架的替代。

This is mostly just something I wanted to do out of fun; plenty of similar solutions out there, tmux being a very popular one.

alt text

安装

pip3 install cterm

ClusterTerminal使用MacOS的内置终端应用程序。

用法

最常见的用例是同时控制多个ssh会话:

cterm ssh host1 host2

除了主窗口之外,上面还将创建两个从属窗口,如下所示:

ssh host1
ssh host2

命令参数

如果要向命令传递参数,请将其作为命令的一部分包含在内。注意人物在必要的地方逃跑。例如:

cterm "ssh -l \"some user\"" host1 host2

将扩展到:

ssh -l "some user" host1
ssh -l "some user" host2

You could've also used cterm "ssh -l 'some user'" host1 host2 to get the same outcome; I only escaped quotes to demo purposes.

项目参数

与命令类似,您可以传递每项参数(同样,请注意字符转义):

cterm ssh "\-p 1022 host1" "\-p 2022 host2"

将扩展到:

ssh -p 1022 host1
ssh -p 2022 host2

提示

您可能想在~/.bash_profile中为集群ssh设置一个别名。例如,alias cssh="cterm ssh",然后使用cssh host1 host2调用它。

在别名中,您可以保存常规设置,如alias cssh="cterm --screen 2 ssh"以更改默认屏幕。

如果指定同一个参数两次,则最后一个实例就是使用的实例。这很有用,因为您可能希望覆盖部分别名,但不是全部别名。例如,下面将使用屏幕1:

cterm ssh host1 host2 --screen 2 --screen 1

限制

窗口必须完全不透明,因为终端的脚本功能忽略了alpha组件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java赋值(更改if语句中的字符串值)   java Phone不显示我的应用程序以打开TXT文件   多线程Java和MongoDB线程   java如何修复WorldWind26 SocketTimeOutException?   java如何在hbase中批量删除多行?   java独立Jetty为同一上下文实例配置多个上下文路径   在java Web应用程序中通过黑盒测试测量代码覆盖率   基于Java的安卓 Youtube数据API   java创建一个选定的序列或内部类   方法如何在Java中将长参数列表重构为参数对象?   java如何比较通用LinkedList中的对象   Groovy中HashMap的java点积   java如何使用Spring将HSQLDB嵌入到WebApp的文件中   rest Java Akka HTTP请求参数提取   Eclipse Indigo(3.7)的java免费UML插件?   java无法在自定义ListView中设置页边距   桌面上的java流媒体   java使用SLF4J动态更改日志文件位置,并且独立于日志框架