FMXLinuxアプリケーションは、Webブラウザ でHTML5のWebアプリケーションとして実行することができます。このブログでは、WSL2を使用してFMXLinuxをUbuntuへWeb配置する方法について解説します。
DelphiのFMXLinuxを配布する最も簡単な方法は、Windows Subsystem for Linux(WSL)を使用することです。 Windows 10バージョン 2004(ビルド19041)の時点で、WSL2には完全なLinuxカーネルが含まれているため、デバッグなども含めてすべて期待どおりに機能します。
Table of Contents
1. WSL2をインストール
WSL2を使用する場合にはWindows 10 バージョン2004(May 2020 Update ビルド番号 19041)への更新が必要です。Windows 10のシステム情報からOSビルド番号が確認できます。
- Windowsメニューの[Windows システムツール]-[コントロールパネル]を選択
- コントロールパネルの[プログラムと機能]を選択 (表示方法が大きいアイコンの場合)
- [Windowsの機能の有効化または無効化]を選択
- 機能の一覧から[Linux用 Windows サブシステム] にチェックオン
- WSL2をインストール後、OSを再起動
2. Microsoft Store経由でUbuntuをインストール
バージョン番号のないUbuntuは現在のLTS版で、今後アップデートされます。同様にMicrosoft Store経由で他のディストリビューション(Kali、Pegwin、Alpine WSLなど)もインストールできますが、Ubuntuとはどれも少し異なります。
3. Ubuntuの起動
Windowsのスタートメニューまたは PowerShell/ターミナル/CLI ウィンドウから WSL もしくは Ubuntu コマンドを使用して起動します。複数のLinuxをインストールしている場合は、WSLはデフォルトのLinuxを起動します。 初めて起動するときは、数分かかることに注意してください。そして新しいLinux資格情報の入力を求められます。
4. SetupUbuntu4Delphi21.shを実行
Delphiからターゲットにする準備をするために、Ubuntuのすべてのセットアップを行うスクリプトをgistで作ってみました。wgetを使用してダウンロードするか、コマンドを手動で入力することができます。ホームフォルダに pa21.sh というスクリプトファイルを作成し、PAServer を起動します。これを変更して、デフォルトの設定を渡すことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/bash echo Updating the local package directory sudo apt update echo Upgrade any outdated pacakges sudo apt full-upgrade -y echo Intall new packages necessary for Delphi sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5 xorg libgl1-mesa-dev libosmesa-dev libgtk-3-bin -y echo Clean-up unused packages sudo apt autoremove -y cd ~ echo Downloading LinuxPAServer for Sydney 10.4 (21.0) Update 1 wget https://altd.embarcadero.com/releases/studio/21.0/1/PAServer/LinuxPAServer21.0.tar.gz echo Setting up directories to extract PA Server into mkdir PAServer mkdir PAServer/21.0 tar xvf LinuxPAServer21.0.tar.gz -C PAServer/21.0 --strip-components=1 rm LinuxPAServer21.0.tar.gz echo \#\!\/bin\/bash >pa21.sh echo ~/PAServer/21.0/paserver >>pa21.sh chmod +x pa21.sh echo ----------------------------------- echo To launch PAServer type \~/pa21.sh echo ----------------------------------- ~/pa21.sh |
5. GetItからFMXLinuxをインストール
6. broadwayd サーバーの実行
上記のスクリプトによる起動で、既にPAServerを実行しているはずですが、broadwaydを起動できる新しいUbuntuターミナルウィンドウが必要になる可能性があります。新しいWindowsターミナルを使用すると、複数のタブを簡単に開くことができ、WSLとうまく統合できるのでお勧めします。
7. Delphi IDEでLinux SDKをインポート
Delphi IDEのメインメニューの[ツール]-[オプション]-[配置]-[SDKマネージャ]でLinuxで実行しているPAServerへ接続します。 PAServerのIP アドレスは、 localhost / 127.0.0.1 ですので、WSLインスタンスとホストOSであるWindows 10との間でポートを共有していることに注意してください。
あとは、FireMonkyプロジェクトを実行して、Webブラウザからlocalhost:8080に接続するだけです。
1つだけ留意すべきことは、各クライアントのサーバー上で実行されているアプリの1つのインスタンスがあり、それぞれが独自のポート番号を持っているということです。 ちょっとした工夫でサーバー上で管理する方法もありますが、その方法はまた別ブログ記事で紹介いたします。
関連情報
http://docwiki.embarcadero.com/RADStudio/Sydney/ja/FireMonkey_for_Linux
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition