Dmenu가 일부 프로그램(예: emacs)을 시작할 수 없습니다. 로그 파일이 있습니까?

Dmenu가 일부 프로그램(예: emacs)을 시작할 수 없습니다. 로그 파일이 있습니까?

저는 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가 설치되어 있지 않지만 동일한 오류가 발생합니다...

관련 정보