Emacs 24.xアプリをMac OS Xでデーモンモードで実行するには


7

Emacs.appをMac OS Xのデーモンモードで実行したいのですが、ターミナルからemacsをデーモンモードで実行できますが、クライアント/サーバーパターンでアプリを実行する手順が機能しません(例:http:// overtone/Applications/Emacs.app/Contents/MacOS/bin/emacsclient Emacsの最新バージョンでは、.github.io / emacs-live / doc-starting.htmlがまだ存在しません)。

Emacs 24.xアプリをMac OS Xでデーモンモードで実行するにはどうすればよいですか?

私の目標は、起動時にサーバーを起動すること(方法はわかっています)、そしてクライアントを起動するときに、既に実行されているアプリバージョンのEmacsで新しいフレームを起動することです。


emacsformacosx.comからEmacs.app 24.4を実行しています。これにはemacsclientが含まれています。どのビルドを使用していますか?
アランシュトコ2015

私は自作から走っています
pwalsh 2015

回答:


1

私はhttps://korewanetadesu.com/emacs-on-os-x.htmlを使用しましたが、正常に機能しましたが、最近、「brew」を介してEmacsをインストールしました。デーモン部分:http : //www.emacswiki.org/emacs/EmacsForMacOS#toc16

インストールすると、起動時にemacsが読み込まれるようになり、次のコマンドを実行します。

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

私も自作バージョンを使用しています。あなたの答えはデーモンモードでアプリを起動するのに役立ちますが、たとえばクライアントに接続するとemacsclient -c、現在のemacsインスタンスで新しいウィンドウまたはフレームを起動するのではなく、ドックにアプリの新しい「インスタンス」を作成します。それはあなたが持っている行動と一致していますか?
pwalsh 2015

私は使用しませんemacsclient。私はemacs直接起動し、十分に速く実行します。私はこれについてはあまり知りませんが、私が上で述べたこれらの2つの操作はemacsロードを高速化すると思います。「korewanetadesu」の提案を使用しているときにemacsserver、ドキュメントのアプリのインスタンスを作成するを使用していると、ハングアップすることがありました。
GalderZamarreño2015

それは素晴らしいことですが、問題は明らかにクライアントを起動するときにデーモンモードでアプリに接続することです。
pwalsh 2015

melpaにはosx-pseudo-daemonというパッケージがあり、一見の価値があります。
Tim X、

@pwalsh emacsをデーモンモードで実行するには、launchctrl上記のコマンドでemacsプロセスが開始されます。新しいフレームを作成emacsclient -n -c するには、次のようにします。emacsアイコンはドックに表示され、launchctrl(emacs -daemon)によって開始されたプロセスが終了するか、強制終了されるまでドックに残ります。emacsclient -t端末でも使用できます。インスタンスが実行されていない場合、両方のコマンドがemacsデーモンインスタンスに接続し、コマンドはエラーをスローします。
xmonk 2015

1

また、OS XでデーモンとしてEmacsを実行しようとする際に問題が発生したため、最後のフレームを閉じるときに新しい非表示のGUIフレームを作成する「疑似デーモン」モードを作成しました。その結果、Emacsは通常終了するときはいつでもドックに隠れます。これにより、Dockアイコンを機能させたまま、デーモンモードの驚くほど良い近似が提供されます。MELPAから入手できます:https ://melpa.org/#/mac-pseudo-daemon

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.