web-dev-qa-db-ja.com

Mac OSXグラフィカルEmacsをデーモンモードで実行するにはどうすればよいですか?

短い形式: http://emacsformacosx.com/ にあるMac OSXバージョンのEmacsをデーモンとして実行し、グラフィカルクライアントとテキストクライアントを必要に応じて実行します。

詳細には、ここに私が望むワークフローがあります:

  1. ログイン時に、/Applications/Emacs.app/Contents/MacOS/Emacs --daemonを実行して、emacsをデーモンとして起動します。 私はすでにこれを行う方法を知っています

  2. ローカルターミナルからemacsを実行する場合、次のいずれかが必要です。

    1. ローカルコマンドプロンプトからemacsを実行する場合は、選択したファイルで新しいフレームを開きます。
    2. #1が不可能な場合、少なくともコマンドラインからemacsclientを実行した場合は、選択したファイルで新しいフレームを開きます。
  3. リモート端末からemacsを実行する場合、デーモンプロセスに接続してテキストモードのemacsを起動したいと思います。

  4. Emacs.appを実行する場合、新しいインスタンスを起動して新しいウィンドウを開く代わりに、バックグラウンドで実行されているemacsデーモンを再利用します。

これまでのところ、上記の#1と#2.2しか達成できませんが、これらは簡単な部分です。 #3と#4は、これを機能させるために最も必要なものです。誰かがこれらのことを達成する方法を知っていますか?

24
Chris R
  1. これを処理しました
  2. はい、emacsclientを使用することをお勧めします。新しいフレームを取得するには、-cオプションを追加します。私はそれをより速くし、emacsclientがemacsサーバーが戻るのを待たないように言うためのエイリアスを持っています:

    alias em='emacsclient -n'
    
  3. emacsclient -nw
  4. これについてはよくわかりません。私はEmacsを一度起動し、常にemacs内またはemエイリアスを使用して新しいファイルをロードします。

更新:

このヒント をチェックして、 Platypus を使用してemacsclientの周りにアプリラッパーを作成する方法を説明します。次に、 "Open With ..."を使用して、新しいアプリラッパーを使用して起動できます。

15
Doug Harris

はい、これはこれをうまく行う方法についてのかなり包括的な説明です。私はそれをうまく機能させるためにいくつかの方法を試しましたが、ここで説明したものよりも優れていません。

https://Gist.github.com/304964

乾杯!

2
Spike

4.の場合、これを.emacsに入れます。

(setq ns-pop-up-frames nil)

Macが同じアプリケーションを2度開かないため、Mac .app(Platypusを使用)を作成するソリューションは機能しません。

1
juanmirocks