(ध्यान दें, इसके विपरीत शीर्षक, यह प्रश्न समान नहीं है कि डेमॉन मोड में कैसे शुरू करें और इंटरेक्टिव संवादों को दबाएं? जैसा कि सबमिटर द्वारा उस प्रश्न का "जवाब" दिया गया था, जो एक विशेष संकेत को प्रकट करने का कारण बन रहा था।)
मैं जानना चाहता हूं कि क्या एक सामान्य तरीका है जो emacs --daemonहमेशा एक मिनीबफ़र में प्रदर्शित एक प्रॉम्प्ट के उत्तर की प्रतीक्षा में लटकाए रखने से है जो अभी तक मौजूद है।
इन संकेतों का उत्तर देने के लिए किसी इमैक्यूलरेंट के साथ कनेक्ट करना असंभव है, क्योंकि सर्वर तब तक शुरू नहीं होता है जब तक एमएसीएस स्टार्टअप अनुक्रम को पूरा नहीं करता है। (इसका मतलब है, अगर आपके पास ALTERNATE_EDITOR खाली स्ट्रिंग पर सेट है, जो ऐसा बनाता है जो emacsclientएक सर्वर को एक नया डेमॉन शुरू नहीं कर सकता है, तो आप कई इमैक डैमों के साथ समाप्त हो सकते हैं जो सभी अटक गए और इंतजार कर रहे हैं।) मुझे killall emacsसमस्या को ठीक करना होगा और ठीक करना होगा। जारी रखने से पहले।
जब मैं इसे पहचानता हूं, तो मैं इसे पहचानने के साथ ही स्टार्टअप पर संकेत देने के लिए प्रत्येक चीज के साथ व्हेक-ए-मोल खेल सकता हूं (यह गैर-डेमॉन मोड में Emacs शुरू करके और यह पूछ रहा है कि क्या है), लेकिन यह एक समाधान नहीं है क्योंकि यह अगले डेमन को रोक नहीं सकता है एक नए कारण के लिए स्टार्टअप पर लटकने से।
एक उदाहरण देने के लिए: सिस्टम रीबूट या एमएसीएस क्रैश के बाद एक सामान्य कारण यह लटका होगा, जब पहली पोस्ट-रिबूट एमैक ने जानना चाहा कि क्या डिफॉल्ट एमएसीएस से लॉकफाइल्स चोरी करना ठीक था। मैं उस प्रॉम्प्ट को बनाने के लिए सलाह देकर उसे ठीक कर सकता था जो हमेशा बिना बातचीत के "हां" का जवाब देता था। लेकिन फिर, पिछले सत्र में सेव की गई फाइलों में से एक ट्रेंप फाइल थी जिसमें एक sudo या SSH पासवर्ड की आवश्यकता होती थी, इसलिए डेमन के पासवर्ड प्रॉम्प्ट पर प्रतीक्षा की जा रही थी। तो मैं ठीक करता हूं कि आपत्तिजनक फाइलों को हटाने के लिए सत्र फ़ाइल ( viया emacs -q!) को मैन्युअल रूप से संपादित करके - लेकिन यह अगली बार ऐसा होने से नहीं रखता है।
इसलिए, मैं स्टार्टअप पर अपने सत्र को स्वचालित रूप से लोड करना बंद कर सकता हूं और इसे एक कमांड में बदल सकता हूं, जिसे मुझे अपने पहले इमैकलिएंट से मैन्युअल रूप से निष्पादित करना होगा। लेकिन अगर यह पृष्ठभूमि में मेरे सत्र को लोड नहीं कर रहा है, तो जब तक मैं इसका उपयोग करने के लिए तैयार हो जाता हूं, तब तक डेमन का पूरा उद्देश्य खो जाता है!
तो मुझे क्या पसंद है:
- (सर्वश्रेष्ठ) मिनीबफ़र को स्थगित करने का कोई तरीका तब तक संकेत देता है जब तक कि मैं एक इमोस्क्लिएंट को नहीं खोलता, जबकि अभी भी प्रारंभिक आरम्भ के बाकी को पूरा कर रहा हूँ।
- (ठीक है) किसी भी तरह से सभी मिनीबफ़र प्रॉम्प्ट बनाने के लिए मैंने पहले से ही सलाह नहीं दी है, जैसा कि ऊपर वर्णित है,
noजब तक कि कोई इमैक्शिएंट नहीं चल रहा है। मैं अपने ट्रम्प बफ़र्स के साथ रह सकता हूं ताकि यह ज्यादातर काम करता रहे।
क्या इन लक्ष्यों को प्राप्त करने का कोई तरीका है?
(read-desktop), फिर, चलने से पहले emacs --daemon, पूर्णांक को .emacs.desktop.lock (जहां उस फ़ाइल को रखना है, दुर्भाग्यवश, आपके कॉन्फ़िगरेशन पर निर्भर करता है, द्वारा एक फर्जी लॉक फ़ाइल बनाएं। , लेकिन संभवत: या तो आपका होमेडिर या ~ / .emacs.d / ।