惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
L
LangChain Blog
C
Check Point Blog
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
美团技术团队
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog
G
Google Developers Blog
The Cloudflare Blog
P
Proofpoint News Feed

博客园 - z5337

【转】禁用 Chrome 浏览器的自动更新 【转】Avalonia 12 最小信创项目模板 【转】Avalonia 周边介绍 【转】国产操作系统对 Avalonia 的支持情况 【转】国产操作系统优化篇 [openKylin] 入门知识点 【转】p2055dn 打印机配置 IP 地址 【转】Windows 锁屏后屏幕不熄灭排查 【转】既然 java 8 因为组件容易被攻击,.net core 也有大量第三方组件,是不是也容易出问题 【转】最小 web api 学习 【转】使用记事本区分图片格式 【转】蓝牙耳机的播放控制 【转】JoyToKey 键位映射 【转】[C#] 要从接口取时间,单个订单查询和批量查询,写一个接口还是两个接口合适? 【转】[C#] Web API 中的常见层次 【转】[C#] .net core 项目的目标框架设置 【转】[C#] 项目里的配置文件与选项对比 【转】[C#] GlobalUsing 的使用 【转】[.net core] 项目的 Windows 服务器部署 【转】《三字经》全文 【转】[IDEA] 调试时怎么判断使用哪个配置文件 【转】PO、DO、VO、BO、DTO、DAO、POJO 的区别 【转】[web]怎么移除网页最上层的水印 【转】[C#] 30+个.NET开发最佳实践 【转】[C#] WPF 保留选中的高亮色 【转】Windows Server 系统的桌面上显示 此电脑 图标 【转】[C#] 参数前加 in 的作用 【转】[C#] Enum 的 Flags 特性 【转】[C#] Tuples 元组介绍 【转】[C#] Record 的使用 【转】[C#] 预处理指令
【转】国产操作系统优化篇 [openKylin] 第一步 - Qt + VMware
z5337 · 2026-09-04 · via 博客园 - z5337

转自:豆包AI

1. Qt 是什么

Qt 是一套跨平台 C++ 图形界面开发框架,简单说:专门用来做桌面窗口、控件、窗口管理器、文件管理器、控制面板的工具库。

小知识:

  • openKylin 的 UKUI 桌面
  • Deepin(统信上游)DDE 桌面 两个桌面环境全部基于 Qt 开发

几个关键点

  • 语言:主体是 C++,同时支持 QML(类似前端声明式 UI,做动画、高分屏界面)
  • 能力:按钮、窗口、任务栏、文件管理器、设置面板、拖拽、多屏、HiDPI 高分屏全部靠它
  • 跨平台:同一套 Qt 代码,可以编译跑在 Linux、Windows、macOS、嵌入式 Linux、国产 ARM 平台
  • 开源协议:Qt 有两套许可
    1. GPL/LGPL(开源免费,适合 openKylin 这类开源项目,衍生开发要遵守协议)
    2. 商业授权(闭源商用产品需要买)

类比理解: 如果做网页前端用 Vue/React;做 Linux 桌面 GUI,UKUI/DDE 用的就是 Qt

2. openKylin 能不能在 VMware 虚拟机搭建?

可以!openKylin 原生支持 x86_64,VMware Workstation 完全能跑

不仅能跑 openKylin 桌面系统,还可以直接在这台虚拟机里面搭建编译环境、编译 UKUI 组件、制作自定义 ISO,也就是整套二次开发环境都放在 VM 里。

✅ VMware 虚拟机推荐配置(openKylin 开发环境)

  • 系统:openKylin 2.0 / 3.0 x86_64
  • CPU:分配 ≥4 核
  • 内存:至少 8G;做源码编译建议分配 16GB(编译 Qt 桌面组件非常吃内存)
  • 硬盘:≥80GB,推荐 NVMe 虚拟磁盘(编译会产生海量临时文件)
  • 显卡:VMware 兼容显卡,开启 3D 加速(不然 UKUI 桌面卡顿)

备选:KVM(如果你宿主机是 Linux)性能比 VMware 更好;新手直接用 VMware 最简单。

3. 在 VM 里,你可以做哪些 Qt 相关开发(和定制 OS 强相关)

  1. 直接在 openKylin 虚拟机安装 Qt Creator(Qt 官方 IDE),编译 UKUI 各个模块源码
  2. 修改 UKUI 源码(任务栏、文件管理器 Peony、控制中心),编译生成 deb 包
  3. 测试修改后的桌面组件,验证 UI 逻辑
  4. 使用 live-build/debootstrap 打包裁剪后的系统 ISO
  5. 再新开一台 VM,测试你自己编译出来的定制 OS 镜像

4. 注意两个坑(新手高频踩)

  1. VMware 的 openKylin 显卡 / 分辨率问题 装好系统后默认可能分辨率异常、没有显卡加速,需要安装 open-vm-tools(openKylin 软件源直接有),不要用 VMware 自带 vmware-tools。
    sudo apt install open-vm-tools open-vm-tools-desktop
    
  2. 内存分配不足会编译失败 编译 Qt + UKUI 源码,内存不够直接 OOM,虚拟机卡死。

5. 最简入门路线(马上就能上手)

  1. 下载 openKylin x86_64 ISO
  2. VMware 新建虚拟机,分配 4 核 + 16G 内存 + 80G 磁盘,安装 openKylin
  3. 在虚拟机内安装编译依赖:build-essential、qtbase-dev、git
  4. Git 拉取 UKUI 其中一个组件源码(比如 Peony 文件管理器)
  5. AI 辅助:修改源码、编译 deb 包,替换系统原有组件看效果