Dmenu ne démarre pas certains programmes (par exemple, emacs) - existe-t-il un fichier journal?

8

J'utilise dwm avec dmenu sous Arch Linux. Pendant que dmenu fonctionne, il ne démarre pas certains programmes, par exemple emacs, bien qu'il affiche la commande avec auto-complétion. Lorsque je les démarre dans le terminal, cela fonctionne bien.

Que puis-je faire? Existe-t-il un fichier journal des erreurs pour dmenu?

Michael
la source

Réponses:

9

dmenu n'a pas de journalisation intégrée, mais c'est un programme très simple et il n'est pas difficile de le consigner, il est sorti dans un fichier.

Tout d'abord, déterminez où pacman a placé les fichiers dmenu pacman -Ql dmenu. Tu devrais obtenir:

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

Vous pouvez ensuite ouvrir /usr/bin/dmenu_run, qui n'est qu'un script shell, et ajouter un hack temporaire pour écrire toutes les sorties dans un fichier, comme ceci:

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

La sélection emacsdans dmenu échouera maintenant, mais vous obtiendrez la sortie dans votre fichier journal:

]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

ce qui rend l'erreur assez claire lorsque vous supprimez tous les échappements. Pour avoir un travail Emacs, vous auriez à assigner un terminal aussi bien de dmenuquelque chose le long des lignes de: urxvt -e emacs yourfile.txt.

Il y a un long fil de piratage dmenu sur les planches Arch qui a toutes sortes de hacks intéressants pour dmenu, cela vaut la peine d'être vérifié.

1. Je n'ai pas Emacs installé, mais vous obtiendrez la même erreur ...

jasonwryan
la source
Merci beaucoup! A bien fonctionné, le problème était simplement une police système manquante. J'ai un autre problème, mais très similaire, avec DWM + urxvt, peut-être connaissez-vous l'aide: unix.stackexchange.com/questions/146732/…
Michael