Gnome 3에서 데몬 모드 사용


답변:


17

Ubuntu를 사용하고 있으므로 데스크톱 파일의 위치가 다를 수 있지만 내용이 비슷해야한다고 생각합니다.

$ cat ~/.local/share/applications/emacsclient.desktop 
#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Name=GNU Emacs 24
GenericName=Text Editor
Comment=View and edit files
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/usr/bin/emacsclient -c -a "" %F
Icon=/usr/share/icons/hicolor/scalable/apps/emacs-snapshot.svg
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;
StartupWMClass=Emacs
Name[en_US]=GNU Emacs 24

중요한 부분은 다음과 같습니다.

Exec=/usr/bin/emacsclient -c -a "" %F

그것을 분명히하기 위해 아마 다음과 같아야합니다 :

Exec=/usr/bin/emacsclient --create-frame --alternate-editor "" %F

emacsclient의 문서에서 이러한 스위치는 다음을 수행합니다.

-c, --create-frame      Create a new frame instead of trying to
                        use the current Emacs frame
-a EDITOR, --alternate-editor=EDITOR
                        Editor to fallback to if the server is not running
                        If EDITOR is the empty string, start Emacs in daemon
                        mode and try connecting again

따라서이 프레임을 사용하여 새 프레임을 -c만든 다음 emacs가 아직 데몬이 아닌 경우로 새 emacs 데몬을 시작합니다 -a "". 마지막으로 %F수정하여 텍스트 파일을 아이콘으로 드래그하면 열립니다.

옆으로 당신은 또한 -F "((fullscreen . maximized))"발사시 프레임을 최대화하도록 포함하는 것을 고려할 수도 있습니다 . 불행히도, 작동하기 위해 어떤 버전의 emacs가 필요한지 기억할 수 없습니다.


1
그렇지 않으면 훌륭하게 작동하지만 항상 새로운 Emacs 창이 열립니다. 다른 실행기 아이콘의 경우 기존 창이 초점이 맞춰집니다. 같은 행동을하는 방법이 있습니까?
akaihola

2

akaihola의 의견을 다루기 위해 dgtized의 답변을 실제로 조정하고 있습니다. 즉 우리가 원하는 것은

  • Emacs의 데몬 기능 사용
  • 기존 프레임을 소환하거나 필요한 경우 만듭니다.

나는 마술처럼 작동 emacs25.desktop하지 않고 파일 을 만드는 것을 발견 emacsclient.desktop했습니다 (솔직히, 나는 이유를 모르겠습니다).

그래서 나는했다 :

cp /usr/share/applications/emacs25.desktop ~/.local/share/applications

(시스템에 따라 다를 수 있습니다 emacs25)

그런 다음 ~/.local/share/applications/emacs25.desktopExec 줄을 다음과 같이 변경했습니다.

Exec=/bin/bash --login -c "emacsclient --alternate-editor= --create-frame %F"

bash 로그인 쉘은 데몬에 전체 로그인 환경이 있는지 확인합니다.

그리고 나는 TryExec선을 제거했다 .

마지막으로 Name런처에서 인식 할 수 있도록 편집 하고 Super를 탭하고 마우스 오른쪽 버튼을 클릭하여 새 항목을 즐겨 찾기에 추가했습니다. 나는 항상 이맥스에게 첫 번째 아이템을 가지고 있으므로 Super + 1이 소환합니다.

Name=GNU Emacs client

그리고 모든 것이 잘되는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.