ड्रॉपबॉक्स डेमॉन को पृष्ठभूमि में कैसे चलाएं?


38

मैं डेबियन 6 और ड्रॉपबॉक्स का उपयोग कर रहा हूं। मैंने इसे स्थापित करने के लिए इन आदेशों का पालन ​​किया ।

जब मैं चला ~/.dropbox-dist/dropboxd- ड्रॉपबॉक्स काम करता है और सामान। समस्या यह है कि जब मैं टर्मिनल बंद करता हूं या इससे भी बदतर - रिबूट, ड्रॉपबॉक्स काम करना बंद कर देता है और मुझे उस डेमॉन को फिर से चलाने की आवश्यकता होती है।

मैं कंप्यूटर को पृष्ठभूमि में स्वचालित रूप से कैसे शुरू कर सकता हूं?


क्या आपने उसी वेबसाइट पर नीचे दी गई अजगर लिपि को आजमाया है? यह डेमन को नियंत्रित करने के लिए लक्षित किया गया लगता है। (हालांकि मेरे पास खुद इसे आज़माने के लिए एक डेबियन-आधारित मशीन एटीएम तक पहुंच नहीं है)।
WhyNotHugo

जवाबों:


51

यदि आप अपने स्वयं के खाते से डेमॉन चला रहे हैं, तो इसे क्रोन के साथ बूट समय पर शुरू करें । crontab -eअपनी crontab फ़ाइल को संपादित करने और लाइन जोड़ने के लिए चलाएँ

@reboot ~/.dropbox-dist/dropboxd

जबकि यह काम करेगा, आदर्श रूप /etc/init.d/से कंकाल स्क्रिप्ट का उपयोग करने के लिए सेवा स्क्रिप्ट बनाने के लिए सबसे अच्छा होगा जो भीतर निहित है। फिर आप service dropbox startरिबूट पर क्रोन को जोड़ सकते हैं और अभी भी सेवा को रोकने और इसे पुनरारंभ करने की क्षमता है।
स्पार्टिसिव्स

@sparticvs - अगर आप इसे init.d में डालेंगे तो ड्रॉपबॉक्स रूट के रूप में नहीं चलेगा? ड्रॉपबॉक्स को प्रति उपयोगकर्ता आधार पर चलाने के लिए कॉन्फ़िगर किया जा सकता है। क्या ड्रॉपबॉक्स अलग-अलग ड्रॉपबॉक्स खातों का उपयोग करने वाले उपयोगकर्ताओं के बीच साझा किया जा सकता है?
भगवान लोह।

@LordLoh। अच्छी बात। हालाँकि आप इसे बदल सकते हैं कि आप किसके रूप में चलाना चाहते हैं। मुझे यह संसाधन मिला। नया लगता है।

1
@LordLoh। @sparticvs मुझे लगता है init.dकि जड़ समस्या के रूप में चल रहे समाधान है। मैंने अपना खुद का उत्तर पोस्ट किया, लेकिन pixeldust.wikidot.com/linode-setup%3adropbox पर समाधान अच्छी तरह से काम करता है।
ज़ैक

13

इस तरह से कमांड चलाएं:

($HOME/.dropbox-dist/dropboxd &)&

यह tha वास्तविक टर्मिनल से प्रक्रिया को अलग कर देगा और इसे वास्तविक पृष्ठभूमि में रख देगा।

हालाँकि, रिबूट के बाद भी आपको इसे मैन्युअल रूप से वापस शुरू करना होगा।


11

यहाँ मेरा समाधान है। यह डेबियन 8 पर है।

मानक निर्देशों के अनुसार ड्रॉपबॉक्स स्थापित करें। अब तक, मुझे केवल एक उपयोगकर्ता जुड़ा हुआ है, मुझे नहीं पता कि यह कई उपयोगकर्ताओं के साथ काम करेगा क्योंकि ड्रॉपबॉक्स मशीन को पंजीकृत करने के लिए लगता है न कि लिनक्स उपयोगकर्ता खाते में। यदि आप जानते हैं कि एक सर्वर पर कई उपयोगकर्ता खाते कैसे प्राप्त करते हैं तो हमें बताएं।

https://www.dropbox.com/en_GB/install?os=lnx

फिर अजगर नियंत्रण स्क्रिप्ट निर्देश स्थापित करें, लेकिन इसे / usr / bin में डालें और अपने घर की निर्देशिका बिन पर नहीं।

फ़ाइल /lib/systemd/system/dropbox@.service बनाएँ:

[Unit]
Description=Dropbox as a system service user %i

[Service]
Type=forking
ExecStart=/usr/bin/dropbox start
ExecStop=/usr/bin/dropbox stop
User=%i
Group=%i
# 'LANG' might be unnecessary, since systemd already sets the
# locale for all services according to "/etc/locale.conf".
# Run `systemctl show-environment` to make sure.
Environment=LANG=en_US.utf-8

[Install]
WantedBy=multi-user.target

उपयोगकर्ता के लिए सेवा को सक्षम करें fred:

