编辑
2026-07-29
Linux
00

目录

环境
为什么折腾
先确认硬件匹配
编译
问题 1 D-Bus 策略
CLI 测试
问题 2 rog-control-center 缺图标
遇到 的问题
小结

环境

  • 机型
    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。两项均满足。

先确认硬件匹配

bash
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:

bash
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 规则:

bash
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:

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

验证:

bash
busctl list | grep asusd

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

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

bash
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 测试

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

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

bash
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:

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

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

安装 6 个通知图标:

bash
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:

bash
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
分享:

本文作者:Casear

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!