1

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で非表示にするにはどうすればよいですか?

4

1 に答える 1

0

あなたが始めようとしている方法yakukakeは、不必要に複雑です。シェル スクリプトを使用するのではなく、VMware プロキシ アプリケーションを簡単に実行できるはずです。つまり、あなたのtell application "Yakukake - Ubuntu" to activate.

次に、唯一の本当の問題は、スクリプトからアプリケーションを表示および非表示にする方法です。システムイベントでこれを行うことは可能だと思いますが、私のツールで行う方が簡単です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

それでおしまい。

于 2011-03-13T17:14:37.223 に答える