技术解析

i3wm 中的 dmenu 经常卡死是怎么回事?
0
2021-06-30 15:27:56
idczone

用的是 arch + i3wm,经常按住$mod+d 弹出 dmenu 之后就卡死,只有鼠标能动,但是点什么都没反映,键盘也完全没反映。今天把 dmenu 换成了 rofi,原以为能解决问题,结果也照样卡住,似乎不是 dmenu 的问题,可能是 i3wm 的问题?

出现问题的时候直接按笔记本电源键可以正常关机。但是由于键盘完全没反映,所以无法 dump log 到文件中,暂时也就没找到原因和解决方案,想问一下大家有没有类型的情况,有没有什么办法可以找到原因?


貌似 i3 很小众?全球用户加起来不知有没一万。。。。:D

小众不假,一万倒是有点夸张了,谷歌好歹也是有十几万个结果的,reddit 也有个 i3wm 板块,每天都有人发帖

我这里也是 i3 + rofi,但是完全没有你说的问题,倒是有时候按两下快捷键才显示 rofi 窗口

刚才去官网看了一下,这个也轻量得有点过头了,好原始,跟 X 自带那个窗口管理器差不多。这么精简的软件,按说不至于出现卡死的状况,莫非是 arch 滚动更新的 Mesa 驱动不兼容?

要不在 rofi 按键映射那里末尾加一句 > ~/rofi.log,.xinitrc 里加一句 > ~/i3.log 试试?

很小众么?我经常看 V2EX 讨论 i3wm,而且自己也用了很长时间了,不知道为什么最近会出卡住,至于是 i3 的问题还是 arch 的问题还没有搞清楚,估计得加日志看看。
谢谢,我试着加上 log,看能不能找出原因。

估计是等进程返回的时候假死了
你看文档 有个里面有提示 在 exec 后面加 个参数 具体忘记了

加个 --no-startup-id 试试

谢谢,--no-startup-id 应该是阻止程序启动过程中显示鼠标为等待状态的选项吧,跟这个应该没什么关系。而且我这个 dmenu 是在按$mod+d 的时候就挂掉了,根本没有启动任何用户程序,所以跟 exec 应该也没什么关系。

你看一下 config 如果我没记错 $mod-d 只是绑定到 command 的一个快捷键而已 就是说还是 exec 执行的
反正我在所以 exec 后面都家了这个参数的

谢谢,我原来理解错你的意思了,我加上去了试试看

我用着没问题呀,按$mod+d 之后,输入要打开的应用名称,然后按方向键选择就可以了,这是我的按键绑定配置:bindsym $mod+d exec dmenu_run

我一直用 i3wm 的,没有遇到过这种情况。不过我不喜欢 dmenu,因为 dmenu 没有命令历史记录,而且不方便加参数运行软件。

rofi 大法好

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服