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

推荐订阅源

GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
Y
Y Combinator Blog
D
DataBreaches.Net
I
InfoQ
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
G
Google Developers Blog
博客园_首页
博客园 - 司徒正美
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
D
Docker
量子位

Casear的技术栈

Dell R730xd iDRAC 无法创建 RAID Ubuntu 26.04 装 NVIDIA 580 内网异机备份 conf 驱动 Razer_GRUB_Theme Fcitx5 输入法配置:切换中文输入法 服务器 zsh 环境配置记录:Zim + p10k + eza + zoxide # ThinkPad T490s Linux 指纹模块启用指南(KDE vanblog使用picgo图床的完整部署教程 vanblog备份恢复评论数据 如何配置一个虚拟显示器,以便远程没有显示器的系统 解决 OpenConnect VPN 由于 JScript 引擎丢失导致的 Error 1 修复 Fuck 2025 ATT&CK红队评估实战靶场二 一言 解决kde环境下切换登陆屏幕(SDDM)后显示异常 rss Linux实用软件分享 Kubuntu 上安装 显卡驱动 和 EnvyControl kubuntu 搜狗输入法安装问题解决 终端工具的选择 chatlog 青龙面板+wxBotWebhook实现自动推送天气 mac 安装 第三方应用问题 zsh 安装与配置,使用 oh-my-zsh 美化终端 pve虚拟机硬盘直通 tldr-pages 安装 pve安装Arch-linux Arch-linux安装桌面环境 提问的艺术极简板 Waline 服务端独立部署解决方案
Ubuntu 26.04 编译 asusctl
casearx@foxmail.com (Casear) · 2026-07-29 · via Casear的技术栈

环境

  • 机型 ROG Strix G733ZM(RTX 3060 Mobile,i9-12900H)
  • 系统 26.04,Wayland
  • 内核:7.0.0-14-generic
  • 桌面 Plasma

为什么折腾

Linux 下需要替代 Armoury Crate 的工具:风扇曲线和 RGB 控制。asusctl 是社区主导的 ASUS Linux 控制工具,主流发行版有包,Ubuntu 标记为 "Officially unsupported"。我是ubuntu 信徒,我拒绝在我想稳定使用的电脑上安装arch

asusctl 仅支持 Wayland。asus-armoury 驱动要求内核 ≥ 6.19。两项均满足。

先确认硬件匹配

cat /sys/class/dmi/id/sys_vendor # ASUSTeK COMPUTER INC. lsusb | grep -i asus # 0b05:19b6 ASUSTek Computer, Inc. N-KEY Device

0b05:19b6 命中 N-KEY 设备列表。asus-armouryasus_nb_wmihid_asus 已加载。

编译

Ubuntu 仓库的 Rust 版本低于项目要求,需 rustup:

sudo apt install -y git cmake clang pkg-config \ libclang-dev libudev-dev libxkbcommon-dev \ libzip-dev libssl-dev libgtk-3-dev \ libpcre2-dev libzstd-dev libexpat1-dev \ build-essential curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" git clone https://github.com/OpenGamingCollective/asusctl.git cd asusctl cargo build --release

安装二进制与 udev 规则:

sudo cp target/release/asusd /usr/bin/ sudo cp target/release/asusctl /usr/bin/ sudo cp data/asusd.rules /lib/udev/rules.d/ sudo udevadm control --reload-rules && sudo udevadm trigger

问题 1 D-Bus 策略

按 README 执行 systemctl enable --now asusd.service:

The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=, Also=, or Alias= settings in the [Install] section, and DefaultInstance= for template units). ... Job for asusd.service failed because the control process exited with error code.

asusd.serviceType=dbus,无 [Install] 段。enable 警告可忽略。

daemon 启动失败。journalctl:

Connection ":1.144" is not allowed to own the service "xyz.ljones.Asusd" due to security policies in the configuration file

daemon 注册 D-Bus 总线名 xyz.ljones.Asusd。Ubuntu 的 dbus-daemon 默认拒绝未知名字的所有权声明。

安装 data/asusd.conf:

sudo cp data/asusd.conf /etc/dbus-1/system.d/ sudo systemctl reset-failed asusd.service sudo systemctl start asusd.service

验证:


输出 xyz.ljones.Asusd 表示 D-Bus 名称注册成功。

asusd.serviceasus-shutdown.service 需手动 copy。Arch 用户的 PKGBUILD 自动处理 systemctl、udev、D-Bus 配置。

sudo cp data/asusd.service /etc/systemd/system/ sudo cp data/asus-shutdown.service /etc/systemd/system/ sudo systemctl daemon-reload

asusd 由 D-Bus 激活,不需 enableasus-shutdown[Install] 段。

CLI 测试

$ asusctl profile list Silent Balanced Performance $ asusctl profile -P Performance $ asusctl led-mode static -c red

风扇曲线配置:/etc/asusd/fan_curves.ron,切到 Custom 即生效。

asusctl fan-mode --fan-diag

输出 CPU、GPU 风扇识别。

CLI 命令

、led-mode、fan-mode、充电阈值、GPU 模式、TDP 限制。

问题 2 rog-control-center 缺图标

rog-control-center 使用 Slint。启动时 panic:

thread 'tokio-rt-worker' panicked at rog-control-center/src/tray.rs:39:29: Missing icon: "/usr/share/icons/hicolor/512x512/apps/asus_notif_red.png"

源码 tray.rs:33:

let mut file = OpenOptions::new() .read(true) .open(&path) .unwrap_or_else(|_| panic!("Missing icon: {:?}", path));

资源路径硬编码,缺失直接 panic!

安装 6 个通知图标:

sudo install -D -m 644 ~/asusctl/data/icons/asus_notif_*.png \ -t /usr/share/icons/hicolor/512x512/apps/

再次启动:

Missing icon: "/usr/share/icons/hicolor/512x512/apps/rog-control-center.png"

rog-control-center.png 不在仓库中,仅有 data/icons/scalable/rog-logo.svg

SVG 转 PNG:

sudo apt install -y librsvg2-bin rsvg-convert -w 512 -h 512 ~/asusctl/data/icons/scalable/rog-logo.svg \ -o /tmp/rog-control-center.png sudo install -m 644 /tmp/rog-control-center.png \ /usr/share/icons/hicolor/512x512/apps/rog-control-center.png

第三次启动成功。

遇到 的问题

  1. D-Bus 所有权:xyz.ljones.Asusd 需在 /etc/dbus-1/system.d/*.conf 显式声明。asusd.conf 为必需文件。
  2. Slint 资源路径硬编码:缺失时 panic!,无 fallback。源码编译需手动 copy 资源。
  3. Type=dbus service:无 [Install] 段,由 D-Bus 激活。enable 警告可忽略。
  4. README 面向 Arch 的 PKGBUILD 自动处理 service、udev、D-Bus 配置。Ubuntu 源码编译需手动补齐。
  5. 崩溃栈作为文档:tray.rs:39 等行号直接定位项目结构和资源约定。

小结

  • Ubuntu 26.04 + asusctl:可用,需源码编译。
  • 手动步骤:asusd.serviceasusd.conf、6 个 asus_notif_*.pngrog-control-center.png