
WinApps舊電腦部署Windows應用4GB內存2核起步的完整方案【免費下載鏈接】winappsRun Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration. Hard fork of https://github.com/Fmstrat/winapps/項目地址: https://gitcode.com/GitHub_Trending/wina/winapps本文用WinApps在4GB內存、雙核的舊Linux電腦上裝Windows 11虛擬機經FreeRDP把Office接入Linux應用菜單照做即可直接打開Word。WinApps的工作鏈路分三步先在Docker、Podman或libvirt里跑一個Windows 11虛擬機三種后端都走KVM硬件虛擬化再掃描Windows注冊表中的已裝程序在Linux側生成.desktop快捷方式最后用FreeRDP 3把Windows窗口渲染到Linux桌面上。它不支持內核級反作弊如Riot Vanguard且Windows家庭版沒有RDP服務器角色必須使用專業版及以上版本。十分鐘跑通Linux桌面啟動WinApps安裝命令路徑整體分三步宿主機依賴 → Windows容器 → 安裝向導后端以Docker為例。第一步安裝FreeRDP等宿主機依賴WinApps本體是一組bash腳本宿主機需要dialog向導界面、netcat端口探測、libnotify通知和FreeRDP3.xRDP客戶端。Debian/Ubuntu一條命令裝齊并順帶裝好Dockersudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd docker.io docker-compose-v2?? Debian 12bookworm的freerdp3-x11位于backports倉庫需先啟用backports再安裝Fedora/RHEL換成sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncatArch把包名替換為freerdp與openbsd-netcat即可。第二步用compose.yaml啟動Windows 11容器克隆倉庫后直接使用隨倉庫提供的compose.yaml。模板默認是RAM_SIZE: 4G、CPU_CORES: 4、DISK_SIZE: 64G低配機器建議把CPU_CORES改成2再啟動git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps docker compose --file ./compose.yaml up首次啟動會下載Windows 11鏡像并自動執行安裝耗時取決于網速。期間在瀏覽器打開http://127.0.0.1:8006VNC界面僅映射到本機用compose.yaml中USERNAME/PASSWORD的默認賬號MyWindowsUser/MyWindowsPassword完成OOBE。看到桌面后即可CtrlC結束前臺進程——磁盤掛在命名卷data里安裝進度不丟下次使用執行docker compose --file ./compose.yaml start在后臺拉起。日常不想每條命令都加sudo的話執行sudo usermod -aG docker $USER后newgrp docker刷新組權限。第三步winapps.conf與安裝向導創建~/.config/winapps/winapps.confRDP賬號必須與compose.yaml中的USERNAME/PASSWORD一致同時收緊權限防止密碼被其他用戶讀取mkdir -p ~/.config/winapps cat ~/.config/winapps/winapps.conf EOF RDP_USERMyWindowsUser RDP_PASSMyWindowsPassword WAFLAVORdocker RDP_IP127.0.0.1 RDP_PORT3389 RDP_SCALE100 DEBUGtrue EOF chmod 600 ~/.config/winapps/winapps.conf然后在倉庫根目錄運行安裝向導。它會逐項檢查依賴、連通RDP、掃描Windows已裝程序并把選中的應用注冊到Linux應用菜單--user裝在~/.local下bash setup.sh --user在對話框里勾選Word、Excel、PowerPoint、Outlook等應用。完成后從Linux應用菜單即可直接打開宿主機~/目錄會自動掛載為Windows內的\\tsclient\home。如果希望不打開終端也能管理Windows虛擬機和已裝應用可以加裝官方的WinApps-Launcher系統托盤應用WinApps最低配置要求Docker與libvirt后端資源對比三種后端都依賴KVM硬件虛擬化同負載下虛擬化開銷約2%-5%同源QEMUKVM差異在自動化程度與調優空間。先確認CPU帶虛擬化擴展grep -E vmx|svm /proc/cpuinfo輸出非空即可。對比項Docker/Podmandockur/windowslibvirtQEMUKVM安裝流程一條compose up自動下載并裝Windows手動導入ISOvirt-manager里改十余處XMLWindows內存RAM_SIZE推薦4G最低2Gmemory上限4096 MiB 氣球驅動currentMemory給1024 MiBCPUCPU_CORES輕辦公給2vcpu2核建議host-passthrough磁盤DISK_SIZE64G命名卷承載qcow2精簡置備建議60-80G調優空間僅compose.yaml環境變量完整XMLCPU綁核、virtio設備、GPU直通暫停/恢復compose pause/unpausevirsh suspend/resume一句話結論輕辦公、首次使用、4GB舊機器選Docker需要GPU直通、CPU綁核或已有現成Windows虛擬機則選libvirt。libvirt路線的資源配置寫在虛擬機XML里低配機器按下面取值上限4G、當前1G靠virtio氣球驅動把空閑內存還給宿主機currentMemory unitMiB1024/currentMemory memory unitMiB4096/memory vcpu placementstatic2/vcpuCPU頁面勾選Copy host CPU configuration讓客戶機直接拿到宿主機的CPU特性集內存頁面把Maximum allocation設為4096、Current allocation設為1024若個別應用如OneDrive導致氣球驅動追不上、出現隨機重啟可關閉ballooningWindows 11安裝到網絡選擇頁時virtio網卡尚未加載驅動、無法聯網會卡在這一屏按ShiftF10調出命令提示符輸入OOBE\BYPASSNRO回車重啟再選I dont have internet跳過。WinApps關鍵配置4GB內存舊電腦必改的四個參數全部配置里真正決定能不能跑和卡不卡的主要是下面四個參數作用推薦值改了會怎樣RAM_SIZEcompose.yaml分配給Windows虛擬機的內存4G4G宿主機可降到3G需compose down、刪除對應FreeRDP證書再up重建容器磁盤數據保留給太低時Windows靠頁面文件硬撐資源管理器與Word都會掉進交換而卡頓CPU_COREScompose.yaml分配給虛擬機的CPU核數2雙核宿主跑輕辦公足夠KVM開銷約2%-5%降到1核會讓Windows首次安裝與應用啟動明顯變慢AUTOPAUSE/AUTOPAUSE_TIMEwinapps.confRDP斷開N秒后自動暫停Windows虛擬機on/300off時虛擬機常駐4G內存一直被占時間單位為秒最小20RemoteApp會話有固定20秒延遲RDP_FLAGSwinapps.conf追加傳給FreeRDP的參數默認/cert:tofu /sound /microphone home-drive加/network:lan可改善渲染但個別用戶反饋異常去掉home-drive則失去\\tsclient\home共享另外RDP_USER/RDP_PASS必須是完整Windows賬號Windows 11 OOBE里PIN/TPM那種快捷登錄組合無法通過RDP認證請在OOBE階段就創建完整賬號否則向導會在RDP連接測試一步失敗。WinApps常見問題與調優安裝超時、內存吃緊和文件夾共享失效安裝向導報NETWORK CONFIGURATION ERROR退出碼13現象首次運行setup.sh在檢查RDP端口環節失敗退出碼13或14。低配機器上Windows 11首次啟動慢默認的5秒端口探測超時不夠用。排查nc -zv 127.0.0.1 3389看端口最終是否連通docker compose --file ~/.config/winapps/compose.yaml logs確認容器內Windows的啟動進度。解決把winapps.conf里PORT_TIMEOUT從5改為30、RDP_TIMEOUT從30改為60再重新運行bash setup.sh --user。4GB宿主機裝4GB虛擬機導致桌面卡頓現象宿主機總共4G內存虛擬機占走4G后Linux桌面自身被擠壓切換窗口時兩邊都掉幀。排查htop與free -h確認容器進程的內存占用與宿主機剩余可用量。解決兩手一起——把compose.yaml的RAM_SIZE降為3G按上節流程重建容器再讓Windows閑時自動掛起# 立即手動掛起釋放大部分內存unpause 恢復 docker compose --file ~/.config/winapps/compose.yaml pause docker compose --file ~/.config/winapps/compose.yaml unpause配合winapps.conf里的AUTOPAUSEonWindows會在最后一次RDP斷開5分鐘后自動暫停不再空占內存。Windows里看不到共享的主目錄現象\\tsclient\home不可訪問宿主機與Windows之間文件夾共享失效。排查執行lsmod | grep ip_tables與lsmod | grep iptable_nat任一輸出為空說明缺少內核模塊。解決注冊模塊自動加載并重啟一次lsmod | grep -E ip_tables|iptable_nat echo -e ip_tables\niptable_nat | sudo tee /etc/modules-load.d/iptables.conf?? 重啟不可省略否則共享目錄依舊不通。WinApps適用邊界與官方文檔入口WinApps適合4GB內存/雙核Linux主機上偶爾跑幾個Windows應用的輕辦公場景Word、Excel、Outlook單開流暢若要在雙核主機上同時壓Photoshop和瀏覽器卡頓會非常明顯內核級反作弊則完全不在支持范圍。逐步配置詳見Docker指南docs/docker.md與libvirt指南docs/libvirt.md完整參數表、社區驗證應用清單與手動運行方式見README.md。【免費下載鏈接】winappsRun Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration. Hard fork of https://github.com/Fmstrat/winapps/項目地址: https://gitcode.com/GitHub_Trending/wina/winapps創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考