$ sudo systemctl enable dropbox@fred.service

फिर सेवा शुरू करें:

$ sudo systemctl start dropbox@fred.service

मुझे आपका उत्तर पसंद है, बस कुछ चीजें जो मैं बदलता हूं। मैं After=network.targetनीचे जोड़ूंगा[Unit] और अजगर फाइल को unix.stackexchange.com/questions/8656/… के/usr/local/bin अनुसार डाल दूंगा
meffect

5

तुम भी एक डेमॉन के रूप में चला सकते हैं daemon $HOME/.dropbox-dist/dropboxd

इसका यह फायदा है कि यदि आप अतिरिक्त रूप से -n/--nameध्वज को पास करते हैं , तो आप daemon --[running|restart|stop] -n <name>इस प्रक्रिया को नियंत्रित करने के लिए उपयोग कर सकते हैं ।

daemonस्टार्टअप पर चलाने के लिए डेमोंस का उपयोग शुरू करने के लिए शायद कोई और कैसे सबसे अच्छा कर सकता है ...


3

आप डेबियन और उबंटू init.d स्क्रिप्ट पा सकते हैं , बस /etc/init.d/dropbox पर कॉपी करें और उपयोगकर्ता नाम के साथ अनुकूलित करें।

के साथ डेबियन में सक्षम करें chkconfig --add dropbox। फिर किसी अन्य सेवा के रूप में चलाएं।


3

एक नज़र यहाँ है:

https://community.spiceworks.com/topic/131973-dropbox-headless-workstation?page=1#entry-6076539

एक उपयोगकर्ता का उल्लेख:

बस सोचा था कि मैं उल्लेख करूंगा:

(ए) नवीनतम वितरण इसे काफी सीधा बनाते हैं, बस dropbox startकमांड लाइन से चलते हैं , बीयूटी (बी) आगे और पीछे X11 के साथ लॉग इन करने के लिए देखते हैं।

मैंने विभिन्न मशीनों से जुड़ने के लिए बहुत सारे बैश उपनाम स्थापित किए हैं, और उन सभी में -XX11 पैकेट को अग्रेषित करने का विकल्प शामिल है। इस वजह से, ड्रॉपबॉक्स लॉगआउट पर मेरे पर मर रहा है, यहां तक ​​कि इसके नीचे screenऔर इसके साथ चल रहा है nohup। जाहिरा तौर पर, X11 को अग्रेषित करने से ड्रॉपबॉक्स को दूरस्थ मशीन के बजाय मेरे स्थानीय मशीन पर डब की प्रक्रिया को जोड़ने का कारण बना; इसलिए, जब मैंने कनेक्शन तोड़ दिया, ड्रॉपबॉक्स को समाप्त होने के रूप में डब दिखाई दे रहा था और इस तरह खुद को समाप्त कर रहा था।

सिर्फ FYI करें, क्योंकि इससे मुझे थोड़ा नुकसान हुआ। महत्वपूर्ण यह है कि मैं प्रेस करने के लिए किया गया था Ctrl- C/ लॉग आउट चलाने के बाद भी exit दूरस्थ मशीन पर। जाहिरा तौर पर, SSH सत्र को खुला रख रहा था, भले ही मैंने शेष खुला कनेक्शन होने के कारण बैश को बाहर कर दिया था।

समाधान सरल है, भले ही कोई (किसी कारण के लिए) के साथ ssh-ing रखना चाहता है -X: ड्रॉपबॉक्स लॉन्च करने से पहले आपको उदाहरण के लिए अग्रेषण को "तोड़ना" चाहिए:

$ unset DISPLAY

यदि यह एक बैश स्क्रिप्ट में किया जाता है तो फॉरवर्डिंग स्क्रिप्ट के अंदर "टूटी हुई" है लेकिन एक बार जब इसे निष्पादित किया जाता है तो 'टर्मिनल' अभी भी अग्रेषित कर रहा है।


3

यहां उपस्टार्ट 1.4 और उच्चतर का उपयोग करके लिनक्स वितरण के लिए मेरा समाधान है।

/etc/initउदाहरण के लिए, कॉन्फ़िगरेशन फ़ाइल में नीचे दी गई सामग्री को सहेजें /etc/init/db_user.conf:

# Dropbox upstart script for user db_user, db_user can be replaced by anything you like.

description "Dropbox db_user"
author "myth384"

start on runlevel [2345]
stop on runlevel [!2345]

respawn

setuid db_user
# The next two lines are optional. I use these to be able to share the 
#   Dropbox using Samba. Within group shareusers are all Samba users.
# setgid shareusers
# umask 0002

# The next line is necessary to be able to synchronise files with non-ASCII characters.

env LANG="en_US.UTF-8"     
exec /home/db_user/.dropbox-dist/dropbox

रिबूट किए बिना डेमॉन शुरू करने के लिए:

sudo start db_user

नोट: सेटगिड लाइन को अनइंस्टॉल करने से यह आवश्यक नहीं है कि सेटगिड ध्वज को .dropbox.cacheफ़ोल्डर पर सेट किया जाए जैसा कि इंटरनेट पर अन्य स्रोतों द्वारा इंगित किया गया है।


2

आप उपयोग कर सकते हैं screen:

screen -dmS ~/.dropbox-dist/dropboxd

यह एक डेमॉन के रूप में और अलग मोड में शुरू होगा।

फिर आप यह सेवा के रूप में इस तरह से चला और बाद में एक पंक्ति जोड़ने के लिए अपने स्वयं के init.d स्क्रिप्ट लिखने के लिए होता है #!/bin/bashके लिए chkconfigऔर आवश्यक रन स्तर, जैसे 2, 3, 4, 5 अलग वितरण अलग रन का स्तर इतना है जोड़ने आपको यह जांचना होगा।


1

यहाँinit.d वर्णित करने के लिए इसे जोड़ने का एक अच्छा तरीका है । आपको उन उपयोगकर्ताओं को जोड़ना होगा जिन्हें आप इनबॉक्स स्क्रिप्ट (आसान पर्याप्त) के लिए ड्रॉपबॉक्स शुरू करना चाहते हैं, और जब सिस्टम बूट होता है, तो यह उन प्रत्येक उपयोगकर्ताओं के लिए ड्रॉपबॉक्स डेमॉन शुरू करेगा।

केवल ध्यान देने योग्य बात यह है कि वे निर्दिष्ट करते हैं DAEMON=.dropbox-dist/dropboxजो मुझे लगता है कि गलत है। लेखक उस के dअंत में भूल गया - यह होना चाहिए DAEMON=.dropbox-dist/dropboxd


1

यह सभी लिनक्स डिस्ट्रोस के लिए उपयोगी नहीं हो सकता है, लेकिन एप्लिकेशन / सिस्टम टूल / मेनू से CentOS 7 में, ' स्टार्टअप एप्लिकेशन ' खोलें । इसके बाद Add पर क्लिक करें, और इस कमांड को एंटर करें:

/home/username/.dropbox-dist/dropboxd

या

/home/.dropbox-dist/dropboxd

यहाँ छवि विवरण दर्ज करें


@roaima आपके निर्णय के लिए धन्यवाद। और कौन सा उपाय? मैंने बस उस समाधान को पोस्ट किया जो मेरे लिए काम करता था।
आर्यो Z

0

मैंने अपनी .profile फ़ाइल के अंत में निम्न पंक्तियाँ जोड़ीं। मैं टर्मिनल पर कंप्यूटर बूट करना पसंद करता हूं। हालाँकि, अगर मैं इसके बाद X11 शुरू करता हूं, तो ड्रॉपबॉक्स एप्लेट सिस्टम ट्रे पर प्रदर्शित नहीं होता है।

dropbox running
rv=$?
if [ $rv -eq 0 ]; then
    dropbox start;
fi

मान लें कि आप वास्तव में मतलब है [ $rv -eq 0](और नहीं [ $rv -ne 0 ]) आप सब कुछ सरल कर सकते हैंdropbox running && dropbox start
roaima

0

इस साइट पर लिनक्स पर ड्रॉपबॉक्स को स्थापित करने और कॉन्फ़िगर करने की पूरी जानकारी है, जिसमें सीएलआई को डाउनलोड और इंस्टॉल करना, ड्रॉपबॉक्स के बाहर नरम लिंक बनाना और ड्रॉपबॉक्स को डेमॉन के रूप में चलाना शामिल है। उत्तरार्द्ध एक init.d स्क्रिप्ट प्रदान करता है जो कि और के dropboxdसाथ नियंत्रित किया जा सकेगा ।servicechkconfig

http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-centos-gui-required


0

ड्रॉपबॉक्स द्वारा प्रदान की गई स्क्रिप्ट डाउनलोड करें https://www.dropbox.com/download?dl=packages/dropbox.py और चलाएँ

python dropbox.py start

यदि आपके पास अजगर नहीं है, तो आपको इसे चलाने के लिए अजगर की आवश्यकता होगी


-1

समाधान अन्य अजगर कार्यक्रमों के रूप में है:

shell$ nohup ~/.dropbox-dist/dropboxd & 

-2

मुझे लगता है कि इस कोड के साथ / usr / बिन में एक नई फ़ाइल बनाने का सबसे अच्छा तरीका है:

#!/bin/bash

~/.dropbox-dist/dropboxd

सहेजें और इसे "ड्रॉपबॉक्स" नाम दें। अब आप बैकग्राउंड में कंसोल से चल सकते हैं या अपने मेनू / डेस्कटॉप में शॉर्टकट बना सकते हैं


2
यह गलत है क्योंकि यह सिर्फ अग्रभूमि में चलेगा। आपको dropbox &इसे पृष्ठभूमि में भेजने के लिए अभी भी करना होगा । इसके अतिरिक्त यदि टर्मिनल कनेक्शन समाप्त हो जाता है, तो हैंगअप सिग्नल प्रक्रिया को मार देगा।
स्पार्टिसिव्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.