osx インストール内に Linux vm へのターミナルが必要です。これはドロップダウン ターミナルであり、VM では F12 をグローバル ホットキーとして使用して表示/非表示を切り替えることができます。
ドロップダウン ターミナルの名前は yakuake です。osx で動作するドロップダウン ターミナルがあることは知っていますが、さまざまな理由から、Linux ターミナルと簡単なアクセスの両方が必要です。
これを難しくしている要因がいくつかあります。
- VMware Fusion には適切な AppleScript サポートがありません
- 同時に複数の vm を実行できる必要があります。
- スピード
- アプリケーションを非表示にします。
iKey を使用して、Mac で小さなワンライナーにバインドされたグローバル ホットキーを取得しています。
- /Library/Application\ Support/VMware\ Fusion/vmrun -T fusion -gu ユーザー名 -gp パスワード runScriptInGuest "/Users/username/Documents/Virtual Machines.localized/Ubuntu.vmwarevm/Ubuntu.vmx" -interactive "/bin/bash " "/home/username/bin/toggle_yakuake"
/home/username/bin/toggle_yakuake スクリプトは次のとおりです。
- /usr/bin/xdotool key Control+Shift+Y # yakuake にバインドしたもの
これは動作しますが、1 ~ 2 秒かかることを除けば、yakuake が他のすべてのウィンドウの下に表示されます。そのため、yakuake が実行されていない場合はロジックを使用してこれを実行し、osx で非表示/表示して即座に切り替えることができます。ただし、単純な「アプリケーション「Yakuake - Ubuntu」をアクティブ化するように指示する」を使用して、yakuake を表示できます。同じ vm に属する他のすべてのアプリケーションを非表示にしないと、非表示にすることはできません。
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
その vm に属するすべてのアプリケーションを非表示にします。
私は何日もの間、これに対する解決策を見つけようとしました。何かコツとか知ってる人いませんか?VM内にある特定のアプリケーションをapplescriptで非表示にするにはどうすればよいですか?