OSX如何最小化bash终端窗口?

3
在Mac上使用bash shell,我想执行一个包含单个命令(启动Jupyter Lab)的文件,并立即将终端窗口最小化。是否有一种方法可以在不安装第三方软件的情况下实现这一点?
3个回答

5

是的,只需使用 osascript 和 AppleScript:

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

谢谢你的帮助。我不知道什么是Applescript。 - CarlosE
2
Applescript是Paul建议的单引号内的所有内容,你可以使用osascript命令将其从bash传递给Applescript解释器。只需复制整行并粘贴到终端中,然后按Enter键即可。 - Mark Setchell
明白了,而且不需要使用AppleScript就可以运行。我所要做的就是将您提供的那一行作为bash命令文件的第一行插入即可。这样可以最小化屏幕,然后执行第二行。完美。点赞! - CarlosE
完成此操作后,再次查看窗口的唯一方法是 tell application "Terminal" to set visible of every window to true。https://apple.stackexchange.com/a/388051/277466 - Noumenon

5

Paul R的回答基础上,经过我的测试,它似乎使窗口完全隐藏且无法恢复,如果以后需要访问,则可以使用以下方法将窗口最小化到dock中:

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

可以运行!但是它最小化了每一个窗口,而不仅仅是当前或前置的窗口。 - ShpielMeister
使用“前窗口”而不是“每个窗口”是可行的。然而,这会将窗口发送到垃圾桶旁边而不是返回到码头,因此Snap.app找不到它。 - Noumenon

0

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

你需要给它添加执行权限 (chmod +x jupiter-lab.command)。然后你可以编辑该文件并像在 bash 脚本中一样插入命令。

例如,要打开 App Store,你可以插入以下命令:

open "/Application/App Store.app"

第一次双击它时,您会收到一个弹出窗口,告诉您该命令已经快速结束。只需勾选“永久抑制此消息”即可不再看到它。
注意:终端不会最小化,而是会关闭。

你的建议对我没有起作用。这是我得到的错误信息:文件 /Users/main/“jupyter and /Users/main/lab” 不存在。我正在使用的命令文件是 open "jupyter lab" - CarlosE
注意:抱歉我的答案有误,我刚刚已经更正了。我打成了/Library/App Store.app而不是/Applications/App Store.app - Jean-Francois Brazeau
你在脚本中尝试启动的应用程序是什么?二进制文件?应用程序?你想要启动的二进制文件的完整路径是什么? - Jean-Francois Brazeau
脚本 - 请参见我的原始问题。该应用程序是Jupyter(数据科学IDE),我从bash shell中调用它。不需要完整路径。Mark在上面提供了一个很好的解决方案。非常感谢。 - CarlosE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接