【问题标题】:AppleScript: How to create and communicate with a singleton Terminal.app windowAppleScript:如何创建单例 Terminal.app 窗口并与之通信
【发布时间】:2015-04-04 19:30:22
【问题描述】:

我想以编程方式创建一个且只有一个 Terminal.app 窗口,该窗口由文字 Terminal.app 窗口标题(我们称之为“MyConsole1”)唯一标识,并在 Terminal.app 的整个生命周期内向所述窗口发送 bash 命令过程。

这可以通过 Terminal.app 来实现吗?如果可以,如何实现?

详情

我的程序可能需要检查“MyConsole1”是否已经打开,然后再尝试创建一个新的。当然,如果 Terminal.app 尚未运行,请启动它。我还希望在“MyConsole1”(由我的程序)的生命周期内发出的命令能够被人类用户检索到 bash-command-history;即,如果需要,用户可以与“MyConsole1”交互。我不担心使用“MyConsole1”可能出现的用户与程序“冲突”。

我想我需要 AppleScript 来执行此操作。我将把 AppleScript 作为一个更大的 Python 应用程序的一部分运行,可能通过 like this 方法,以防万一。

我了解如何设置 Terminal.app 窗口/选项卡标题like this,但此解决方案不适用于我的上述要求。此外,我只希望窗口中有 1 个选项卡,并且标题适用于整个窗口,而不仅仅是选项卡。

【问题讨论】:

  • 如果您使用 iTerm 而不是 Apple 的内置 Terminal.app,您所描述的内容相当简单。我放弃了尝试使用 Apple 的 Terminal.app 或多或少地做到这一点,并转而使用 iTerm。 iTerm 对 Applescript 有更好的支持。如果你想看看这里的一些代码是项目:dustractor.github.io/iTermBlenderLauncher

标签: python macos terminal applescript


【解决方案1】:

我不确定这是不是你的意思,但你可以试试这个:

tell app "Terminal"
    activate
    do script ""
end tell

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    相关资源
    最近更新 更多