Ubuntu/LinuxMint環境へWinBoat導入にチャレンジしました
1.概要
ネット記事でWinBoatに目が止まりました。ベータ版ですが、LinuxでWindowsアプリを実行できる選択肢の1つでコンテナ利用とのことです。参考資料のレポートでは、ゲームチェンジャーになる可能性ともあるとの記述があり、試してみることをしました。結果は、期待はずれでした。その内容を記述します。
2.詳細
(1) Ubuntu 22.04環境
試験環境: AMD Ryzen 3200G, Memory 16GB, SSD 256GB, Ubuntu-22.04.5
作業手順は、下記githubの「How Does It Work?」に従います。
https://github.com/TibixDev/winboat
(a) Prerequisites(添付資料参照:TibixDev/winboat)
Virtualization: BIOS設定済みでした。
Docker: Docker Compose v2、dockerとdocker composeを導入しました
Docker User Group: 資料に沿って、sudo usermod -aG docker $USERを実行
FreeRDP: 資料に沿って、Stable版を導入
flatpak: 下記手順で導入
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install com.freerdp.FreeRDP
Kernel Modules: 資料に沿って実行、この実行をしないと動作しません
echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf
(b) Downloading
リンク先の下記ファイルをDownloadしました
winboat-0.7.10-x86_64.AppImage
(c) 実行
Downloadしたwinboat-0.7.10-x86_64.AppImageを右クリックして実行、Winboatが起動します。必要な条件のチェックが完了すると、User/passwordの入力に加えて、Windowsのisoファイル入力要求です。
「えっ、Dockerを利用したコンテナなのにWindowsのisoファイル」と思いましたが、
MicrosoftのサイトからWindows10(64bit日本語版)をDownloadして指定しました。インストール状況がわかるというリンクを開くと、Firefox上でWindows10のインストーラが動きます。とても遅く感じました。Windows特有のドットが円を描くところがとても遅かった。Windows10起動まで確認して、残念な印象を持ち終了しました。
(2)LinuxMint 21.3環境
結果はあまり変わりません。WindowsのISOファイルを自動でDownloadするように変わっていました。導入手順をShellとして整備をしました(添付資料)
(3)LinuxMint 22.3環境
結果はあまり変わりません。AMD Ryzenの4 coreと16GBのメモリーは最低スペックのような気がします。WinBoatの導入が始まると、Windowsプロセスが1個、Winboatプロセスが2個起動して、CPUを専有します。Windowsは1〜2core、2個のWinboatプロセスで1coreのようです。メモリは再起動直後から作業を開始すると16GBを超えないようですが、swapを8GB追加することが安全です。
3.所見
ubuntu-22.04環境で試験をした際に、同一環境にubnutu-22.04.5を再導入して、KVMを導入。同じWindows10のisoを仮想マシンとして導入すると、こちらの方が高速に動作します。WinBoatは仮想マシンに勝てないコンテナになっていると感じました。
そもそも、DockerはLinux kernelを必要とします。WinBoatがどのようにDockerを利用しているか良くわかりません。もしかすると、Windows版のDockerのような機能を改良したものなのかも知れませんが、私にはわかりませんでした。
作業時のshellを添付します。是非、試してみてください。
参考
[本ブログ内参照]添付資料
setup_docker(){
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker
sudo systemctl start docker
sudo docker run hello-world
}
setup_dockercompose(){
sudo apt-get update
sudo apt-get install docker-compose-plugin
docker compose version
}
setup_user(){
#sudo groupadd docker
sudo usermod -aG docker $USER
echo "reboot"
}
setup_podman(){
sudo apt-get update
sudo apt-get -y install podman
}
setup_podmancompose(){
sudo apt install python3-pip
pip3 install podman-compose
python3 -m unittest discover tests/unit
}
setup_freerdp(){
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install com.freerdp.FreeRDP
}
setup_iptable(){
echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf
}
get_winboat(){
wget https://github.com/TibixDev/winboat/releases/download/v0.9.0/winboat-0.9.0-amd64.deb
sudo gdebi winboat-0.9.0-amd64.deb
}
コメント
コメントを投稿