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

8

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

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

Майкл
источник

Ответы:

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

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, в которой есть много интересных хаков для dmenu, которые стоит проверить.

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

jasonwryan
источник
Большое спасибо! Работало нормально, проблема была просто в системном шрифте. У меня есть другая, но очень похожая проблема с DWM + urxvt, может быть, вы знаете помощь: unix.stackexchange.com/questions/146732/…
Майкл