Làm cách nào tôi có thể chạy ứng dụng Emacs 24.x trên Mac OS X ở chế độ daemon


7

Tôi muốn chạy Emacs.app ở chế độ daemon trên Mac OS X. Tôi có thể chạy emacs ở chế độ daemon qua thiết bị đầu cuối, nhưng các hướng dẫn để chạy ứng dụng theo mẫu máy khách-máy chủ không hoạt động (ví dụ: http: // over âm .github.io / emacs-live / doc-started.html , nhưng /Applications/Emacs.app/Contents/MacOS/bin/emacsclientkhông tồn tại) với các phiên bản mới nhất của Emacs.

Làm cách nào tôi có thể chạy ứng dụng Emacs 24.x trên Mac OS X ở chế độ daemon?

Mục tiêu của tôi là khởi động máy chủ khi khởi động (mà tôi biết cách thực hiện) và khi tôi khởi chạy máy khách, để khởi chạy một khung mới trong phiên bản ứng dụng của Emacs đang chạy.


Tôi đang chạy Emacs.app 24.4 từ emacsformacosx.com và nó có chứa emacsclient. Bạn đang sử dụng bản dựng nào?
Alan Shutko

Tôi đang chạy từ homebrew
pwalsh 13/2/2015

Câu trả lời:


1

Tôi đã sử dụng https://korewanetadesu.com/emacs-on-os-x.html và nó hoạt động tốt, nhưng gần đây tôi đã cài đặt Emacs qua 'brew' và nó hoạt động tốt hơn (ít rắc rối hơn và trải nghiệm daemon tốt hơn) cho phần daemon: http://www.emacswiki.org/emacs/EmacsForMacOS#toc16

Khi bạn cài đặt nó, nó báo rằng tải emacs khi khởi động, thực thi:

$ ln -sfv /usr/local/opt/emacs/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.emacs.plist

Tôi sử dụng phiên bản homebrew quá. Câu trả lời của bạn giúp khởi động ứng dụng ở chế độ daemon, nhưng khi tôi kết nối với máy khách, ví dụ: emacsclient -cnó tạo ra một 'thể hiện' mới của ứng dụng trong dock, thay vì khởi chạy một cửa sổ hoặc khung mới trong ví dụ emacs hiện tại của tôi. Điều đó có phù hợp với hành vi bạn có không?
pwalsh

Tôi không bao giờ sử dụng emacsclient. Tôi khởi động emacstrực tiếp và chạy đủ nhanh cho tôi. Tôi không biết nhiều về điều này, nhưng tôi nghi ngờ rằng hai thao tác mà tôi đã đề cập ở trên tăng tốc độ emacstải. Khi sử dụng các đề xuất "korewanetadesu", tôi thấy rằng khi tôi đang sử dụng emacsserver, điều này đã tạo ra một phiên bản của ứng dụng trong tài liệu, đôi khi nó được sử dụng để treo.
Galder Zamarreño

Điều đó thật tuyệt, nhưng câu hỏi rõ ràng là về việc kết nối với ứng dụng ở chế độ daemon khi khởi chạy ứng dụng khách.
pwalsh

Có một gói trong melpa được gọi là osx-pseudo-daemon có thể đáng xem.
Tim X

@pwalsh Để chạy emacs trong chế độ daemon, launchctrllệnh trên sẽ bắt đầu quá trình emacs cho bạn. Vì vậy, để tạo một khung hình mới, bạn sẽ làm: emacsclient -n -c Biểu tượng emacs sẽ xuất hiện trong dock, nó sẽ ở trong dock cho đến khi quá trình bắt đầu bằng launchctrl (emacs -daemon) thoát hoặc bị giết. Bạn cũng có thể sử dụng emacsclient -ttrong một thiết bị đầu cuối. Cả hai lệnh kết nối với thể hiện emacs daemon nếu thể hiện không chạy, các lệnh sẽ đưa ra một lỗi.
xmonk

1

Tôi cũng gặp phải các vấn đề khi cố chạy Emacs dưới dạng daemon trong OS X, vì vậy tôi đã viết chế độ "giả daemon" để tạo khung GUI ẩn mới khi bạn đóng khung cuối cùng. Kết quả là Emacs chỉ ẩn trong dock bất cứ khi nào nó thường thoát ra, điều này cung cấp một xấp xỉ tốt đáng ngạc nhiên của chế độ daemon trong khi vẫn giữ biểu tượng Dock hoạt động. Bạn có thể lấy nó từ MELPA: https://melpa.org/#/mac-pseudo-daemon

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.