![fmxlinuxpng | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/fmxlinux.png?resize=1140%2C694&ssl=1)
Самый быстрый способ начать развертывание Linux из Delphi — использовать подсистему Windows для Linux (WSL). Начиная с Windows 10 версии 2004 (сборка 19041) WSL2 включает полное ядро Linux, поэтому отладка и все работает, как ожидалось.
- Установите WSL2 (номер сборки можно проверить с помощью апплета «Информация о системе», но сборка 19041 уже доступна уже некоторое время.)
- Панель управления
- Программ
- Включение и отключение функций Windows
- Подсистема Windows для Linux
- перезагрузка
![image8 | Embarcadero RAD Studio Delphi C++Builder Blogs Installing WSL2 on Windows 10](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/image-8.png?resize=611%2C491&ssl=1)
- Установите Ubuntu через Microsoft Store — Ubuntu без версии # является текущей версией LTS и будет обновляться в будущем. Есть и другие дистрибутивы (Kali, Pegwin, Alpine WSL и т. Д.), Но все они немного отличаются.
![image9 | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/image-9.png?resize=750%2C431&ssl=1)
- Запустите Ubuntu — через меню «Пуск» или из окна PowerShell / Terminal / CLI с помощью команд
WSL
илиUbuntu
. Если у вас установлено более одного Linux, WSL запускает тот, который используется по умолчанию. При первом запуске имейте в виду, что это займет несколько минут, а затем вам будет предложено ввести новые учетные данные Linux. - Запустите SetupUbuntu4Delphi21.sh — я создал сценарий в gist, который выполняет все настройки для Ubuntu, чтобы он был готов к таргетингу из Delphi. Вы можете использовать
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 |
- Установите FMXLinux из GetIt
![image10 | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/image-10.png?resize=750%2C248&ssl=1)
- Запустите сервер
Broadwayd
— у вас уже должен быть запущенpaserver
(его запустил сценарий, приведенный выше), поэтому вам, вероятно, понадобится новое окно терминала Ubuntu, в котором вы можете запуститьBroadwayd
. Мне нравится использовать новый терминал Windows, поскольку он позволяет легко открывать несколько вкладок, а WSL прекрасно интегрируется с ним.
![image11 | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/10/image-11.png?resize=574%2C244&ssl=1)
- Импортируйте Linux SDK в Delphi IDE — Инструменты> Параметры> Развертывание> Диспетчер SDK — IP-адрес для экземпляра PAServer — localhost /
127.0.0.1
, поэтому имейте в виду, что вы разделяете порты между экземпляром WSL и вашей ОС Windows 10.
-
Теперь остается лишь запустить любой проект FireMonky и подключиться к
localhost: 8080
из вашего браузера.Следует иметь в виду, что для каждого клиента на сервере работает один экземпляр приложения, и у каждого из них есть собственный номер порта. Есть способы управлять этим на сервере с небольшими усилиями, но это сообщение в блоге на другой день.
https://embt.co/3oFnZVW
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition