
WinApps 图标提取实战三步把 Windows 应用高清图标搬上 Linux 桌面【免费下载链接】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/winappsWinApps 是一个开源项目让你在 LinuxUbuntu/FedoraGNOME/KDE上以原生姿态运行 Microsoft Office、Adobe Creative Cloud 这类 Windows 程序。它的 WinApps 图标提取功能会在安装时自动从虚拟机里的 EXE 文件中提取图标转成清晰的 PNG 交给 Linux 桌面——任务栏和菜单里不再是一片模糊或缺失的占位图而是每个应用真实的徽标。️ 功能速览最终效果长什么样这一节先给结论装完之后你的 Linux 桌面会得到什么。每个 Windows 应用都会以 Linux 原生应用的方式存在——GNOME 任务栏上显示应用真实图标应用菜单里按名称排列点一下就通过 RDP 打开文件管理器Nautilus里也能看到对应程序。效果可以直观参考下图 三步上手先跑起来再看原理这一节解决怎么装。把结果前置你花不到十分钟就能亲眼看到图标出现在桌面克隆仓库git clone https://gitcode.com/GitHub_Trending/wina/winapps准备 Windows 环境一台运行中的 Windows 虚拟机libvirt或容器Docker/Podman在仓库内执行 setup.sh安装器会引导你选择后端libvirt、docker 或 podman、指定虚拟机名称与远程桌面端口生成配置文件供 setup.sh 使用。完成后应用菜单和任务栏里就能找到带图标的 Windows 程序了 原理揭秘图标如何从 EXE 里被抠出来上一节让你先看到了结果这一节回答图标到底从哪来。先了解两个概念每个 Windows 可执行文件EXE内部其实都嵌有应用图标数据就像产品说明书里夹着厂商贴纸base64 则是一种把二进制数据变成纯文本的编码方便在 Windows 和 Linux 两侧之间搬运。提取逻辑集中在 install/ExtractPrograms.ps1 这个 PowerShell 脚本里。它先从四个渠道盘点已安装的应用Windows 注册表App Paths 键、UWP 应用Windows 的现代应用包、Chocolatey 与 Scoop 两个包管理器的 shim 目录。拿到每个应用的 EXE 路径后脚本调用 .NET 的 System.Drawing.Icon.ExtractAssociatedIcon 读出内嵌图标把它绘制到一张位图上、再以 PNG 格式保存——这一步是为了保住色彩深度——随后转成 base64 字符串连同应用名称、EXE 路径一起写入 bash 数组交给 Linux 侧由它生成 .desktop 桌面条目。整个过程对使用者透明扫描、提取、传图、落盘一次 setup.sh 全部完成。 图标落点两类资源存在哪里这一节解决图标文件最终去哪了。落点分两种情况预置 SVG社区验证过的应用如 apps/word/、apps/excel/、apps/photoshop-cc/ 子目录在仓库 apps/ 目录中带有一张高分辨率 SVG 图标例如 apps/word/icon.svg首次扫描时优先生效视觉质量高于多数 EXE 内嵌位图。动态 PNGapps/ 里没有预置的应用则在首次扫描时从 EXE 动态提取并缓存到本地之后重复运行不会反复提取缓存失效时脚本会回退到一张通用的 32×32 PNG 占位图保证菜单里不出现破图。 进阶技巧与避坑这一节把常用技巧集中起来。缓存扫描是幂等的同一批 EXE 重复执行只会重新生成一遍 .desktop 文件不会重复提取图标。失败回退个别 EXE 提取不出图标时32×32 的通用图会顶上不影响其他应用。独立使用这套提取能力并不绑定 RDP 窗口集成——如果自建应用启动器需要图标素材可以参考 ExtractPrograms.ps1 的做法对一批 EXE 做批量提取或 EXE 转 PNG 的格式转换。分辨率提取保留 EXE 内嵌图标的原始尺寸高 DPI 屏下由桌面环境自行缩放想更锐利就优先用 apps/ 下的 SVG。 最后的话一条实用建议日常使用优先依赖 apps/ 目录里的预置 SVG动态提取的 PNG 当作长尾应用的补充两者组合即可覆盖绝大多数常见软件配置细节可延伸阅读仓库内的 docs/libvirt.md 与 docs/docker.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),仅供参考