Dmenu tidak memulai beberapa program (misalnya, emacs) - apakah ada file log?

8

Saya menjalankan dwm dengan dmenu di bawah Arch Linux. Ketika dmenu berfungsi, ia tidak memulai beberapa program, misalnya emacs, meskipun ia memperlihatkan perintah dengan pelengkapan otomatis. Ketika saya memulai mereka di terminal, itu berfungsi dengan baik.

Apa yang dapat saya? Apakah ada file log kesalahan untuk dmenu?

Michael
sumber

Jawaban:

9

dmenu tidak memiliki built in logging, tetapi ini adalah program yang sangat sederhana dan tidak sulit untuk membuatnya log output ke file.

Pertama, tentukan di mana pacman telah menempatkan file dmenu pacman -Ql dmenu. Anda harus mendapatkan:

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

Anda kemudian dapat membuka /usr/bin/dmenu_run, yang hanya berupa skrip shell, dan menambahkan peretasan sementara untuk menulis semua output ke file, seperti:

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

Memilih emacsdari dmenu sekarang akan gagal, tetapi Anda akan mendapatkan output di file log Anda:

]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

yang membuat kesalahan cukup jelas saat Anda menghapus semua lolos. Untuk memiliki Emacs kerja, Anda harus menetapkan terminal juga dari dmenu, sesuatu di sepanjang baris dari: urxvt -e emacs yourfile.txt.

Ada utas peretasan dmenu panjang di papan lengkung yang memiliki semua peretasan menarik untuk dmenu, ada baiknya dicoba.

1. Saya tidak menginstal Emacs, tetapi Anda akan mendapatkan kesalahan yang sama ...

jasonwryan
sumber
Terima kasih banyak! Bekerja dengan baik, masalahnya hanya font sistem yang hilang. Saya punya masalah lain, tetapi sangat mirip dengan DWM + urxvt, mungkin Anda tahu bantuan: unix.stackexchange.com/questions/146732/…
Michael