在AppleScript中启动终端


0

在工作中,我正在监督使用MacBook连接到我们企业环境的几个用户。

我们的一个供应商有一个旧服务器,用户可以访问 ssh。我已经创建了一个Automator工作流程来启动终端,按照自己喜欢的方式设置它(传统颜色方案和字体),并从服务器获取ssh提示符。我得到一些意想不到的行为,当Automator工作流运行时,它会打开两个终端窗口,然后打开我想要的窗口(ssh客户端),然后是另一个常规终端登录。

如果 ssh 窗口关闭,终端保持打开状态,下次运行工作流程时,在用户手动切换到终端之前,窗口不可见。

我观察到的其他特性似乎与AppleScript产生两个终端窗口的事实有关,然后用户只是关闭窗口而不是在退出时退出终端。有一个更好的方法吗?点击“关闭窗口”按钮时,我可以默认终止退出吗?

注意事项 : 这是一个受控制的环境。我已经使用终端支持供应商支持我的运气,他们不想支持Linux以外的任何东西 ssh。第三方应用程序是不可接受的解决方


为什么不发行 killall terminal 在产生下一个会话之前?看到 apple.stackexchange.com/a/223048/5472 所有的杀戮:-)
bmike

@bmike,这是一个好主意 - 这里希望没有用户在终端做任何其他事情(HA!)
agentroadkill

您可以通过对话框警告他们,或者只是发布一个网页,其中包含用户签出许可证时的姓名/时间/电话号码。我已经取得了很大的成功。让需要许可证的人纠缠于工作后没有清理的人。 :-)
bmike

Answers:


1

您可以通过添加以下行来强制终端成为最前面的:

activate application "Terminal"

进入你的苹果。

如果你启动终端:

tell application "Terminal" to open location "ssh://user@example.com"

然后终端不会打开额外的窗口。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.