仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

VirtualBox でスクリーンショットを撮る方法 - チュートリアル

これはホットな話題です。 VirtualBox を使用して仮想マシン内でさまざまなインストールと操作を実行し、アクティビティを記録するスクリーンショットを撮りたいと考えています。 VMware の一連の仮想化製品では、スクリーンショット機能がシステム メニューにあるため、非常に簡単に実行できます。 VirtualBox では、そのようなオプションは利用できません。つまり、さまざまなスクリーンショット プログラム、PrtScrn または Alt+PrtScrn、およびその他のキーの組み合わせなど、ホスト ユーティリティを使用してスクリーンショットを撮る必要があります。必ずしも単純ではありませんが、最大の問題は、VirtualBox がそのインターフェイスの一部をゲスト OS の画面スペースとして扱うことです。したがって、スクリーンショットがきれいになることはありません。

よし、これで何が問題なのかがわかります。フォルダを共有したり、仮想マシンの内部からホストにスクリーンショットをコピーして貼り付けたりすることなく、ゲスト システムのスクリーンショットを外部から取得できるようにしたいと考えています。スクリーンショットに影響を与える内側の VirtualBox 境界線を除いて、スクリーンショットを撮るホスト上のいくつかの機能が必要です。これはできますか?答えは、はい、バージョン 4.0 以降です。フォローしてください。

今日のスクリーンショット

SnagIt、IrfanView、GIMP、Gnome Screenshot、KSnapshot、またはその他のソフトウェアを使用しても、結果は常に同じになります。 VirtualBoxウィンドウのスクリーンショットを撮ったばかりであることを全員に知らせる、迷惑な上下の境界線が表示されます。たとえば、次のようなものです:

これは面倒です。青い四角形だけが必要なため、その領域を手動でトリミングする必要があり、貴重な時間を無駄にしています。現在、簡単な代替手段がありますが、VirtualBox コマンド ラインを使用する必要があります。

解決策:コマンドラインから VBoxManage を使用する

新しい機能はバージョン 4.0 以降で利用できるため、これはソフトウェアの古いエディションでは機能しません。必要なことは、次のコマンドを呼び出すことです:

VBoxManage controlvm スクリーンショットpng <ファイル名>.png

は仮想マシンの名前、 は後でスクリーンショットを識別するために使用する任意の文字列です。

これが Ubuntu Lucid の例です:

スクリプト

この手順を部分的に自動化することもできるので、常にコマンド ラインに手動で移動して目的のコマンドを呼び出す必要はありません。まず、コマンドを実行するスクリプトを作成できます。 Windows で BASIC (BAT) を使用し、Linux で BASH を使用するデモを行います。次に、画像に一般的な識別子を使用できるため、毎回手動で名前を入力する必要がありません。環境変数 RANDOM またはタイムスタンプを使用することは、適切なオプションのように思えます。最後に、デスクトップまたはアプリケーション パネルでショートカットを作成し、ショートカットまたはアプリケーションを呼び出すホットキー コンボを追加できます。

Windows の例

Windows でコマンド ラインを使用することは、最も自然なこととは思えないかもしれませんが、非常に簡単です。基本をマスターしたら [sic]、バッチ ファイルの作成に進むことができます。

イメージ名をハードコードするか、時刻または日付の文字列または乱数のいずれかで、毎回一意の文字列を作成するものを使用できます。次に、コマンドを実行する簡単なバッチ ファイルを作成できます。

エコーオフ

スクリーンショットpng <ファイル名>.png

具体的には、Windows 8 ゲストの例を使用します。イメージ名にランダムな文字列を追加して一意にする仮想マシン用のバッチ ファイルを作成します。画像は共有ディレクトリに配置されますが、好きなものを使用できます。同様に、仮想マシン名は、ハードコードされた値または入力引数として扱うことができます。

エコーオフ

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm Windows-8 スクリーンショットpng C:\Share\image-%random%.png

