Dmenu non avvia alcuni programmi (es. Emacs) - esiste un file di registro?


8

Sto correndo dwm con dmenu sotto Arch Linux. Mentre dmenu funziona, non avvia alcuni programmi, ad esempio emacs, sebbene mostri il comando con il completamento automatico. Quando li avvio nel terminale, funziona bene.

Cosa posso fare? Esiste un file di registro degli errori per dmenu?

Risposte:


9

dmenu non ha il logging incorporato, ma è un programma molto semplice e non è difficile registrarlo come output in un file.

Innanzitutto, determinare dove pacman ha posizionato i file dmenu pacman -Ql dmenu. Dovresti ricevere:

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

È quindi possibile aprire /usr/bin/dmenu_run, che è solo uno script di shell, e aggiungere un hack temporaneo per scrivere tutto l'output in un file, in questo modo:

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

La selezione emacsda dmenu ora fallirà, ma otterrai l'output nel tuo file di registro:

]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

che rende abbastanza chiaro l'errore quando si rimuovono tutte le escape. Per avere il lavoro Emacs, che avrebbe dovuto assegnare un terminale così da dmenu, qualcosa sulla falsariga di: urxvt -e emacs yourfile.txt.

C'è un lungo thread di hacking del dmenu sulle schede Arch che ha tutti i tipi di hack interessanti per il dmenu, vale la pena dare un'occhiata.

1. Non ho Emacs installato, ma otterrai lo stesso errore ...


Grazie mille! Funzionava bene, il problema era solo un font di sistema mancante. Ho un altro problema, ma molto simile con DWM + urxvt, forse conosci aiuto: unix.stackexchange.com/questions/146732/…
Michael,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.