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

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第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener