×

麒麟(Kylin)系统真能exe自由吗?

独孤求败 独孤求败 发表于2026-03-25 10:27:15 浏览43 评论0

抢沙发发表评论

经过多天的测试,终于安装并运行,特感谢藏钥阁公众号,想在银河麒麟V11上运行Windows程序,WinApps确实是个不错的选择,它通过虚拟机管理来运行.exe文件。

测试运行环境:银河麒麟桌面操作系统v10sp1  2503/UKUI
硬件:intel xeon cpuE5-2689@2.6/32G/KST240G
图片

1.安装与配置Docker

银河麒麟软件源通常提供了Docker,安装非常方便:
图片
图片
图片
图片
图片
图片
将当前用户(kylin)添加到 docker 组 
sudo usermod -aG docker $USER
sudo vi /etc/docker/daemon.json
更换内容:
图片
图片
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.baidubce.com",
"https://hub-mirror.c.163.com",
"https://docker.m.daocloud.io",
"https://mirror.aliyuncs.com"
]
}
sudo systemctl daemon-reload
保存一下,重新启动一下Docker服务:
sudo  systemctl  restart docker
图片

二、部署windows容器

1、创建项目目录:mkdir -p ~/.config/winapps(隐藏目录)
图片
2、装备windows iso镜像
docker/windows项目,采用的是windows 10专业版本,在本地新建个目录用来存放下载windows 10系统包。
mkdir -p   yingpan/iso
图片
图片
3、编写Docker  compose文件
在当前目录(~/.config/winapps/)下创建 compose.yaml文件,添加内容如下:
图片
图片
version: '2.4'
volumes:
windows_data:
driver: local
services:
windows:
image: dockurr/windows:latest
container_name: WinApps
privileged: true
environment:

虚拟机硬件配置

RAM_SIZE: "4G"
CPU_CORES: "4"
DISK_SIZE: "50G"

Windows用户与区域配置

USERNAME: "test"
PASSWORD: "123456"
LANGUAGE: "zh-cn"
TIMEZONE: "Asia/Shanghai"
KEYBOARD: "us"

系统选项

TPM: "false"
VIRTIO: "true"
AUTOMATION_LEVEL: "basic"
ports:
- "8006:8006"

noVNC网页控制台端口

- "3389:3389/tcp"

RDP远程桌面端口,WinApps连接用

- "3389:3389/udp"
cap_add:
- NET_ADMIN
- SYS_ADMIN

核心:卷与设备映射

volumes:

1. 系统盘持久化存储 (使用数据卷,便于备份迁移)

- windows_data:/yingpan

2. 【关键】本地ISO安装源挂载- ./yingpan/iso/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso:/boot.iso:ro

3. 【文件共享】宿主机共享文件夹

- ./host_shared:/shared

4. 【自动化脚本】OEM配置文件夹

- ./oem:/oem:ro  devices:   - /dev/kvm

KVM虚拟化设备

- /dev/net/tun

网络隧道设备

stop_grace_period: 120s      restart: unless-stopped

4.启动容器并安装windows 10

在compose.yaml文件所在目录并执行:
图片
图片
如果下载等待时间过长,可以CTRL+C终止,然后在再运行一下。
通过命令查看实时日志,观察启动过程:
docker-compose -f  compose.yaml logs -f
图片
当看到日志输出提示系统正在启动时,打开浏览器,访问 http://localhost:8006。
你将看到Windows安装界面,因为我们在yaml配置文件中设置了Windows用户与区域配置,docker将按照要求自动完成windows的安装。
图片
使用命令激活一下:windows shell 管理员:
irm https://get.activated.win | iex
图片
共享目录测试没问题:
图片

3、关键组件安装与配置

Windows系统安装完成后,保持容器运行。接下来是WinApps正常运行的关键——安装FreeRDP 3.0+

1. 编译安装 FreeRDP 3.0+(WinApps硬性要求)

银河麒麟官方源通常不提供高版本FreeRDP2.0,必须手动编译。
第一步:安装编译依赖
打开终端,执行以下命令安装必备的开发工具和库:
图片

sudo apt install -y git dialog build-essential cmake pkg-config ninja-build

编译 FreeRDP(或其他图形 / 远程桌面类软件)安装底层依赖库的开发包

图片
kylin@kylin-pc:~$ sudo apt install -y \
>   libssl-dev \
>   libx11-dev libxext-dev libxinerama-dev \
>   libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev \
>   libxrandr-dev libxi-dev libxfixes-dev libxtst-dev \
>   libasound2-dev libcups2-dev libpulse-dev \
>   libjpeg-dev libturbojpeg0-dev \
>   libwayland-dev libgbm-dev \
>   libfaad-dev libfaac-dev
编译 FreeRDP(或音视频处理类软件)安装FFmpeg 相关的音视频编解码开发库
图片

sudo apt install -y \

libavcodec-dev \

libavutil-dev \

libavformat-dev \

libswscale-dev \

libswresample-dev

