You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HiDPI环境下Guix安装的Emacs在i3(Xorg)中光标过小如何解决

问题根因

这是Guix包隔离机制导致的X11光标配置读取异常,和Emacs版本本身无关:

  • Guix安装的所有软件运行时仅加载Guix存储路径下的依赖库与资源,不会自动读取Arch系统全局配置。X11环境下光标尺寸、主题由libXcursor负责加载,Guix版Emacs链接的是Guix源自带的libXcursor,默认找不到你在i3/Xorg里设置的HiDPI光标尺寸参数,就会回退到极小的默认光标尺寸。
  • Wayland(Sway)环境下光标由合成器统一渲染,不需要客户端程序自行加载光标资源,因此不会触发该问题。
  • pacman安装的系统版Emacs直接链接Arch系统的libXcursor,可以正常读取全局X11配置,所以运行无异常。
快速验证

启动Guix版Emacs前手动指定Xcursor尺寸参数,测试光标是否恢复正常:

XCURSOR_SIZE=48 guix run emacs

2倍缩放的HiDPI屏幕XCURSOR_SIZE设为48即可,普通1倍缩放屏幕设为24。如果执行命令启动后光标尺寸正常,即可确认是上述原因导致。

永久修复方案

任选一种即可生效:

  • 方案1:启动时注入环境变量
    如果你通过i3快捷键、.desktop文件启动Guix版Emacs,直接在启动命令前加上对应尺寸的XCURSOR_SIZE参数即可。i3配置示例:

    # 替换为你自己的Guix Emacs实际路径
    bindsym $mod+e exec --no-startup-id XCURSOR_SIZE=48 ~/.guix-profile/bin/emacs
    

    如果要让所有Guix安装的X11程序都正常读取光标配置,直接把export XCURSOR_SIZE=48写入~/.profile全局生效即可。

  • 方案2:软链接系统光标配置到Guix资源路径
    执行以下命令让Guix的libXcursor能直接读取系统的光标主题、尺寸配置,不需要额外设置环境变量,所有Guix下的X11程序都能受益:

    mkdir -p ~/.guix-profile/share/icons
    ln -sf /usr/share/icons/default ~/.guix-profile/share/icons/default
    
  • 方案3:启用Emacs的PGTK后端
    如果你安装的Guix版Emacs编译时开启了PGTK(Pure GTK)支持,可以启动时加参数让它走Wayland渲染逻辑,绕开X11的光标加载问题:

    ~/.guix-profile/bin/emacs --with-pgtk
    

    注意该方案需要Xorg环境下开启XWayland支持,否则无法正常启动。

内容的提问来源于stack exchange,提问作者user17309340

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:39:17