मैं डेमॉन मोड में मैक ओएसएक्स ग्राफिकल एमएसीएस कैसे चला सकता हूं?


24

संक्षिप्त रूप: मैं http://emacsformacosx.com/ पर पाए जाने वाले Emacs के Mac OSX संस्करण को डेमॉन के रूप में चलाना चाहता हूं , जिसमें ग्राफिकल और टेक्स्ट क्लाइंट इसे आवश्यकतानुसार जोड़ते हैं।

विस्तार से, यहाँ मैं चाहता हूँ कार्यप्रवाह है:

  1. लॉगिन पर, /Applications/Emacs.app/Contents/MacOS/Emacs --daemonएक डेमॉन के रूप में emacs शुरू करने के लिए चलाएं । मैं पहले से ही जानता हूं कि यह कैसे करना है

  2. जब एक स्थानीय टर्मिनलों से emacs चल रहा है, मैं या तो इनमें से एक चाहते हैं:

    1. यदि मैं emacsएक स्थानीय कमांड प्रॉम्प्ट से चलाता हूं , तो चयनित फ़ाइल के साथ एक नया फ्रेम खोलें।
    2. यदि # 1 संभव नहीं है, तो कम से कम यदि मैं emacsclientकमांड लाइन से चलता हूं , तो चयनित फ़ाइल के साथ एक नया फ्रेम खोलें।
  3. जब एक दूरस्थ टर्मिनल से emacs चल रहा है, मैं शुरू करने के लिए एक पाठ-मोड emacs चाहूंगा, डेमॉन प्रक्रिया से जुड़ा हुआ है।

  4. अगर मैं Emacs.appइमेक डेमॉन का पुनः उपयोग करता हूं जो एक नया उदाहरण शुरू करने के बजाय पृष्ठभूमि में चल रहा है और उस पर एक नई विंडो खोलें।

अब तक, मैं केवल # 1 और # 2.2 ऊपर पूरा करने में सक्षम हूं, लेकिन वे आसान भाग हैं। # 3 और # 4 ऐसी चीजें हैं जो इस काम को करने के लिए सबसे ज्यादा जरूरी हैं। किसी को भी इन चीजों को पूरा करने के लिए कैसे पता है?


1
यह प्रश्न खोजने वाले अन्य लोगों के लिए: आप सर्वर मोड के बिनाM-x server-start प्रारंभ किए --daemon गए ईमैक्स डालने के लिए भी usr कर सकते हैं । अच्छे प्रश्न हैं, बीटीडब्लू।
dmckee

1
... या (server-start)अपने .emacs में रखें ताकि जब आप emacsa लॉन्च करें तो यह शुरू हो जाए
डग हैरिस

क्या कोई समझा सकता है कि कैसे # 1 करना है? क्या आप इसे केवल एक लॉगिन आइटम बना सकते हैं?
चार्ली फूल

जवाबों:


15
  1. आपने इसे संभाला है
  2. हां, आप इमैसेक्लाइंट का उपयोग करना चाहेंगे। नया फ़्रेम प्राप्त करने के लिए, -c विकल्प जोड़ें। मेरे पास इसे जल्दी बनाने के लिए और यह बताने के लिए कि एमएसीएस सर्वर को वापस आने के लिए इंतजार न करने के लिए एक उपनाम है:

    alias em='emacsclient -n'
    
  3. emacsclient -nw
  4. मैं इसके बारे में आश्वस्त नहीं हूं। मैं एक बार Emacs शुरू करता हूं और हमेशा नई फाइलों को या तो Emacs में लोड करता हूं या अपने emउपनाम का उपयोग करता हूं ।

अद्यतन करें:

की जाँच करें इस टिप का उपयोग कैसे करें दस्तावेजीकरण प्लेटिपस emacsclient के चारों ओर एक एप्लिकेशन आवरण बनाने के लिए। फिर आप अपने नए ऐप आवरण का उपयोग करके लॉन्च करने के लिए "ओपन विथ ..." का उपयोग कर सकते हैं।


हाँ, यह असली चाल है, है ना? क्योंकि जो मैं चाहता हूं वह सभी चल रहे एमएसीएस का उपयोग करने के लिए ओएस ओपन कॉल के लिए है, चाहे मैं एक टर्मिनल या जीयूआई संदर्भ में काम कर रहा हूं। मैं देखता रहूंगा।
क्रिस आर

प्लैटिपस को एक रेफरी मिला और मेरे जवाब को अपडेट किया।
डग हैरिस

6
क्या यह हल है? डेमॉन से जुड़ने के लिए आपको Emacs.app कैसे मिला?
मिल्कपोस्टमैन

मैं प्रश्न 4 का जवाब भी जानना चाहता हूं :)
jkp

2

हाँ, यहाँ एक बहुत व्यापक व्याख्या है कि यह कैसे करना है। मैंने इसे अच्छी तरह से काम करने के लिए कई तरीकों की कोशिश की, लेकिन जो उन्होंने यहां वर्णित किया है, उससे बेहतर कोई नहीं।

https://gist.github.com/304964

चीयर्स!


1
लिंक मर चुका है
निसबा

1

4. इसके लिए इसे अपने .emacs में डालें:

(setq ns-pop-up-frames nil)

Mac .app (प्लैटिपस के साथ) बनाने का समाधान काम नहीं करता है क्योंकि मैक एक ही एप्लिकेशन को दो बार नहीं खोलेगा।


1
यदि आप "ओपन-एन" का उपयोग करते हैं, तो आप एक एप्लिकेशन का नया उदाहरण खोल सकते हैं, भले ही यह पहले से ही चल रहा हो। इस टर्मिनल में कोशिश करें: खुले -n -a Emacs.app somefile.txt
Jörgen Lundberg

हाँ, लेकिन यह एक नई विंडो खोलता है, जो मुझे नहीं चाहिए
जून

शायद मैं गलत समझ रहा हूं कि आप क्या चाहते हैं, लेकिन अगर आप नहीं चाहते कि यह एक नई विंडो बनाए लेकिन एक मौजूदा का उपयोग करें, तो '-n' को छोड़ दें।
जोर्जेन लुंडबर्ग

हां, मैं एक नई विंडो नहीं बनाना चाहता। open -a Emacs.appनिश्चित रूप से मैं क्या करते हैं, लेकिन एक मौजूदा Emacs का एक ही उदाहरण / डेमॉन पृष्ठभूमि में खोलने के लिए, मैं लिखने की जरूरत है (setq ns-pop-up-frames nil)मेरी में .emacsके रूप में मैं अपने जवाब में लिखा था। अन्यथा यह वैसे भी या बिना, एक नई विंडो बनाता है -n
juanmirocks
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.