什么是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可执行文件
- 根据需要运行,减少管理
- 内存和驱动器空间是动态共享的
时间线
-
1993年7月 -Microsoft Windows NT引入了对子系统的支持,从而使NT内核能够支持Win32,POSIX,OS / 2等。
-
1999年2月 -POSIX替换为Windows Services for UNIX(SFU)
-
2001年8月 -Windows XP将Windows NT体系结构引入Windows的消费者版本
-
2004年1月 -Windows服务(用于UNIX)的EOL
-
2016年8月-WSL初始发行版(Windows 10周年更新)
- 处理Linux实例生命周期的用户模式会话管理器服务
- 通过转换Linux系统调用来模拟Linux内核的Pico提供程序驱动程序(lxss.sys,lxcore.sys)
- 托管未修改的用户模式Linux(例如/ bin / bash)的Pico进程
- 最初仅包括Ubuntu-后来添加了其他发行版
- 模拟Linux内核
- 自初始发行以来,WSL进行了许多次要的改进和错误修复
-
2019年6月 -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;“
- 在Xfce4中自动启动 PAServer (其他窗口管理器将有所不同!)
- 应用程序->设置->设置管理器->会话和启动->应用程序自动启动->添加
- 命令:exo-open --launch TerminalEmulator / home / delphi / PAServer / paserver -password =
|
请发表评论