Delphi for Linux支持开发微软 WSL Windows Subsystem for Linux

什么是Windows Linux子系统(WSL)欢迎加入Delphi开发局QQ群:32422310

  • 适用于Linux的Windows子系统(WSL)是一个兼容性层,用于在Windows 10和Windows Server 2019上本地运行Linux二进制可执行文件(ELF格式)
  • 可通过Microsoft Store获得多个发行版(或加载自己的发行版)
  • 主要侧重于命令行界面,通过外部X11服务器对GUI /桌面应用程序的支持有限
  • Microsoft与Linux之间的协作
  • 与传统虚拟机相比,抽象度更低,Windows集成更好
  • 有点像反向WINE(Windows的Linux兼容层)

好处和用例

  • 能够运行未修改的ELF64 Linux二进制文件,扩展工具包和功能
  • 在一台计算机上结合Windows和Linux工具链的灵活性
  • 比传统虚拟机更少的开销意味着更好的性能
  • 具有容器等的本地构建环境
  • 在没有其他基础架构的情况下从Windows测试服务器应用程序
  • 无需搞乱双引导或第三方VM安装
  • 从Windows调用Linux二进制文件并从Linux调用Windows可执行文件
  • 根据需要运行,减少管理
  • 内存和驱动器空间是动态共享的

时间线

  • 19937月 -Microsoft Windows NT引入了对子系统的支持,从而使NT内核能够支持Win32,POSIX,OS / 2等。
  • 19992月 -POSIX替换为Windows Services for UNIX(SFU)  
  • 20018月 -Windows XP将Windows NT体系结构引入Windows的消费者版本
  • 20041月 -Windows服务(用于UNIX)的EOL
  • 20168月-WSL初始发行版(Windows 10周年更新)
    • 处理Linux实例生命周期的用户模式会话管理器服务
    • 通过转换Linux系统调用来模拟Linux内核的Pico提供程序驱动程序(lxss.sys,lxcore.sys)
    • 托管未修改的用户模式Linux(例如/ bin / bash)的Pico进程
    • 最初仅包括Ubuntu-后来添加了其他发行版
    • 模拟Linux内核 
  • 自初始发行以来,WSL进行了许多次要的改进和错误修复
  • 20196月 -WSL2发布到“ Insider Build”(Windows 10内部版本18917)
    • 完整的本机Linux内核-不再需要模拟/仿真/抽象-使用Hyper-V的优化子集
    • 重大性能改进

从Delphi for Linux定位

  • Ubuntu LTS(18.04)是官方推荐的发行版-但应该与其他版本一起使用
  • 安装Delphi需要的开发人员工具
    • sudo apt update#更新软件包列表
    • sudo apt full-upgrade#通过删除/安装/升级软件包来升级系统
    • 须藤apt install libcurl4-gnutls-dev build-essential
    • sudo apt autoremove#清理东西
  • 安装paserver http://docwiki.embarcadero.com/RADStudio/en/Installing_the_Platform_Assistant_on_Linux
    • 光盘〜
    • tar -xf / mnt / c /程序文件(x86)/Embarcadero/Studio/20.0/PAServer/LinuxPAServer20.0.tar.gz
    • mv PAServer-20.0 / PAServer
    • cd PAServer
    • ./paserver
  • 从Windows在Linux上启动PAServer
    • ubuntu运行〜/ PAServer / paserver或wsl〜/ PAServer / paserver

从IDE连接

  • IP地址和端口与主机共享
  • 这样就可以连接到127.0.0.1
  • 请记住,每个端口只能与一个正在运行的实例一起使用(即使您有多个发行版设置)
  • 因此,如果要同时运行它们,请对多个实例使用不同的端口号 

连接配置文件管理器

X Windows Server选项

要部署和调试FMXLinux桌面应用程序,您需要在Windows上设置X Windows Server。

  • 在Microsoft Store中出售
  • 免费和开源
  • 在WSL中安装所需的软件包(包括xfce4桌面环境)
    sudo apt install xorg libgl1-mesa-dev libosmesa-dev libgtk-3-bin xfce4 xfce4-terminal
  • 在Windows上启动X Server
    • 这将以桌面模式(而不是浮动窗口模式)
      启动x410 start / B x410.exe / desktop
  • 启动桌面环境
    ubuntu.exe,运行“ if [-z \“ $(pidof xfce4-session)\”];然后导出DISPLAY = 127.0.0.1:0.0; cd〜; xfce4-session; pkill'(gpg | ssh)-代理人”; fi;”
  • 启动/调试GUI应用 

最高自动化

  • Delphi IDE->工具->配置工具
  • Ubuntu终端 
  • 对于GUI,启动此批处理文件
    • @回声关闭
    • 开始/ B x410.exe / desktop
    • ubuntu.exe运行“ if [-z \” $(pidof xfce4-session)\“];然后导出DISPLAY = 127.0.0.1:0.0; cd〜; xfce4-session; pkill'(gpg | ssh)-agent'; fi;“

从Delphi IDE调用Linux的Windows子系统

  • 在Xfce4中自动启动 PAServer (其他窗口管理器将有所不同!)
    • 应用程序->设置->设置管理器->会话和启动->应用程序自动启动->添加
    • 命令:exo-open --launch TerminalEmulator / home / delphi / PAServer / paserver -password =

 

发布了58 篇原创文章 · 获赞 10 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/xyzhan/article/details/102529355