Dmenu не запускает некоторые программы (например, emacs) – есть ли файл журнала?

Я запускаю dwm с dmenu в Arch Linux. В то время как dmenu работает, он не запускает некоторые программы, например emacs, хотя он показывает команду с автозаполнением. Когда я запускаю их в терминале, он работает нормально.

Что я могу сделать? Есть ли файл журнала ошибок для dmenu?

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 , который является всего лишь сценарием оболочки, и добавить временный взлом для записи всего вывода в файл, например:

 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, стоит проверить.

1. У меня нет Emacs, но вы получите ту же ошибку …