Dmenu无法启动某些程序(例如emacs)-是否有日志文件?


8

我在Arch Linux下使用dmenu运行dwm。当dmenu工作时,尽管它显示具有自动完成功能的命令,但它不会启动某些程序,例如emacs。当我在终端中启动它们时,它工作正常。

我能做什么?dmenu是否有错误日志文件?

Answers:


9

dmenu没有内置的日志记录,但是它是一个非常简单的程序,将其输出记录到文件中并不难。

首先,使用确定pacman将dmenu文件放置在何处pacman -Ql dmenu。您应该得到:

dmenu /usr/
dmenu /usr/bin/
dmenu /usr/bin/dmenu
dmenu /usr/bin/dmenu_path
dmenu /usr/bin/dmenu_run
...

然后/usr/bin/dmenu_run,您可以打开,它只是一个shell脚本,并添加一个临时hack来将所有输出写入文件,如下所示:

dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} &>/home/michael/dmenu_log

emacs现在,从dmenu中选择将失败,但是您将在日志文件中获得输出:

]P0000000]P85e5e5e]P18a2f58]P9cf4f88]P2287373]PA53a6a6]P3914e89]PBbf85cc]P4395573]PC4779b3]P55e468c]PD7f62b3]P62b7694]PE47959e]P7899ca1]PFc0c0c0[H[JVim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
...and a lot more

当您删除所有转义符时,这使错误非常清楚。有Emacs的工作,你必须一个终端从分配以及dmenu,沿着线的东西:urxvt -e emacs yourfile.txt

Arch板上的dmenu hacking线程很长,其中包含各种有趣的dmenu hacks,非常值得一试。

1.我没有安装Emacs,但是您会得到同样的错误...


非常感谢你!工作正常,问题只是缺少系统字体。我对DWM + urxvt还有另一个但非常相似的问题,也许您知道有帮助:unix.stackexchange.com/questions/146732/…– 2014
迈克尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.