什麼是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 =