Mac OSX grafik Emacs'ı daemon modunda nasıl çalıştırabilirim?


24

Kısa form: http://emacsformacosx.com/ adresinde bulunan Emacs'ın Mac OSX versiyonunu bir daemon olarak çalıştırmak istiyorum , grafiksel ve metin istemcileri gerektiği gibi bağlanıyor.

Ayrıntılı olarak, istediğim iş akışı şudur:

  1. Oturum /Applications/Emacs.app/Contents/MacOS/Emacs --daemonaçıldığında, emacs'ı bir daemon olarak başlatmak için çalıştırın. Bunu nasıl yapacağımı zaten biliyorum .

  2. Yerel bir terimden emacs çalıştırırken bunlardan birini istiyorum:

    1. Koşarsam emacsyerel komut isteminden, seçilen dosya ile yeni bir çerçeve açın.
    2. # 1 mümkün değilse, en azından emacsclientkomut satırından kaçarsam, seçili dosyayla yeni bir çerçeve aç.
  3. Uzak bir terminalden emacs çalıştırırken, daemon sürecine bağlı bir metin modu emacs başlatmak istiyorum.

  4. Çalıştırırsam Emacs.app, yeni bir örnek başlatmak yerine arka planda çalışan emacs arka planını yeniden kullanın ve üzerinde yeni bir pencere açın.

Şimdiye kadar, yukarıda yalnızca 1. ve 2. numaralıları başarabilirim, ancak bunlar kolay kısımlardır. # 3 ve # 4 bu işi yapmak için en çok ihtiyaç duyulan şeylerdir. Bunları nasıl başaracağını bilen var mı?


1
Bu soruyu bulan başkaları için: Ayrıca , sunucu moduna girmedenM-x server-start başlatılan emakları yerleştirmek için de kullanabilirsiniz . İyi sorular, BTW. --daemon
dmckee

1
... ya da (server-start).emac'lerinizi koyun , böylece emacsa'yı başlattığınızda başlar
Doug Harris

Birisi nasıl yapıldığını açıklayabilir mi? Sadece bir giriş maddesi yapar mısın?
Charlie Flowers

Yanıtlar:


15
  1. Bunu hallettin
  2. Evet, kesin olarak kullanmak istersiniz. Yeni bir çerçeve elde etmek için -c seçeneğini ekleyin. Daha hızlı hale getirmek ve emacsclient'e emacs sunucusunun geri dönmesini beklememesini söylemek için bir takma ad var:

    alias em='emacsclient -n'
    
  3. emacsclient -nw
  4. Bundan emin değilim. Emacs'ı bir kez başlatıyorum ve her zaman emacs içinde veya emtakma adımı kullanarak yeni dosyalar yüklüyorum .

Güncelleştirme:

Check out bu ipucunu nasıl kullanılacağını belgeleyen Platypus emacsclient etrafında bir uygulama sarmalayıcı oluşturmak için. Daha sonra kullanabilirsiniz "Birlikte Aç ..." kampanyanın yeni uygulama sarmalayıcı kullanarak başlatmak için.


Evet, gerçek numara bu, değil mi? Çünkü istediğim, bir terminalde ya da bir GUI bağlamında çalışıp çalışmama, çalışan emac'leri kullanmak için tüm işletim sistemi açık çağrıları için. Bakmaya devam edeceğim.
Chris R,

Platypus için bir referans buldum ve cevabımı güncelledim.
Doug Harris

6
Bu çözüldü mü? Emacs.app'in servise bağlanmasını nasıl sağladınız?
milkypostman

Ayrıca 4. soruya verilen cevabı da bilmek istiyorum :)
jkp

2

Evet, işte bunun nasıl güzel bir şekilde yapılacağı hakkında oldukça kapsamlı bir açıklama. Güzel çalışmasını sağlamak için birkaç yöntem denedim, ancak burada anlattıklarından daha iyi değil.

https://gist.github.com/304964

Şerefe!


1
Bağlantı öldü
Nisba

1

4. için bunu .emacs'inize koyun:

(setq ns-pop-up-frames nil)

Bir Mac .app (Platypus ile) oluşturma çözümü işe yaramıyor çünkü Mac aynı uygulamayı iki kez açmayacak.


1
Eğer "open -n" kullanırsanız, zaten çalışıyor olsa bile bir uygulamanın yeni bir örneğini açabilirsiniz. Terminalde bunu deneyin: open -n -a Emacs.app somefile.txt
Jörgen Lundberg

Evet, ama istemediğim yeni bir pencere açıyor
juanmirocks,

Belki ne istediğini yanlış anlıyorum, ancak yeni bir pencere oluşturmak istemiyor ancak mevcut olanı kullanmasını istiyorsan, '-n' atla.
Jörgen Lundberg,

Evet, yeni bir pencere oluşturmak istemiyorum. open -a Emacs.appVar, ama, ben yazma gereken varolan emacs'ın aynı örneği / Daemon arka planda açılacak kesinlikle ne (setq ns-pop-up-frames nil)benim, .emacsbenim cevap yazdığı gibi. Aksi halde, olsun ya da olmasın, yeni bir pencere oluşturur -n.
juanmirocks
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.