麒麟OS还原直角边框需先确认桌面环境(UKUI用mutter,KDE用KWin),再分别修改对应窗口装饰CSS或KWin主题配置,并清除缓存;全局补丁仅对Qt应用有效,GTK应用须逐层适配。

麒麟OS 默认窗口边框带圆角,这是 UKUI 或 KDE(KWin)主题的视觉设计选择;想还原经典直角边框,不能只改“圆角数值”,得从窗口装饰引擎和主题渲染逻辑两层入手——否则改了也白改,或导致边框消失、拖拽异常。
确认当前桌面环境与窗口管理器
不同麒麟OS版本底层差异大:UKUI 通常用 mutter,Kiran 或部分定制版用 KWin;圆角控制点完全不同。不先确认,后续所有修改都可能作用于错误模块。
- 终端执行:
echo $XDG_CURRENT_DESKTOP,输出含UKUI则走 mutter 路径,含KDE或PLASMA则走 KWin 路径 - 再查窗口管理器:
ps aux | grep -E "(mutter|kwin|ukwm)",看哪个进程在前台运行 - 常见坑:装了 KDE 应用但桌面仍是 UKUI,误改
kwinrc完全无效
UKUI 环境下禁用窗口圆角(mutter)
UKUI 的圆角由 mutter 的 CSS 渲染层控制,不是简单调个参数就能关掉;必须替换或重写窗口装饰的 CSS 片段,否则即使设了 border-radius: 0,主题引擎仍会强制注入圆角值。
- 找到当前启用的窗口主题路径:
gsettings get org.ukui.interface gtk-theme,假设返回"ukui-dark" - 编辑对应 CSS 文件:
sudo nano /usr/share/themes/ukui-dark/gtk-3.0/apps/ukui-window-decorations.css - 搜索
border-radius,将类似border-radius: 8px;的所有行改为border-radius: 0; - 关键一步:清空 GTK 缓存,否则不生效:
rm -rf ~/.cache/gtk-3.0,然后注销重登录
KWin 环境下关闭圆角(需配合主题+配置)
KWin 本身不直接渲染圆角,而是由窗口装饰插件(如 kwin-decoration-ukui 或 Breeze)决定;单独改 kwinrc 中的 BorderlessMaximizedWindows 对圆角无效。
- 先停用圆角装饰插件:
qdbus org.kde.KWin /KWin org.kde.KWin.setActiveWindowDecoration "org.kde.breeze"(Breeze 默认无圆角) - 再检查
~/.config/kwinrc中是否含干扰项:[Windows]段下确保没有RoundedCorners=true或类似自定义键 - 若用的是麒麟定制装饰器(如
ukui-kwin-decoration),需替换其 SVG 资源中的rx/ry值为0,路径通常在/usr/share/kwin/decorations/ukui/contents/svg/
全局禁用圆角的兜底方案(适用于所有环境)
如果上述方法仍残留像素级圆角(尤其高分屏上明显),说明底层合成器或 Qt 样式表仍在注入圆角;此时只能用 CSS 强覆盖方式,绕过主题层直接干预渲染。
- 创建用户级 Qt 样式表:
mkdir -p ~/.config/qt5ct/style,新建~/.config/qt5ct/style/no-round.css - 写入:
QMenuBar, QToolBar, QWidget { border-radius: 0; }(注意这只是辅助,主窗口边框仍需前述步骤) - 设置环境变量强制加载:
echo 'export QT_QPA_PLATFORMTHEME="qt5ct"' | tee -a ~/.profile,然后source ~/.profile - 重要提醒:此法对 GTK 应用无效,仅影响 Qt 程序;而麒麟OS多数系统组件是 GTK 的,所以它只是补丁,不是解药
真正干净的直角边框,得窗口装饰器、CSS 主题、合成器三者同步归零;漏掉任意一层,就可能在最大化时恢复圆角、在 Alt+Tab 预览里又变圆——这种细节没人告诉你,但你一截图放大就露馅。

















