
私はArch Linuxでdwmとdmenuを実行しています。 dmenuが機能すると、オートコンプリート機能を持つコマンドが表示されますが、emacsなどの一部のプログラムは起動しません。端末で実行すると正常に動作します。
どうですか? dmenuにエラーログファイルがありますか?
答え1
メニューロギング機能は組み込まれていませんが、非常に単純なプログラムなので、出力をファイルにロギングするのは難しくありません。
まず、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
dmenuで選択するemacs
と失敗しますが、ログファイルに出力が表示されます。
]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
。
長いdmenuハッカースレッドArchボードには、試してみる価値のある多様でエキサイティングなdmenu技術があります。
1. Emacsはインストールされていませんが、同じエラーが発生します...