【问题标题】:OSX bash minimize windowOSX bash 最小化窗口
【发布时间】:2019-01-31 21:11:41
【问题描述】:

在 Mac 中并使用 bash shell,我想执行一个包含单个命令的文件(以启动 Jupyter Lab)并立即最小化终端窗口。

有没有办法在不安装第三方软件的情况下做到这一点?

【问题讨论】:

    标签: bash macos shell command


    【解决方案1】:

    基于Paul R 的回答,在我的测试中似乎使窗口完全隐藏且不可恢复,如果稍后需要再次访问,您可以使用以下方法将窗口最小化到停靠栏:

     osascript -e 'tell application "Terminal" to set miniaturized of every window to true'
    

    【讨论】:

    • 有效!但是,它会最小化每个窗口,而不仅仅是当前窗口或前面的窗口
    【解决方案2】:

    您可以创建一个扩展名为command 的文件,例如jupiter-lab.command

    您在其上添加执行权限 (chmod +x jupiter-lab.command)。您可以像在 bash 脚本中一样编辑文件并插入命令。

    例如打开App Store,你可以插入:

    open "/Application/App Store.app"
    

    第一次双击它时,你会得到一个弹出窗口,告诉你命令已经快速结束。只需检查Suppress this message permanently 就不会再看到它了。

    注意:终端不会被最小化,而是会被关闭。

    【讨论】:

    • 您的建议对我不起作用。这是我得到的错误:The files /Users/main/“jupyter and /Users/main/lab” do not exist. 我正在使用的命令文件是open "jupyter lab"
    • 注意:抱歉,我刚刚修复的答案中有一个错误,我输入的是/Library/App Store.app而不是/Applications/App Store.app
    • 您尝试在脚本中启动的应用程序?二进制?一个应用程序?您要启动的二进制文件的完整路径是什么?
    • 脚本 - 见我原来的问题。该应用程序是 Jupyter(数据科学 IDE),我从 bash shell 调用它。不需要完整路径。马克在上面提供了一个很好的解决方案。谢谢 bcp。
    【解决方案3】:

    是的,只需使用 osascript 和 Applescript:

    osascript -e 'tell application "Terminal" to set visible of front window to false'
    

    【讨论】:

    • 感谢您的帮助。我不知道 Applescript 是什么。
    • Applescript 是 Paul 建议的单引号内的所有内容,您可以使用 osascript 命令将其从 bash 传递给 Applescript 解释器。只需复制整行并将其粘贴到终端中,然后按 Enter。
    • 得到它,它可以在不使用 Applescript 的情况下工作。我所要做的就是插入您提供的行作为 bash 命令文件的第一行。这将屏幕最小化,然后执行第二行。完美的。点赞!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    相关资源
    最近更新 更多