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

XMonad按Mod-p调用dmenu_run出现空菜单问题咨询

XMonad下dmenu_run调用显示空菜单的原因与解决方案

问题原因

  • dmenu_run本地缓存文件损坏:dmenu_run默认会将PATH路径下的可执行文件列表缓存到~/.cache/dmenu_run文件,避免每次调用都扫描PATH目录提升速度,若该缓存文件因磁盘错误、进程异常中断等原因损坏,就会出现加载空列表的情况。
  • dmenu_run启动参数配置错误:如果你在XMonad配置中自定义了Mod-p绑定的dmenu_run参数,比如错误添加了过滤规则、路径限制参数,会导致所有可执行文件被过滤,最终显示空菜单。
  • 发行版dmenu组件缺失:部分发行版会将dmenu_run从dmenu主包中拆分,系统更新时若仅升级主包未同步配套组件,也可能触发扫描逻辑异常。

解决方案

方案1:重建dmenu_run缓存

直接删除损坏的缓存文件,下次调用dmenu_run时会自动重新扫描PATH生成新缓存:
rm ~/.cache/dmenu_run
执行完成后再按Mod-p调用dmenu_run,等待1-2秒即可看到正常的程序列表。

方案2:校验XMonad快捷键绑定配置

打开XMonad配置文件(默认路径为~/.xmonad/xmonad.hs),查找Mod-p对应的绑定配置,默认的正确配置如下:

, ((modMask, xK_p), spawn "dmenu_run")
如果你在dmenu_run后自定义了额外参数,先移除所有自定义参数,按下Mod-q重载XMonad配置后再次测试。

方案3:重装dmenu完整组件

如果上述两个方案均无效,可尝试重新安装dmenu完整软件包:

  • Debian/Ubuntu 系发行版执行:sudo apt install --reinstall suckless-tools
  • Arch 系发行版执行:sudo pacman -S --reinstall dmenu
  • Fedora 系发行版执行:sudo dnf reinstall dmenu
    安装完成后重载XMonad配置即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:24:03