![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)
A maneira absolutamente mais rápida de iniciar a implantação do Linux a partir do Delphi é usar o Windows Subsystem for Linux (WSL). A partir do Windows 10 Versão 2004 (Build 19041), o WSL2 inclui um kernel Linux completo, portanto, a depuração e tudo funciona conforme o esperado.
- Instale o WSL2 (você pode verificar o número da sua compilação por meio do miniaplicativo de informações do sistema, mas a compilação 19041 já está disponível há algum tempo.)
- Painel de controle
- Programas
- Liga ou desliga características das janelas
- Subsistema Windows para Linux
- Reiniciar
![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)
- Instale o Ubuntu através da Microsoft Store – Ubuntu sem versão # é a versão LTS atual e será atualizado no futuro. Existem outras distribuições (Kali, Pegwin, Alpine WSL, etc.), mas todas são um pouco diferentes.
![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)
- Inicie o Ubuntu – por meio do menu Iniciar ou de uma janela PowerShell / Terminal / CLI com os comandos
WSL
ouUbuntu
. Se você tiver mais de um Linux instalado, o WSL iniciará o padrão. Ao iniciá-lo pela primeira vez, saiba que levará alguns minutos e, em seguida, solicitará novas credenciais do Linux. - Execute SetupUbuntu4Delphi21.sh – Eu fiz um script no gist que faz toda a configuração do Ubuntu para deixá-lo pronto para ser direcionado a partir do Delphi. Você pode usar o
wget
para baixá-lo ou digitar os comandos manualmente. Ele cria um arquivo de script chamado pa21.sh em sua pasta pessoal para iniciar o PAServer rapidamente. Você pode modificá-lo para passar as configurações padrão.
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 |
- Instale FMXLinux do 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)
- Execute o servidor
broadwayd
– você já deve ter opaserver
em execução (o script acima o lançou), então provavelmente você desejará uma nova janela de terminal do Ubuntu onde possa iniciarbroadwayd
. Gosto de usar o novo Terminal do Windows, pois facilita a abertura de várias guias e o WSL se integra perfeitamente a ele.
![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)
- Importe o Linux SDK no Delphi IDE – Ferramentas> Opções> Implementação> SDK Manager – O endereço IP da instância PAServer é localhost /
127.0.0.1
, portanto, lembre-se de que você está compartilhando portas entre a instância WSL e seu host Windows 10 OS.
-
Agora é apenas uma questão de executar quase qualquer projeto FireMonky e conectar-se ao localhost: 8080 do seu navegador.
Uma coisa a se ter em mente é que há uma instância do aplicativo em execução no servidor para cada cliente e cada um tem seu próprio número de porta. Existem maneiras de gerenciar isso no servidor com um pouco de esforço, mas isso é uma postagem de blog para outro dia.
https://embt.co/3oFnZVW
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition