Dmenu không bắt đầu một số chương trình (ví dụ: emacs) - có tệp nhật ký không?


8

Tôi đang chạy dwm với dmenu trong Arch Linux. Trong khi dmenu đang hoạt động, nó không khởi động một số chương trình, ví dụ như emacs, mặc dù nó hiển thị lệnh với tự động hoàn thành. Khi tôi khởi động chúng trong thiết bị đầu cuối, nó hoạt động tốt.

Tôi có thể làm gì? Có một tệp nhật ký lỗi cho dmenu?

Câu trả lời:


9

dmenu không được tích hợp trong ghi nhật ký, nhưng đây là một chương trình rất đơn giản và không khó để đăng nhập nó vào một tệp.

Đầu tiên, xác định nơi pacman đã đặt các tệp dmenu với pacman -Ql dmenu. Bạn sẽ nhận được:

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

Sau đó /usr/bin/dmenu_run, bạn có thể mở , đây chỉ là một tập lệnh shell và thêm một bản hack tạm thời để ghi tất cả đầu ra vào một tệp, như vậy:

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

Chọn emacstừ dmenu bây giờ sẽ thất bại, nhưng bạn sẽ nhận được đầu ra trong tệp nhật ký của mình:

]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

Điều này làm cho lỗi khá rõ ràng khi bạn loại bỏ tất cả các thoát. Để Emacs hoạt động, bạn cũng phải chỉ định một thiết bị đầu cuối dmenu, một cái gì đó dọc theo dòng : urxvt -e emacs yourfile.txt.

Có một chuỗi hack dmenu dài trên bảng Arch có tất cả các cách hack thú vị cho dmenu, nó cũng đáng để kiểm tra.

1. Tôi chưa cài đặt Emacs, nhưng bạn sẽ gặp lỗi tương tự ...


Cảm ơn rât nhiều! Hoạt động tốt, vấn đề chỉ là một phông chữ hệ thống bị thiếu. Tôi có một vấn đề khác, nhưng rất giống với DWM + urxvt, có thể bạn biết trợ giúp: unix.stackexchange.com/questions/146732/ phỏng
Michael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.