Difference between revisions of "VirtualBox (日本語)"

From ArchWiki
Jump to: navigation, search
 
m
Line 30: Line 30:
 
== ホストとしてインストール ==
 
== ホストとしてインストール ==
  
GPL ライセンス版の VirtualBox のセットは[[Official Repositories (日本語)|公式リポジトリ]]にある {{Pkg|virtualbox}} パッケージで[[pacman (日本語)|インストール]]できます。{{Pkg|virtualbox}} パッケージでインストールしない場合、Arch Linux カーネル向けにコンパイル済みのモジュールを含んだ {{pkg|virtualbox-host-modules}} を別途インストールする必要があります。カスタムカーネルを使う場合、[[#Hosts running a custom kernel|下のセクション]]を読んで下さい。
+
GPL ライセンス版の VirtualBox のセットは[[Official Repositories (日本語)|公式リポジトリ]]にある {{Pkg|virtualbox}} パッケージで[[pacman (日本語)|インストール]]できます。{{Pkg|virtualbox}} パッケージでインストールしない場合、Arch Linux カーネル向けにコンパイル済みのモジュールを含んだ {{pkg|virtualbox-host-modules}} を別途インストールする必要があります。カスタムカーネルを使う場合、[[#ホストでカスタムカーネルを使っている場合|下のセクション]]を読んで下さい。
  
 
[[Qt]] による、グラフィカルインターフェース ({{ic|VirtualBox}} コマンド) を使うには、{{Pkg|qt}} パッケージもインストールしてください。シンプルな SDL の GUI ({{ic|VBoxSDL}} コマンド) や {{ic|VBoxHeadless}} コマンドを使う場合 qt は必要ありません。
 
[[Qt]] による、グラフィカルインターフェース ({{ic|VirtualBox}} コマンド) を使うには、{{Pkg|qt}} パッケージもインストールしてください。シンプルな SDL の GUI ({{ic|VBoxSDL}} コマンド) や {{ic|VBoxHeadless}} コマンドを使う場合 qt は必要ありません。
Line 216: Line 216:
 
=== WinXP: ビット深度を 16 より上げることができない ===
 
=== WinXP: ビット深度を 16 より上げることができない ===
  
If you are running at 16-bit color depth, then the icons may appear fuzzy/choppy. However, upon attempting to change the color depth to a higher level, the system may restrict you to a lower resolution or simply not enable you to change the depth at all. To fix this, run {{ic|regedit}} add the following key to the Virtual Windows XP registry:
+
16-ビット色深度で動作させている場合、アイコンの見た目が毛羽立ったりむらがでるかもしれません。しかし、色深度をもっと高く変えようとすると、システムの解像度が低くなってしまったり、もしくは全く深度が変えられないかもしれません。これを修正するには、{{ic|regedit}} を起動し次のキーをゲスト側の Windows XP レジストリに追加します:
  
 
  [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
 
  [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
 
  "ColorDepth"=dword:00000004
 
  "ColorDepth"=dword:00000004
  
Then update the color depth in the desktop properties window. If nothing happens, force the screen to redraw through some method (i.e. {{Keypress|Host+F}} to redraw/enter full screen).
+
それからデスクトップのプロパティウィンドウから色深度を変えてください。何も怒らない場合、強制的に画面を再描写させてください(つまり、{{Keypress|Host+F}} で再描写するか、フルスクリーンにしてください)。
  
 
=== .vdi イメージのマウント ===
 
=== .vdi イメージのマウント ===
  
This just work with '''static''' size vdi images! '''Dynamic size won't''' be easy mountable! First we need one information from your .vdi image:
+
以下の方法では'''静的な'''サイズの vdi イメージしか動きません!動的なサイズのイメージは'''簡単にはマウントできません'''!まず .vdi イメージの情報が必要です:
  
 
  $ VBoxManage internalcommands dumphdinfo Arch_64min.vdi |grep offData
 
  $ VBoxManage internalcommands dumphdinfo Arch_64min.vdi |grep offData
 
  Header: offBlocks=4096 offData=69632
 
  Header: offBlocks=4096 offData=69632
  
Now, '''add to your''' {{ic|offData}} 32256. e.g. 32256 + 69632 = 101888
+
ここで、{{ic|offData}} 32256 を'''加算してください'''。例: 32256 + 69632 = 101888
  
Now you can mount your vdi image:
+
そして vdi イメージをマウントします:
  
 
  # mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 Arch_64min.vdi /mnt/
 
  # mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 Arch_64min.vdi /mnt/
Line 238: Line 238:
 
=== マウント失敗によるスタートアップ時の問題 ===
 
=== マウント失敗によるスタートアップ時の問題 ===
  
If you experience problems in a [[systemd]] setup after a kernel upgrade, you should start the system with ''init=/bin/bash'' (if the emergency shell doesn't work for you).
+
カーネルをアップグレードした後、[[systemd (日本語)]] セットアップで問題が発生したら、システムを起動するときに ''init=/bin/bash'' (緊急シェルが動かない場合) を付ける必要があります。
  
 
  root=/dev/mapper/vg_main-lv_root ro vga=792 resume=/dev/mapper/vg_main-lv_swap init=/bin/bash
 
  root=/dev/mapper/vg_main-lv_root ro vga=792 resume=/dev/mapper/vg_main-lv_swap init=/bin/bash
  
Then mount the ''root''-filesystem with write access:
+
それから ''root''-ファイルシステムを書き込み権限付きでマウントします:
  
 
  # mount / -o remount,rw
 
  # mount / -o remount,rw
  
Change /etc/fstab according to [[VirtualBox#Shared Folders as Arch Linux Guest]]. Then exec systemd with in the bash shell:
+
[[#ゲスト側の Arch Linux の共有フォルダ]] に合わせて /etc/fstab を変更します。そして bash シェルから systemd を exec します:
  
 
  # exec /bin/systemd
 
  # exec /bin/systemd
Line 252: Line 252:
 
=== ゲスト側の Arch Linux でコピーアンドペーストが機能しない ===
 
=== ゲスト側の Arch Linux でコピーアンドペーストが機能しない ===
  
Since updating {{ic|virtualbox-guest-additions}} to version {{ic|4.2.0-2}} copy&paste from Host OS to Arch Linux Guest stopped working. It seems to be due to {{ic|VBoxClient-all}} requiring ''root'' access. In previous versions adding ''VBoxClient-all &'' to ''~/.xinitrc'' was sufficient to make copy&paste work. Update ''~/.xinitrc'' to match {{ic|sudo VBoxClient-all &}} and add the line {{ic|, NOPASSWD: /usr/bin/VBoxClient-all}} to your username in the sudoers file and restart X. It should all work again. The line in the sudoers file should look similar to this:
+
{{ic|virtualbox-guest-additions}} がバージョン {{ic|4.2.0-2}} にアップデートされてからホスト OS からゲスト側の Arch Linux へのコピーアンドペーストができなくなりました。{{ic|VBoxClient-all}} ''root'' 権限が必要なったためだと思われます。以前のバージョンでは ''VBoxClient-all &'' ''~/.xinitrc'' に追加しておけばコピーアンドペーストが機能していました。''~/.xinitrc'' {{ic|sudo VBoxClient-all &}} にして {{ic|, NOPASSWD: /usr/bin/VBoxClient-all}} sudoers ファイルのあなたのユーザ名のところに追加してください。これでまた動くはずです。sudoers ファイルの行はこのようになるはずです:
  
 
   # Allow sudo for user 'you' and let him run VBoxClient-all without requiring a password
 
   # Allow sudo for user 'you' and let him run VBoxClient-all without requiring a password
 
   you ALL = PASSWD: ALL, NOPASSWD: /usr/bin/VBoxClient-all
 
   you ALL = PASSWD: ALL, NOPASSWD: /usr/bin/VBoxClient-all
  
{{Note|Use {{ic|visudo}} to edit the sudoers file. This will check for syntax errors when saving.}}
+
{{Note|sudoers を編集する時は {{ic|visudo}} を使って下さい。保存するときに構文エラーをチェックします。}}
  
 
=== 時々ランダムにマウス位置が (0,0) にリセットされる ===
 
=== 時々ランダムにマウス位置が (0,0) にリセットされる ===
Line 263: Line 263:
 
xorg [https://bugs.freedesktop.org/show_bug.cgi?id=54353 bug 54353] (関連するバグも報告されています) によって VirtualBox のマウスの位置が画面の左上に頻繁に戻ってしまうことがあります。
 
xorg [https://bugs.freedesktop.org/show_bug.cgi?id=54353 bug 54353] (関連するバグも報告されています) によって VirtualBox のマウスの位置が画面の左上に頻繁に戻ってしまうことがあります。
  
The workaround suggested in the bug discussion can be applied by adding a script to {{ic|/etc/X11/xinit/xinitrc.d}} with:
+
バグディスカッションで提案されている解決方法は、{{ic|/etc/X11/xinit/xinitrc.d}} に次のスクリプトを加えることです:
  
 
   for Z in $(xinput list | sed '/\(master\|slave \) \<pointer\>/!d;s/.*id=\([0-9]\+\).*/\1/'); do
 
   for Z in $(xinput list | sed '/\(master\|slave \) \<pointer\>/!d;s/.*id=\([0-9]\+\).*/\1/'); do
Line 270: Line 270:
 
   done
 
   done
  
By changing the matrix's value and changing it back to its original value, the internal condition that triggers this bug is avoided.
+
matrix を一度変化させ、次に元の値に戻すことで、バグが回避されます。
  
 
== 外部リンク ==
 
== 外部リンク ==
  
 
* [http://www.virtualbox.org/manual/UserManual.html VirtualBox User Manual]
 
* [http://www.virtualbox.org/manual/UserManual.html VirtualBox User Manual]

Revision as of 17:04, 30 December 2012

概要 help replacing me
VirtualBox の基本的な使い方について。Arch をホストにして VirtualBox を動かす方法と、VirtualBox 仮想マシンの中でゲストとして Arch を動かす方法の両方を説明します。
ソフトウェア
VirtualBox
関連項目
VirtualBox Extras
PhpVirtualBox
VirtualBox Arch Linux Guest On Physical Drive
Advanced VirtualBox Networking
Installing Arch Linux from VirtualBox
Moving an existing install into (or out of) a virtual machine

VirtualBoxVMware に似た仮想 PC エミュレータです。継続的に開発が行われており、新しい機能が日夜追加されています。例えば、バージョン 2.2 では Linux と Solaris をゲストにした OpenGL 3D アクセラレーションがサポートされました。VirtualBox には仮想マシンを管理するために Qt による GUI インターフェースや、SDL によるコマンドラインツールが用意されています。ゲスト OS によっては guest additions を使って、ファイルやクリップボードの共有・ビデオアクセラレーション・"シームレス"なウィンドウ統合モードなどのゲスト・ホストを統合する機能を使うことができます。

Template:Wikipedia

ホストとしてインストール

GPL ライセンス版の VirtualBox のセットは公式リポジトリにある virtualbox パッケージでインストールできます。virtualbox パッケージでインストールしない場合、Arch Linux カーネル向けにコンパイル済みのモジュールを含んだ virtualbox-host-modules を別途インストールする必要があります。カスタムカーネルを使う場合、下のセクションを読んで下さい。

Qt による、グラフィカルインターフェース (VirtualBox コマンド) を使うには、qt パッケージもインストールしてください。シンプルな SDL の GUI (VBoxSDL コマンド) や VBoxHeadless コマンドを使う場合 qt は必要ありません。

linux-lts カーネルを使っている時は virtualbox-host-modules-lts パッケージもインストールしたほうがよいでしょう。

ホストでカスタムカーネルを使っている場合

VirtualBox works just fine with custom kernels such as Linux-ck without the need to keep any of the official ARCH kernel packages on the system. The trick to keeping pacman from bringing down the ARCH kernel packages is to install virtualbox with the virtualbox-host-source package, which contains the source for the virtualbox kernel modules. See FS#26721 for further explanations.

Once virtualbox-host-source is installed, simply generate the kernel modules for your custom kernel by running:

# dkms install vboxhost/<virtualbox-host-source version> -k <your custom kernel's version>/<your architecture>

Which for the lazy is the command:

# dkms install vboxhost/$(pacman -Q virtualbox|awk {'print $2'}|sed 's/\-.\+//') -k $(uname -rm|sed 's/\ /\//')

and load it:

# modprobe vboxdrv
Note: (Not working currently) To load/compile virtualbox modules automatically at startup you can install and add dkms in your DAEMONS array.

カーネルのアップデート毎に自動で virtualbox モジュールをリコンパイルする

This is possible thanks to virtualbox-hookAUR from the AUR. In virtualbox-hook, the 'automatic re-compilation' functionality is done by a vbox hook on mkinitcpio after forcing to update the linux-headers package. You will need to add 'vbox' to the HOOKS array in /etc/mkinitcpio.conf, as well as 'linux-headers' and your custom kernel(s) headers to the SyncFirst array in /etc/pacman.conf for this to work.

The hook will call the dkms command to update the virtualbox modules for the version of your new kernel.

Note: If you are using this functionality it's important to look at the installation process of the linux (or any other kernel) package. vbox hook will tell you if anything goes wrong.

セットアップ

利用するユーザー名を vboxusers グループに追加してください。追加しなくても問題なく動作しますが、共有フォルダなどの任意機能を動かすためには必要です。新しいグループは自動では現在のセッションに適用されません; ユーザーは一度ログインしなおすか newgrpsudo -u username -s などのコマンドで新しい環境を始める必要があります。

# gpasswd -a username vboxusers

カーネルモジュールのロード

Linux 上で VirtualBox を動作させるとカーネルモジュールが使われますが、その中には vboxdrv と呼ばれる必須モジュールがあり、仮想マシンを起動する前にロードする必要があります。Arch Linux 起動時に自動でロードすることも、必要なときだけ手動でロードすることもできます。

起動時に VirtualBox ドライバをロードする場合、/etc/modules-load.d ディレクトリに "vboxdrv" を読み込む *.conf ファイル (例: virtualbox.conf) を追加してください:

# tee /etc/modules-load.d/virtualbox.conf <<< "vboxdrv"
Note: vboxdrv ロード時に 'no such file or directory' エラーが出る場合、カーネルモジュールデータベースをアップデートする必要があります。次を実行してください: depmod -a

手動でモジュールをロード:

# modprobe vboxdrv

VirtualBox グラフィカルマネージャを起動:

$ VirtualBox

Guest additions ディスク

virtualbox パッケージは VirtualBox を動かすホスト側 (Arch Linux) に、virtualbox-guest-iso もインストールすることを提案します。これはゲスト OS に guest additions をインストールするために使われるディスクイメージです。これを(動作中の)ゲストで利用するには Devices に行き "Install Guest Additions... Host+D" をクリックしてください。それからゲスト側で guest additions インストールを行います。

live ディスクの起動

'New' ボタンをクリックすることで新しい仮想環境を作ることができます。まず適当な名前をつけ、オペレーティングシステムのタイプとバージョンを選んで下さい。それからベースメモリーサイズを選択します(注意: ほとんどの OS は正しく動作させるのに少なくとも 512MB 必要です)。そして新しいハードディスクイメージを作成します(ハードディスクイメージとは OS のファイルシステムとファイルが含まれるファイルのことです)。

新しいイメージが作成されたら、'Settings' をクリックし、次に CD/DVD-ROM をクリック、'Mount CD/DVD Drive' をチェックして ISO イメージを選びます。

高度なセットアップ

高度な設定については VirtualBox Extras を見て下さい。

Arch Linux をゲストにする

VirtualBox の下で Arch をインストールするのは簡単です、pacman を使って additions をインストールしてください (VirtualBox の "Install Guest Additions" や、マウントした ISO イメージを使わないでください)。

Guest Additions をインストール

virtualbox-guest-utils パッケージをインストールします:

# pacman -S virtualbox-guest-utils

手動でモジュールをロードします:

# modprobe -a vboxguest vboxsf vboxvideo

以下の内容を持つ *.conf ファイル (例: virtualbox.conf) を /etc/modules-load.d/ に作成します:

/etc/modules-load.d/virtualbox.conf
vboxguest
vboxsf
vboxvideo

共有サービスの起動

上記の通り virtualbox-guest-utils をインストールした後、VBoxClient-all を使ってクリップボード共有、画面リサイズなどのサービスを起動してください。

  • GNOME や KDE など、/etc/xdg/autostart/vboxclient.desktop を実行するものを使っている場合、なにもなさらなくて結構です。
  • .xinitrc を使って実行する場合、.xinitrc で WM を起動する前に次の行を追加してください。
# VBoxClient-all &

USB ウェブカメラ/マイクロフォン を使う

Note: 以下の作業をする前に VirtualBox 拡張パックをインストールする必要があります。詳しくは VirtualBox_Extras#Extension_pack を見て下さい。
  1. 仮想マシンを止め、ウェブカメラ/マイクロフォンが使われていないのを確認します。
  2. メイン VirtualBox ウィンドウを立ち上げ Arch マシンの設定に行き、USB セクションを見ます。
  3. "Enable USB Controller" を選択します。それから "Enable USB 2.0 (EHCI) Controller" を選択します。
  4. "Add filter from device" ボタンをクリック ('+' アイコンとケーブル)。
  5. リストから USB ウェブカメラ/マイクロフォンデバイスを選択する。
  6. OK をクリックして VM を起動。

Virtualbox の EFI モードで Arch を使う

My experience with this configuration was pretty terrible, but it does work.

First, efibootmgr does *not* work. It will appear to work, but all changes it makes appear to be overwritten on reboot. After performing a standard UEFI/GPT installation, reboot and you should get dumped to the EFI shell. Type exit and you will get a menu. Select the Boot Management Manager, Boot Options, Add Boot Option. Use the file browser to find the grub efi file and select it. Add a label if you want. Afterwards, select Change Boot Order from the menu, use arrow keys to select your Arch option, and + to move it up to the top. GRUB should boot by default now.

Note: Another useful way to get back to the EFI menu after autobooting is working is to press the Template:Keypress key inside GRUB and type exit. Obviously, this will only work with grub-efi, not grub-bios.
Regenerating the grub.cfg file may also be required to fix broken UUIDs. Check with the lsblk -f command that they match.

ゲスト側の Arch Linux の共有フォルダ

共有フォルダはホスト側にある VirtualBox によって管理されます。共有フォルダが追加されると、自動でマウントされ読み込み専用になります。 VirtualBox から共有フォルダを作成すると /media/sf_SHAREDFOLDERNAME の中にとフォルダが設置されます。この時、ゲスト側の Arch の中のフォルダを使うには設定が必要になります。ゲスト側の Arch に共有フォルダを作成するには、pacman で Guest Additions パッケージをインストールした後、コマンドラインで以下を実行してください:

# groupadd vboxsf
# gpasswd -a $USER vboxsf

If you wish, a symbolic link may be made to another folder in your home directory for easy access. As an example, if a shared folder named "Dropbox" was created in the VirtualBox program on the host machine, then /media/sf_Dropbox is automatically created in the guest so this could be done:

$ ln -s /media/sf_Dropbox/* ~/dropbox

The .run script provided in the Guest Additions iso does this for you, however, Arch does not recommend using that script so this step must be done manually. The instructions for it were found here: (pastebin: [1]) .

If shared folders are not auto-mounted, try manually mount or read the next section.

To prevent startup problems when you're using systemd, you should add comment=systemd.automount to your /etc/fstab. This way, they are mounted only when you access those mountpoints and not during startup. Otherwise your system might become unusable after a kernel upgrade (if you install your guest additions manually).

desktop   /media/desktop    vboxsf  uid=user,gid=group,rw,dmode=700,fmode=600,comment=systemd.automount 0 0

Don't waste your time to test the nofail option. mount.vboxsf is not able to handle this (2012-08-20).

desktop   /media/desktop    vboxsf  uid=user,gid=group,rw,dmode=700,fmode=600,nofail 0 0

ゲストの時刻をホストに同期させる

時刻を同期させるには、まずホスト側に virtualbox-guest-utils をインストールする必要があります(前のセクションを見て下さい)。それから次を実行して次のブート時にサービスを有効にします

# systemctl enable vboxservice.service

今すぐサービスを開始するには

# systemctl start vboxservice.service

共有フォルダの自動マウント機能を使うときにもこのデーモンを起動する必要があります。

トラブルシューティング

USB サブシステムがホスト側もしくはゲスト側で動かない

時々 usb サブシステムが自動で検知されずホスト側の USB ドライブが表示されなかったりエラーが出ることがあります。これはユーザーが vboxusers グループになっていても起こります。詳しくは [2] を見て下さい。

Note: Linux 3.5 から usbfs は失くなりました。/etc/fstab を使う方法はすでに使えません。USB サブシステムを使う方法を取って下さい。

fstab

/etc/fstab にエントリを加えることで問題を解決できます:

none  /proc/bus/usb  usbfs  auto,busgid=108,busmode=0775,devgid=108,devmode=664  0  0

USB サブシステム

~/.bashrc に以下を加え再起動するか新しいインスタンスを開始すれば USB サブシステムが動作します。

VBOX_USB=usbfs

ホストオンリーのネットワークインターフェースを作成できない

Host-Only Network Adapter や Bridged Network Adapter を作るためには、カーネルモジュールの vboxnetadpvboxnetflt をロードする必要があります。これらのカーネルモジュールを手動でロードするには:

# modprobe -a vboxnetadp vboxnetflt

起動時に自動でロードするには /etc/modules-load.d/virtualbox.conf にモジュール毎に新しい行を追加してください:

vboxdrv
vboxnetadp
vboxnetflt
Note: These used to be added to the MODULES array in /etc/rc.conf. This is now deprecated.

このトピックについて詳しい情報がここにあります。

WinXP: ビット深度を 16 より上げることができない

16-ビット色深度で動作させている場合、アイコンの見た目が毛羽立ったりむらがでるかもしれません。しかし、色深度をもっと高く変えようとすると、システムの解像度が低くなってしまったり、もしくは全く深度が変えられないかもしれません。これを修正するには、regedit を起動し次のキーをゲスト側の Windows XP レジストリに追加します:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"ColorDepth"=dword:00000004

それからデスクトップのプロパティウィンドウから色深度を変えてください。何も怒らない場合、強制的に画面を再描写させてください(つまり、Template:Keypress で再描写するか、フルスクリーンにしてください)。

.vdi イメージのマウント

以下の方法では静的なサイズの vdi イメージしか動きません!動的なサイズのイメージは簡単にはマウントできません!まず .vdi イメージの情報が必要です:

$ VBoxManage internalcommands dumphdinfo Arch_64min.vdi |grep offData
Header: offBlocks=4096 offData=69632

ここで、offData に 32256 を加算してください。例: 32256 + 69632 = 101888

そして vdi イメージをマウントします:

# mount -t ext4 -o rw,noatime,noexec,loop,offset=101888 Arch_64min.vdi /mnt/

マウント失敗によるスタートアップ時の問題

カーネルをアップグレードした後、systemd (日本語) セットアップで問題が発生したら、システムを起動するときに init=/bin/bash (緊急シェルが動かない場合) を付ける必要があります。

root=/dev/mapper/vg_main-lv_root ro vga=792 resume=/dev/mapper/vg_main-lv_swap init=/bin/bash

それから root-ファイルシステムを書き込み権限付きでマウントします:

# mount / -o remount,rw

#ゲスト側の Arch Linux の共有フォルダ に合わせて /etc/fstab を変更します。そして bash シェルから systemd を exec します:

# exec /bin/systemd

ゲスト側の Arch Linux でコピーアンドペーストが機能しない

virtualbox-guest-additions がバージョン 4.2.0-2 にアップデートされてからホスト OS からゲスト側の Arch Linux へのコピーアンドペーストができなくなりました。VBoxClient-allroot 権限が必要なったためだと思われます。以前のバージョンでは VBoxClient-all &~/.xinitrc に追加しておけばコピーアンドペーストが機能していました。~/.xinitrcsudo VBoxClient-all & にして , NOPASSWD: /usr/bin/VBoxClient-all を sudoers ファイルのあなたのユーザ名のところに追加してください。これでまた動くはずです。sudoers ファイルの行はこのようになるはずです:

 # Allow sudo for user 'you' and let him run VBoxClient-all without requiring a password
 you ALL = PASSWD: ALL, NOPASSWD: /usr/bin/VBoxClient-all
Note: sudoers を編集する時は visudo を使って下さい。保存するときに構文エラーをチェックします。

時々ランダムにマウス位置が (0,0) にリセットされる

xorg bug 54353 (関連するバグも報告されています) によって VirtualBox のマウスの位置が画面の左上に頻繁に戻ってしまうことがあります。

バグディスカッションで提案されている解決方法は、/etc/X11/xinit/xinitrc.d に次のスクリプトを加えることです:

 for Z in $(xinput list | sed '/\(master\|slave \) \<pointer\>/!d;s/.*id=\([0-9]\+\).*/\1/'); do
   xinput set-prop $Z "Coordinate Transformation Matrix" 0.500000, 0.000000, 0.000000, 0.000000, 0.500000, 0.000000, 0.000000, 0.000000, 0.500000
   xinput set-prop $Z "Coordinate Transformation Matrix" 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
 done

matrix を一度変化させ、次に元の値に戻すことで、バグが回避されます。

外部リンク