最後に、ショートカットを作成してどこかに配置し、そのプロパティを編集して、それを呼び出すショートカット キーの組み合わせを追加できます。これにより、作業がはるかに簡単かつ迅速になります。

Linux の例

Linux では、さらに簡単です。

その 1 行だけを含む単純なスクリプトを作成できます。

#!/ビン/バッシュ
VBoxManage controlvm screenshotpng ~/image-`date +%s`.png
0 を出る

最終的にホーム ディレクトリに画像が作成され、1970 年からの経過秒数が数値としてカウントされます。現在、仮想マシン名をスクリプトにハードコーディングするか、入力引数としてスクリプトに渡すことができますが、これには実行時の対話が必要です。または、プロセス テーブルを解析し、現在実行中の仮想マシン コンテナーの名前を見つけて、完全に無人のスクリプトを作成することもできます。 which コマンドを使用して、VBoxManage バイナリのフル パスを検出することもできます。

次に、ショートカットを作成できます。たとえば、Gnome では、トップ パネルにカスタム ランチャーを追加し、コマンド フィールドにスクリーンショット スクリプトへのフル パスを記述します。また、メニュー オプションを実行するのとほぼ同じで、場合によってはさらに高速な自動化されたソリューションが得られます。多くのオプションがありますが、これで開始できます。

もう 1 つの利点

この方法には、外部ユーティリティにはない別の利点があります。ホストモニターに部分的にしか表示されていない場合でも、ゲストの画面全体のコンテンツを取得します.したがって、ホストとゲストで異なる解像度を使用している場合、複数のモニターを使用している場合、またはマシンをウィンドウで実行している場合でも、面倒なトリミングは発生しません。たとえば、この Windows 8 仮想マシンに注目してください。水平スクロール バーと垂直スクロール バーが表示されます。これは、見るべきものがすべて表示されていないことを意味しますが、スクリーンショット キャプチャ機能がその問題を解決します。

結論

ほらね。仮想マシンのスクリーンショットを管理するという、VirtualBox で最も面倒なことの 1 つを回避する方法を学習しました。コマンド ラインを使用すると、スクリーンショットの撮影をほぼ 100% 自動化できます。

このチュートリアルでは、VirtualBox とスクリーンショットに焦点を当てていますが、横方向に考える方法、VirtualBox の強力なコマンド ライン管理、スクリプト、ショートカット、ショートカット コンボ キーを使用して Windows と Linux の両方のフレーバーを含む、作業を楽にする方法についても少し説明します、一部のBASIC、一部のBASHは問題なく動作します。では、気に入っていただければ幸いです。楽しんでください。

乾杯。


  1. VirtualBox でディスクのクローンを作成する方法 - チュートリアル

    ビジネスまたは娯楽で仮想化を使用している場合、VirtualBox に出くわしたことがあるかもしれません。VirtualBox は非常に強力で汎用性の高い無料のソリューションであり、デスクトップ ユーザーがオペレーティング システムを導入する際に非常に柔軟に対応できます。 また、マニアックな趣味で仮想化を楽しんでいるだけの愛好家や、仮想化のおかげで新しいオペレーティング システムの使い方を学んでいる熱心なソフトウェア愛好家以上の場合は、次のシナリオに遭遇することになります。多数の仮想マシンを展開します。 個々のインストールをいじる時間はありません。実際、マシンを 1 つずつ手動で構成す

  2. 仮想マシンでの 3D アクセラレーション - パート 2:VirtualBox &OpenGL - チュートリアル

    これは、仮想マシンでの 3D 仮想化の構成と使用に特化した 3 つの記事の 2 番目です。今日は、Windows または Linux ホストにインストールされた VirtualBox で実行されている Windows 仮想マシンの OpenGL アプリケーション (およびゲーム) の 3D アクセラレーションを有効にする方法を学習します。 最初の記事では、VMware 製品を使用して、Windows で DirectX プログラムの 3D アクセラレーションを有効にする方法について説明しました。ホスト プラットフォームの選択は問題ではありませんでした。 Windows ホストと Linux