Arch Linuxでdmenuを使ってdwmを実行しています。 dmenuが動作している間は、emacsなどの一部のプログラムは起動しませんが、オートコンプリートでコマンドが表示されます。ターミナルで起動すると正常に動作します。
私に何ができる? dmenuのエラーログファイルはありますか?
dmen にはロギングが組み込まれていませんが、非常に単純なプログラムであり、ファイルへの出力をロギングすることは難しくありません。
最初に、pacmanがpacman -Ql dmenu
を使用して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
の行に沿ったものです。
Archボードには長い dmenuハッキングスレッド があり、dmenuのあらゆる種類の興味深いハッキングがあります。チェックする価値があります。
1. Emacsをインストールしていませんが、同じエラーが発生します...