编译 FreeRDP 补充安装外设、系统集成、图形渲染类的依赖开发库
图片
sudo apt install -y \
libusb-1.0-0-dev \
libpam0g-dev \
libxml2-dev \
libcairo2-dev \
liblcms2-dev \
liburiparser-dev \
libsystemd-dev

ICU 和 Kerberos

图片
编译 FreeRDP 安装JSON 数据处理类的依赖开发库
图片
sudo apt install -y \
libjansson-dev \
libjson-c-dev
第二步:从Gitee镜像获取源码并编译
为大幅提升国内下载速度,我们使用Gitee镜像站获取源码:

1. 下载源码包(指定保存名称为 FreeRDP-master.zip)

wget -O FreeRDP-master.zip 

https://gitee.com/mirrors/FreeRDP/repository/archive/master.zip

图片

2. 解压源码包(如果提示 unzip 未安装,先执行 apt install unzip / yum install unzip)

unzip FreeRDP-master.zip
图片

3. 进入解压后的目录

cd FreeRDP-master
图片

4. 创建构建目录并配置编译选项

mkdir -p build && cd build
图片

kylin@kylin-pc:~/FreeRDP-master/build$ cmake .. \

>     -DCMAKE_BUILD_TYPE=Release \
>     -DCMAKE_INSTALL_PREFIX=/usr/local \
>     -DCMAKE_C_FLAGS="-pthread" \
>     -DCMAKE_CXX_FLAGS="-pthread" \
>     -DCMAKE_EXE_LINKER_FLAGS="-pthread" \
>     -DWITH_CLIENT=ON \
>     -DWITH_X11=ON \
>     -DWITH_OPENSSL=ON \
>     -DWITH_JPEG=ON \
>     -DWITH_CUPS=ON \
>     -DWITH_ALSA=ON \
>     -DWITH_PULSE=ON \
>     -DWITH_FFMPEG=ON \
>     -DWITH_ICU=ON \
>     -DWITH_CHANNEL_URBDRC=OFF \
>     -DWITH_PROXY=OFF \
>     -DBUILD_SHARED_LIBS=ON
图片
图片
图片
图片
sudoaptinstall-ylibfuse3-dev fuse3

5. 编译(-j$(nproc) 自动使用所有CPU核心,比固定 -j4 更高效)

make -j4
图片
图片

6. 安装到系统(需要 root 权限)

sudo make install
图片
第三步:更新系统库链接并验证
刷新系统库缓存(否则可能提示找不到 FreeRDP 库)
sudo ldconfig
图片
验证安装是否成功,应显示版本号为3.x.x
图片
通过运行以下命令测试建立 RDP 会话:
xfreerdp /u:"test"/p:"123456"/v:127.0.0.1  /cert:tofu
如果Windows桌面显示在FreeRDP窗口中,则配置成功。
图片
图片

配置WinApps连接

FreeRDP准备好后,我们开始配置WinApps。

第一步:创建WinApps配置文件

在~/.config/winapps/目录下创建winapps.conf文件:
图片

#[WINDOWS 用户名]

RDP_USER="test"

# [WINDOWS 密码]

RDP_PASS="123456"

# [WINDOWS DOMAIN]

# DEFAULT VALUE: '' (BLANK)

RDP_DOMAIN=""

# [WINDOWS IPV4 ADDRESS]

RDP_IP="127.0.0.1"

# [VM虚拟机名称]

# VM_NAME="RDPWindows"

# [WINAPPS BACKEND]

WAFLAVOR="docker"

# [DISPLAY SCALING FACTOR]

RDP_SCALE="100"

# [MOUNTING REMOVABLE PATHS FOR FILES]

REMOVABLE_MEDIA="/run/media"

# [ADDITIONAL FREERDP FLAGS & ARGUMENTS]

RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"

# [DEBUG WINAPPS]

DEBUG="false"

# [AUTOMATICALLY PAUSE WINDOWS]

AUTOPAUSE="off"

# [AUTOMATICALLY PAUSE WINDOWS TIMEOUT]

AUTOPAUSE_TIME="300"

# [FREERDP COMMAND]

FREERDP_COMMAND=""

# PORT CHECK

PORT_TIMEOUT="5"

# RDP CONNECTION TEST

RDP_TIMEOUT="30"

# APPLICATION SCAN

APP_SCAN_TIMEOUT="60"

# WINDOWS BOOT

BOOT_TIMEOUT="120"

# FREERDP RAIL HIDE

FHIDEF="on"

图片

第二步:获取与运行WinApps

克隆WinApps项目(或者直接下载拷贝到winapps目录)



cd ~/.config/winappsgit clone https://github.com/winapps-org/winapps.gitcd winapps
图片
sudovim /etc/systemd/resolved.conf
图片
运行安装脚本,它将自动扫描Windows容器内的程序并集成到开始菜单:
./setup.sh
脚本会通过交互式界面提示
你选择要集成的应用程序,按空格键勾选,回车确认
图片
图片
图片
图片
图片
图片
图片
图片


群贤毕至

访客