会社の PC など、外部との接続やネットワーク構成に制約がある Windows 環境で、Oracle VirtualBox 上に Debian を起動して作業することがあります。VirtualBox のネットワークを NAT にしている場合でも、Windows ホストと Debian ゲストの間でファイルを交換する方法は NAT に限定されません。
単に Windows Explorer と Debian の Xfce4 / Thunar の間で数個のファイルを受け渡すだけなら、Guest Additions を導入して Drag and Drop を有効にする方法が最も構成要素の少ない方法です。継続的に同じディレクトリを共有するなら Shared Folder、Guest Additions を使わず CLI で確実に転送するなら NAT + SSH/SCP、ホストとゲストの間に常設の IP 通信経路が必要なら NAT + Host-only という選択肢があります。
本記事では、次の環境を前提に、それぞれの方式を実際に設定して確認できるところまで整理します。
- ホスト OS: Windows
- 仮想化ソフトウェア: Oracle VirtualBox
- ゲスト OS: Debian
- デスクトップ環境: Xfce4
- VirtualBox のネットワーク: NAT
- 目的: Windows ホストと Debian ゲストの間でファイルを交換する
VirtualBox の仕様確認には Release 7.2 の公式文書を使用します。VirtualBox の別バージョンでは GUI の項目名や配置が異なる場合があります。
VMware で作成した VMDK を VirtualBox に接続して利用する場合も、Debian が正常に起動した後のファイル交換方法は同じです。ただし、VMware Tools は VirtualBox Guest Additions の代わりにはならないため、Drag & Drop、Shared Folder、Shared Clipboard を利用する場合は VirtualBox Guest Additions を導入します。
1. NAT とファイル交換は別の機能として考える
VirtualBox の NAT は、ゲスト OS のネットワーク接続方式です。標準の NAT では Debian から外部へ TCP/IP 通信できますが、ホストからゲストのネットワークサービスへ着信させる場合は Port Forwarding を設定します。
一方、Guest Additions が提供する Drag and Drop や Shared Folder は、VirtualBox がホストとゲストを直接連携させる機能です。Shared Folder はネットワークを必要としません[1]。
関係を分けると次のようになります。
Windows Host
|
+--------------------+--------------------+
| | |
Drag and Drop Shared Folder SSH / SCP
| | |
Guest Additions Guest Additions VirtualBox NAT
| | Port Forwarding
+--------------------+--------------------+
|
Debian + Xfce4
したがって、「NAT だから Windows と Debian の間でもネットワーク共有を設定しなければならない」と考える必要はありません。目的に応じて、ネットワークを使わない方法と使う方法を選べます。
2. 最初に現在の環境を確認する
2.1 Xfce4 が X11 で動いているか確認する
VirtualBox の Drag and Drop は、Windows 系と X Window 系の環境で実装されています[1]。Debian の Xfce4 セッションで次を実行します。
echo "$XDG_SESSION_TYPE"
通常の X11 セッションなら次のように表示されます。
x11
wayland と表示された場合は、Drag and Drop が動作しない原因を Guest Additions だけに求めず、セッション方式も確認対象にします。Xfce 4.20 は Wayland 対応を導入していますが、Xfce Project はこの対応を experimental と位置付けています[2]。
2.2 Guest Additions はゲスト OS に入れる追加機能
Guest Additions は、VirtualBox のゲスト OS に導入するデバイスドライバーとシステムアプリケーションの集合です。Linux ゲストでは、Shared Folder、共有クリップボード、Drag and Drop、画面サイズ連動などのホスト連携を提供します[1]。
名前が似ていますが、Extension Pack とは役割が異なります。
| 機能 | 導入先 | 今回の用途 |
|---|---|---|
| Guest Additions | Debian ゲスト | Drag and Drop、Shared Folder、共有クリップボードなど |
| Extension Pack | VirtualBox ホスト側 | VirtualBox 本体の追加機能。Drag and Drop の前提ではない |
単純なファイル交換のために Extension Pack を追加する必要はありません。
2.3 virtualbox-guest-modules と virtualbox-guest-additions-iso は何か
Debian で次のように検索すると、Guest Additions に関係しそうな名前が複数見つかることがあります。
apt search '^virtualbox-guest'
Debian 13 では virtualbox-guest-modules は仮想パッケージとして扱われています。これは Guest Additions に必要なカーネル側機能に関係する名前であり、GUI 連携一式を導入するための単独パッケージではありません。
virtualbox-guest-additions-iso は Guest Additions のインストール媒体である ISO イメージを提供するパッケージです。Debian Wiki でも、Guest Additions ISO をホスト側で必要とする場合のパッケージとして説明されています[3]。Windows ホストに Oracle VirtualBox をインストールしている構成では、VirtualBox 側から Guest Additions CD イメージを挿入できるため、Debian ゲスト内でこの ISO パッケージを入れること自体が Guest Additions の有効化になるわけではありません。
Debian Stable では Guest Additions の Debian パッケージ一式が通常の Stable リポジトリだけでは揃わず、Debian Wiki は Fast Track を使って virtualbox-guest-x11 を導入する方法を案内しています[3]。Fast Track を利用する構成なら、X11 を使うゲストでは次のパッケージが対象です。
sudo apt install virtualbox-guest-x11
GUI を使わないゲストでは次の選択肢があります。
sudo apt install virtualbox-guest-utils
会社 PC などで追加リポジトリを増やしたくない場合は、VirtualBox に付属する Guest Additions ISO を使う方法の方が構成変更を限定できます。
3. 用途ごとにファイル交換方式を選ぶ
| 用途 | 第一候補 | Guest Additions | ネットワーク設定 |
|---|---|---|---|
| 数個のファイルを GUI で手作業で渡す | Drag and Drop | 必要 | 不要 |
| 同じディレクトリを継続的に共有する | Shared Folder | 必要 | 不要 |
| CLI、大量転送、自動処理を行う | NAT + SSH/SCP | 不要 | Port Forwarding が必要 |
| ホストとゲストを常時 IP で接続する | NAT + Host-only | 不要 | 第 2 NIC が必要 |
| コマンドや短いテキストをコピーする | Shared Clipboard | 必要 | 不要 |
今回のように Windows Explorer と Thunar の間でファイルを手作業で受け渡すだけなら、最初に試すのは Drag and Drop です。それで要件を満たせない場合に、Shared Folder、SSH/SCP、Host-only へ移ります。
4. Guest Additions + Drag and Drop でファイルを交換する
4.1 Guest Additions をビルドできる状態にする
Oracle の Linux Guest Additions は、ゲスト内で外部カーネルモジュールを構築します。そのため GCC、make、実行中のカーネルと一致するカーネルヘッダーが必要です[4]。Debian では最初に次を実行します。
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)
ヘッダーが見つからない場合は、実行中のカーネルとリポジトリにあるヘッダーの版が一致しているか確認します。
uname -r
apt-cache policy linux-headers-$(uname -r)
Guest Additions の導入前に VM のスナップショットを作成しておけば、既存の Guest Additions と競合した場合にも元へ戻せます。Oracle も、ディストリビューション側で既に Guest Additions の全部または一部が導入されている場合には、置き換え前のスナップショットを推奨しています[1]。
4.2 Guest Additions CD イメージを挿入する
Debian VM を起動した状態で VirtualBox のメニューから次を選びます。
デバイス
-> Guest Additions CD イメージの挿入
Oracle の Linux Guest Additions の標準手順も、VBoxGuestAdditions.iso をゲストの仮想 CD-ROM に挿入して VBoxLinuxAdditions.run を実行する方式です[1]。
Debian 側で CD のマウント先を確認します。
findmnt -t iso9660
自動マウントされていなければ lsblk -f で CD-ROM デバイスを確認し、必要に応じて手動でマウントします。
4.3 Linux Guest Additions をインストールする
CD のマウント先へ移動し、次を実行します。
cd /media/$USER/VBox_GAs_7.2.x
sudo sh ./VBoxLinuxAdditions.run
VBox_GAs_7.2.x の部分は実際のマウント先に置き換えます。固定のディレクトリ名として扱わず、前項の findmnt で確認します。
導入後、Oracle が用意している状態確認を実行します[1]。
sudo rcvboxadd status-kernel
sudo rcvboxadd status-user
問題が疑われる場合は再セットアップできます。
sudo rcvboxadd setup
Guest Additions のユーザーセッション側を確実に起動し直すため、インストール後は一度 Xfce4 からログアウトして再ログインします。構成によっては VM を再起動します。
4.4 Drag and Drop を有効にする
VirtualBox の実行中 VM で次を選択します。
デバイス
-> ドラッグ&ドロップ
-> 双方向
VirtualBox では次のモードを選べます[1]。
- 無効
- ホストからゲスト
- ゲストからホスト
- 双方向
新規 VM では Drag and Drop は既定で無効です。業務上 Windows から Debian へ渡すだけでよい場合は、双方向ではなく「ホストからゲスト」に限定できます。
4.5 Windows Explorer と Thunar の間で確認する
Windows に確認用ファイルを作成します。
C:\work\from-windows.txt
Windows Explorer から Debian の Thunar へドラッグし、Debian 側にコピーされることを確認します。双方向を選択した場合は、Debian 側の確認用ファイルを Windows Explorer へドラッグして逆方向も確認します。
VirtualBox の Drag and Drop が現在サポートしているのはコピーです。move と link はサポートされていません[1]。元ファイルが自動的に消える「移動」として扱わず、コピー後に必要なら元ファイルを別途削除します。
4.6 Drag and Drop が動かない場合の確認順序
最初にセッション方式を確認します。
echo "$XDG_SESSION_TYPE"
次に Guest Additions の状態を確認します。
sudo rcvboxadd status-kernel
sudo rcvboxadd status-user
VirtualBox 側では次を再確認します。
デバイス
-> ドラッグ&ドロップ
-> ホストからゲスト / ゲストからホスト / 双方向
Windows ホストでは権限レベルも確認します。VirtualBox を「管理者として実行」している一方、Windows Explorer が通常権限で動いている場合、Windows の UAC 境界を越える Drag and Drop はできません[1]。通常利用では VirtualBox と Explorer の権限レベルを揃えます。
また、Oracle の現行仕様では Drag and Drop は VirtualBox Manager frontend で提供されています[1]。別 frontend で動かしている場合は同じ挙動を前提にできません。
ここまで確認しても安定しない場合は、ファイル交換そのものを止める必要はありません。次の Shared Folder または SSH/SCP に切り替えます。
5. 同じディレクトリを継続利用するなら Shared Folder を使う
Drag and Drop はその都度ファイルをコピーする方式です。同じ Windows ディレクトリを Debian から繰り返し参照する場合は Shared Folder が適しています。Shared Folder は Guest Additions を使いますが、NAT や SMB などのネットワーク共有は使いません[1]。
5.1 Windows 側に共有ディレクトリを作る
例として次のディレクトリを作ります。
C:\vmshare
VirtualBox で VM の Shared Folder 設定を開き、次のように設定します。
フォルダーのパス: C:\vmshare
フォルダー名: vmshare
自動マウント: 有効
永続化: 必要に応じて有効
読み取りだけでよい用途では Read-only を有効にすると、Debian 側から Windows の元ファイルを書き換えない構成にできます。
5.2 Debian 側の自動マウント先を確認する
Linux ゲストでは、自動マウントされた Shared Folder は通常 /media 配下に sf_ を付けた名前で現れます[1]。vmshare なら次を確認します。
ls -ld /media/sf_vmshare
自動マウントされた Shared Folder は Linux では root と vboxsf グループにアクセスが制限されます[1]。現在のユーザーとグループを確認します。
id
getent group vboxsf
必要ならユーザーを vboxsf に追加します。
sudo usermod -aG vboxsf "$USER"
グループ追加後はログアウトして再ログインします。
5.3 自動マウントできない場合は手動でマウントする
マウントポイントを作成します。
sudo mkdir -p /mnt/share
Shared Folder 名 vmshare を指定してマウントします。
sudo mount -t vboxsf vmshare /mnt/share
確認します。
findmnt /mnt/share
ls -la /mnt/share
C:\vmshare と /mnt/share の双方で確認用ファイルを作成し、相互に見えることを確認します。
5.4 Shared Folder を Linux の作業ディレクトリと同一視しない
Shared Folder は Windows ホストのファイルを Linux ゲストから扱うための仮想ファイルシステムです。Linux ネイティブのファイルシステムと完全に同じ意味論を持つわけではありません。特にソースコードでは、POSIX permission、symlink、ファイル名の大文字小文字、Windows 側ツールによる改行処理などが作業内容に影響する場合があります。
Linux 上での挙動を検証する Git リポジトリやビルド対象は、Debian 自身のファイルシステムへコピーしてから扱う方法があります。
Windows C:\vmshare\project
|
| copy
v
Debian /home/user/src/project
|
| test / build
v
Debian /home/user/src/project
Shared Folder は入出力用、実際の Linux 作業は /home/user/src などに分離すると、ホスト OS のファイルシステム差異を作業結果から切り分けやすくなります。
6. Guest Additions を使わず NAT + SSH/SCP で交換する
Guest Additions を導入できない場合、GUI の Drag and Drop が安定しない場合、CLI で大量のファイルを扱う場合には SSH/SCP が使えます。ここでは VirtualBox の Adapter 1 を NAT のまま維持し、Windows の 127.0.0.1:2222 を Debian の TCP 22 番へ転送します。
VirtualBox の通常の NAT では、ゲストのネットワークサービスはそのままではホストから接続できません。Port Forwarding を設定すると、ホストの特定ポートへ来た通信をゲストへ転送できます。Oracle の公式文書にも SSH 用としてホストの TCP 2222 番からゲストの TCP 22 番へ転送する例があります[5]。
6.1 Debian に OpenSSH server を入れる
Debian 側で次を実行します。
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh
サービス状態を確認します。
systemctl status ssh --no-pager
TCP 22 番で待ち受けていることを確認します。
ss -ltn | grep ':22'
6.2 VirtualBox の NAT Port Forwarding を設定する
VM のネットワーク Adapter 1 が NAT であることを確認します。NAT Network とは別のモードなので、ここでは変更しません。
VirtualBox の VM 設定から Adapter 1 の Port Forwarding を開き、次のルールを追加します。
| 項目 | 値 |
|---|---|
| 名前 | guestssh |
| プロトコル | TCP |
| ホスト IP | 127.0.0.1 |
| ホストポート | 2222 |
| ゲスト IP | DHCP 利用時は空欄 |
| ゲストポート | 22 |
VBoxManage で設定する場合は次の形です[5]。
VBoxManage modifyvm "Debian" --nat-pf1 "guestssh,tcp,127.0.0.1,2222,,22"
Debian は VirtualBox 上の実際の VM 名に置き換えます。
ホスト IP を空欄にしたルールではホストの全インターフェースに到着する TCP 2222 番が転送対象になります。Oracle は 127.0.0.1 を明示して localhost の TCP 2222 番だけをゲストの 22 番へ転送する例も示しています[5]。会社 LAN 上の別 PC から接続させる要件がなければ、127.0.0.1 に限定すると Windows ホスト内だけの入口として扱えます。
構成は次のようになります。
Windows
127.0.0.1:2222
|
v
VirtualBox NAT Port Forwarding
|
v
Debian :22 / sshd
6.3 Windows 側に ssh と scp があるか確認する
PowerShell で確認します。
Get-Command ssh
Get-Command scp
ssh -V
コマンドが見つからない場合は Windows 側の OpenSSH Client の導入状態を確認します。会社管理 PC では機能追加が制限されている場合があるため、組織の端末管理方針に従います。
6.4 Windows から Debian へ SSH 接続する
PowerShell から次を実行します。
ssh -p 2222 user@127.0.0.1
user は Debian のログインユーザー名に置き換えます。
初回接続ではホスト鍵の確認が表示されます。接続先が 127.0.0.1:2222 の Port Forwarding で対象 VM に向いていることを確認してから登録します。
6.5 Windows から Debian へファイルを送る
1 ファイルなら次のように転送します。
scp -P 2222 C:\work\foo.txt user@127.0.0.1:/home/user/
ディレクトリを再帰的に送る場合は -r を付けます。
scp -r -P 2222 C:\work\project user@127.0.0.1:/home/user/
6.6 Debian から Windows へファイルを戻す
PowerShell から転送方向を逆にします。
scp -P 2222 user@127.0.0.1:/home/user/result.txt C:\work\
ディレクトリなら次のようにします。
scp -r -P 2222 user@127.0.0.1:/home/user/project C:\work\
この方式では Debian 側の作業コピーを Linux ファイルシステム上に保ったまま、必要なタイミングだけ Windows と交換できます。
Windows
| scp
v
Debian /home/user/project
| build / test / edit
v
Debian /home/user/project
| scp
v
Windows
6.7 SSH がつながらない場合は通信経路を順番に確認する
Debian では sshd が動いているか確認します。
systemctl status ssh --no-pager
ss -ltn | grep ':22'
Windows では Port Forwarding の入口まで TCP 接続できるか確認します。
Test-NetConnection 127.0.0.1 -Port 2222
TcpTestSucceeded が False なら、SSH のユーザー認証より前に VirtualBox の NAT 設定、Port Forwarding、VM の起動状態を確認します。
VirtualBox 側では次の 3 点を確認します。
Adapter 1: NAT
Host: 127.0.0.1:2222
Guest: TCP 22
TCP 接続が成立するのに ssh の認証だけ失敗する場合は、Debian のユーザー名、認証方式、sshd の設定を調べます。ネットワーク到達性と SSH 認証を同時に変更しない方が原因を分離できます。
Port Forwarding が不要になった場合はルールを削除できます[5]。
VBoxManage modifyvm "Debian" --natpf1 delete "guestssh"
7. NAT + Host-only でホストとゲストの専用通信路を作る
SSH/SCP を頻繁に使い、毎回 localhost の Port Forwarding を経由するよりホストとゲストを直接 IP で接続したい場合は、第 2 NIC として Host-only を追加できます。
Host-only は、ホストと VM の間に仮想ネットワークインターフェースを作り、物理 LAN へ接続せずにホストとゲストを通信させる方式です[5]。
7.1 Adapter 1 の NAT はそのまま残す
構成を次の 2 枚にします。
Adapter 1: NAT
Adapter 2: Host-only Adapter
役割は分離します。
Adapter 1 / NAT
-> Debian から外部ネットワークへ接続
Adapter 2 / Host-only
-> Windows ホストと Debian ゲストだけで通信
Host-only 単独では外部ネットワークへの通信経路になりません[5]。そのため NAT を Adapter 1 に残します。
7.2 Host-only network を用意する
VirtualBox Manager の Network Manager で Host-only network を確認します。存在しなければ作成し、必要に応じて VirtualBox 内蔵 DHCP server を有効にします。Oracle の Host-only networking では内蔵 DHCP server を利用でき、既定で有効な構成があります[5]。
次に VM の設定で Adapter 2 を有効にし、接続方法を Host-only Adapter にします。利用する Host-only interface を選択します。
7.3 Windows と Debian の Host-only IP を確認する
Windows では次を実行します。
ipconfig
Debian では次を実行します。
ip -br addr
192.168.56.x のようなアドレスが使われる例がありますが、固定値として決めつけず、実際に割り当てられた Host-only 側のアドレスを確認します。
例えば Debian の Host-only IP が 192.168.56.10 なら、Windows から次のように接続します。
ssh user@192.168.56.10
ファイル転送も通常の SCP になります。
scp C:\work\foo.txt user@192.168.56.10:/home/user/
scp user@192.168.56.10:/home/user/result.txt C:\work\
この構成では NAT の 127.0.0.1:2222 -> guest:22 Port Forwarding は不要です。
7.4 Host-only が使えない会社 PC もある
Host-only を有効にすると Windows 側に VirtualBox の仮想ネットワークインターフェースが現れます[5]。会社 PC では、仮想 NIC の追加やネットワーク構成変更が管理者権限、EDR、端末管理ポリシーなどで制限されている場合があります。
単純なファイル交換だけなら、Host-only を追加する理由はありません。常設の IP 通信が必要になった時点で検討する方式です。
8. Shared Clipboard は短いテキストの交換に使う
Guest Additions を導入すると共有クリップボードも利用できます[1]。VirtualBox の実行中 VM で次を設定します。
デバイス
-> 共有クリップボード
-> 双方向
コマンド、URL、短い設定断片の受け渡しには便利ですが、ファイル交換の主方式とは分けて考えます。片方向だけでよい場合は双方向を選ばず、必要な向きだけを有効にします。
9. 会社 PC ではホストとゲストの境界を必要な範囲だけ開く
会社 PC では「技術的に利用できるか」と「組織の規程上利用してよいか」は別の条件です。Drag and Drop、Shared Folder、Shared Clipboard はホストとゲストの間でデータを受け渡せるため、会社の情報管理規程で無効化されている場合があります。
機能を使う場合も、必要な方向だけを開く構成を選べます。
| 要件 | 設定例 |
|---|---|
| Windows から Debian へだけ渡す | Drag and Drop を Host To Guest に限定 |
| Debian から Windows の共有領域を書き換えない | Shared Folder を Read-only にする |
| SSH を Windows ホストからだけ利用する | NAT Port Forwarding の Host IP を 127.0.0.1 にする |
| ホストとゲストだけを IP 接続する | Host-only を第 2 NIC にする |
今回のファイル交換だけを目的とするなら Bridged Adapter は必要ありません。Bridged networking は VM をホストの物理ネットワークへ接続する方式であり、NAT + localhost Port Forwarding や Host-only より広いネットワーク接続を作ります[5]。物理 LAN から Debian へ直接到達させる要件がない限り、ファイル交換のためだけに Bridged へ変更する理由はありません。
10. 方式ごとのトラブルを切り分ける
10.1 Drag and Drop
echo "$XDG_SESSION_TYPE"
sudo rcvboxadd status-kernel
sudo rcvboxadd status-user
確認する項目は次です。
- Xfce4 セッションが X11 か
- Guest Additions のカーネル側とユーザー側が動いているか
- VirtualBox の Drag and Drop が無効のままになっていないか
- Windows 上の VirtualBox と Explorer の UAC 権限レベルが異なっていないか
10.2 Shared Folder
getent group vboxsf
id
findmnt -t vboxsf
ls -ld /media/sf_vmshare
確認する項目は次です。
- Shared Folder が VirtualBox 側に登録されているか
- 自動マウントされているか
- ユーザーが
vboxsfグループに入っているか - Read-only 設定が意図したものか
10.3 NAT + SSH/SCP
Debian で確認します。
systemctl status ssh --no-pager
ss -ltn | grep ':22'
Windows で確認します。
Test-NetConnection 127.0.0.1 -Port 2222
ssh -p 2222 user@127.0.0.1
確認する順序は sshd -> NAT Port Forwarding -> TCP 接続 -> SSH 認証 とします。認証エラーが出る前に TCP 接続自体が成立していない場合、sshd_config を変更しても解決しません。
10.4 NAT + Host-only
Windows で確認します。
ipconfig
Debian で確認します。
ip -br addr
確認する項目は次です。
- Adapter 1 が NAT のままか
- Adapter 2 が Host-only になっているか
- Host-only 側に IP が割り当てられているか
- Windows と Debian が同じ Host-only network に属しているか
- SSH を使う場合は Debian の TCP 22 番で
sshdが待ち受けているか
11. 最終的な選び方
ファイル交換だけを目的とする場合、最初から複雑なネットワークを作る必要はありません。次の順序で選ぶと、必要な構成だけで済みます。
Windows と Debian の間で数個のファイルを手で渡す
|
v
Guest Additions + Drag and Drop
|
+-- 同じディレクトリを継続的に使う
| |
| v
| Shared Folder
|
+-- Guest Additions を使えない
| CLI / 自動処理 / 大量転送を使う
| |
| v
| NAT + SSH/SCP
| 127.0.0.1:2222 -> guest:22
|
+-- ホストとゲスト間に常設の IP 通信が必要
|
v
NAT + Host-only
Debian + Xfce4 の GUI で単純にファイルを受け渡すだけなら、Guest Additions の Drag and Drop が最初の選択肢です。Drag and Drop が利用できない、同じディレクトリを継続して参照したい、Linux ファイルシステム上の作業コピーを保ちたい、といった条件が加わった段階で別方式へ移ります。
Debian + Xfce4 では SSH を GUI セッション制御にも利用でき、X11、ログインセッション、DBus を含む構成は既稿でも整理しています[6]。ファイル交換では GUI セッション内部を制御する必要はなく、SSH/SCP を選んだ場合も TCP 22 番への到達性とファイル転送に責務を限定できます。
このように NAT、Guest Additions、Shared Folder、SSH/SCP、Host-only を別の機能として把握しておけば、最初は Drag and Drop だけで始め、要件が変わった時点で必要な方式へ切り替えられます。
参考文献
- Oracle, Guest Additions - Oracle VirtualBox User Guide for Release 7.2 (2026-02-03). https://docs.oracle.com/en/virtualization/virtualbox/7.2/user/guestadditions.html
- Xfce Development Team, Xfce 4.20 released (2024-12-15). https://www.xfce.org/about/news/?post=1734220800
- Debian Wiki, VirtualBox (2026-08-14). https://wiki.debian.org/VirtualBox
- Oracle, Installing VirtualBox - Oracle VirtualBox User Guide for Release 7.2 (2026-02-03). https://docs.oracle.com/en/virtualization/virtualbox/7.2/user/installation.html
- Oracle, Virtual Networking - Oracle VirtualBox User Guide for Release 7.2 (2026-02-03). https://docs.oracle.com/en/virtualization/virtualbox/7.2/user/networkingdetails.html
- id774, Debian + Xfce4 でログイン中の GUI セッションを制御する (2026-02-08). https://blog.id774.net/entry/2026/02/08/3493/