मैं जल्दी से एक ऐप बना रहा हूं, और मैं एक डेमन जोड़ना चाहता था जो पृष्ठभूमि में चलेगा। आप यह कैसे करते हैं?
मैं जल्दी से एक ऐप बना रहा हूं, और मैं एक डेमन जोड़ना चाहता था जो पृष्ठभूमि में चलेगा। आप यह कैसे करते हैं?
जवाबों:
जहाँ तक मुझे पता है कि दौड़ते हुए डैमन को रोकने या आपकी सहायता करने के लिए जल्दी से कुछ भी विशिष्ट नहीं है, लेकिन कम से कम दो विकल्प हैं जिन्हें मैं जानता / समझता हूं कि आप इसे अजगर के साथ कर सकते हैं:
नोट: मैंने अभी तक यह कोशिश नहीं की :)
अपने डेमॉन स्क्रिप्ट को bin
अपने प्रोजेक्ट की निर्देशिका में डालें , जैसे:bin/yourapp-launcher
data/yourapp-launcher.desktop
फ़ाइल में निम्नलिखित जोड़ें :
[Desktop Entry]
Name=Your App
Exec=/bin/sh -c 'yourapp-launcher'
Type=Application
X-GNOME-Autostart-Delay=30
Icon=yourapp
Comment=
NoDisplay=true
DistUtilsExtra अनुभाग में setup.py
अतिरिक्त रूप से संपादित और निर्दिष्ट करें data_files
:
DistUtilsExtra.auto.setup(
name='hello-ubuntu',
version='0.1',
#license='GPL-3',
#author='Your Name',
#author_email='email@ubuntu.com',
#description='UI for managing â¦',
#long_description='Here a longer description',
#url='https://launchpad.net/hello-ubuntu',
cmdclass={'install': InstallAndUpdateDataDirectory},
data_files=[('/etc/xdg/autostart', ['data/yourapp-launcher.desktop'])]
)
जाने के लिए एक रास्ता लगता है जब डेमन सभी उपयोगकर्ताओं के लिए चलना चाहिए, जैसे कि U1 कैसे काम करता है।
हार्डकोड सब कुछ आपके ऐप लॉजिक में, उदाहरण के लिए ~ / .config / autostart / yurapp-launcher.desktop को पहले रन पर शुरू करें, जैसे GmailNotify ऐप कैसे करता है।
GmailNotify ऐप के विपरीत, आप freedesktop.org मानकों का उपयोग करने के लिए अजगर-एक्सडीजी लाइब्रेरी पर भरोसा कर सकते हैं।
import xdg
print xdg.BaseDirectory.xdg_config_home
उपयोगकर्ता प्रबंधित डेमन के लिए अच्छा लगता है।
मैं जो देख सकता हूं, उसमें कोई डेमन को जल्दी से जोड़ने का कोई खाका नहीं है। हालाँकि, आप डेमन टेम्पलेट बनाकर योगदान कर सकते हैं। अपना खुद का टेम्प्लेट कैसे बनाएं इस प्रश्न के उत्तर में बताया गया है: एक नया त्वरित एप्लिकेशन टेम्प्लेट कैसे बनाएं
लॉन्चपैड में आप सामुदायिक टेम्प्लेट समूह में भी शामिल हो सकते हैं , ताकि दूसरों को उपयोग करने के लिए आपका टेम्पलेट उपलब्ध हो सके।
EDIT: इसमें एकता लेंस टेम्पलेट भी है । यह केवल उबंटू एकता के साथ काम करेगा, इसलिए आप मंच पर निर्भर होंगे (बल्कि महत्वपूर्ण कमजोरी अगर आप मुझसे पूछें)। लेकिन ऐसा लगता है कि डी-बस चीजें शुरू से ही तैयार हैं। एक डेमन की तरह, लेकिन शायद काफी नहीं। आप इसे एक प्रारंभिक स्वतंत्र डेमॉन बनाने के लिए एक प्रारंभिक बिंदु के रूप में उपयोग कर सकते हैं, शायद ...
मुझे कोई भी विवरण नहीं पता है कि मैं दूसरों से क्या लिंक कर सकता हूं, क्षमा करें। बस खुद को यह देखने के लिए कि कैसे जल्दी से Qt4 का उपयोग करें। EDIT2: बस पाया गया कि Qt के लिए D-Bus घटक है, जो आपके डेमन प्लेटफॉर्म को स्वतंत्र करेगा (विंडोज और लिनक्स आदि पर काम कर रहा है)। इस चर्चा मंच ( http://www.qtcentre.org/threads/38453-Send-and-receive-a-signal-between-2-Qt-applications ) का एक उदाहरण है (C ++ में, लेकिन फिर भी) कैसे उपयोग करना है यह। या आप QDBusConnection और QDBusMessage के लिए google कर सकते हैं।
क्विकली डॉक्स के माध्यम से देखने पर ऐसा लगता है कि क्विकली डैमोन बनाने में मूल रूप से समर्थन नहीं करता है। इसलिए मैं पायथन डेमन लाइब्रेरी का सुझाव देता हूं । इसके अलावा, निम्नलिखित पायथन ट्यूटोरियल पर जाएं जो एक त्वरित अनुप्रयोग से आसानी से हस्तक्षेप किया जा सकता है:
इसके अलावा, यह स्टैक ओवरफ्लो प्रश्न पायथन डेमन को संबोधित करता है।
पायथन 3.3 में डेमॉन के प्रबंधन के लिए एक डेमॉन मॉड्यूल होगा।