我的osx安装中需要一个Linux vm终端。它是一个下拉终端,在虚拟机中我可以使用F12作为全局热键来切换显示/隐藏。
下拉终端的名称是yakuake,我知道有一个与osx一起使用的下拉终端,但由于各种原因,我需要一个Linux终端并且可以轻松访问它。
有几件事情使这很困难。
我正在使用iKey在我的Mac上获得一个全球热键绑定到一个小的oneliner:
/ home / username / bin / toggle_yakuake脚本只是一个:
这是有效的,除了它需要大约1-2秒,并且yakuake将显示在每个其他窗口下方。 因此,如果yakuake没有运行,我将使用逻辑来执行此操作,然后我可以在osx中隐藏/显示它以立即切换它。 但是,我能够使用简单的“告诉应用程序”Yakuake - Ubuntu来激活。我无法隐藏它而不会隐藏属于同一虚拟机的所有其他应用程序。
似乎vmware产生的每个应用程序都紧密相连。 即使我在我的osx安装上找到yakuake的pid,并使用它,如:
tell application "System Events"
set yakuakeproc to every process whose unix id is 58518
repeat with proc in yakuakeproc
set the frontmost of proc to true
end repeat
end tell
它将隐藏属于该虚拟机的每个应用程序。
我已经试图找出解决方案好几天了。有没有人有任何提示或任何东西?如何让applescript隐藏在我的虚拟机内的一个特定应用程序?
答案 0 :(得分:0)
您开始yakukake
的方式不必要地复杂。您应该能够简单地运行VMware代理应用程序,而不是使用shell脚本;即你的tell application "Yakukake - Ubuntu" to activate
。
那么你唯一真正的问题是如何从脚本中显示和隐藏应用程序。我认为可以使用System Events执行此操作,但使用我的工具appswitch
更容易:
我没有在VMware Fusion中安装GUI Linux,但这是Windows的一个例子。
查看有关流程的信息:
% appswitch -La Notepad
PSN PID TYPE CREA NAME PATH (bundle identifier)
15994688.0 24758 APPL ???? Notepad /Users/nicholas/Library/Application Support/VMware Fusion/Virtual Machines/Boot Camp/Boot Camp.vmwarevm/Applications/Notepad — Windows 7.app (com.vmware.proxyApp.564dbc100b31a4b5-4f8d8088bf0c3705.2009924420)
隐藏它:
% appswitch -ha Notepad
要表明:
% appswitch -a Notepad
就是这样。