Pagina 1 di 1
Dropbox startup
Inviato: ven 27 mar 2009, 11:24
da Dorian
Hjello.
Ho da poco scoperto Dropbox, e cercando in giro ho trovato nella loro wiki una piccola guidina interessante per installarlo "testualmente" (l'alternativa richiede nautilus e balle varie che sulla slack ne ho, ne voglio). E funge, sorprendentemente, "out of the box"! Però vorrei farlo partire all'avvio, quindi ho creato il file /etc/rc.d/rc.dropbox (che se ho ben capito una volta che riesco a farlo funzionare dovrò aggiungere in /etc/rc.d/rc.M o rc.local, giusto? Meglio rc.local, forse, visto che tanto viene chiamato da rc.M?). Però pastrocchiando sugli script che sono nella wiki (la pagina in questione è
questa, a proposito) non sono riuscito a combinare granché - ho preso come base quello per la redhat.
Credo che un problema potrebbe essere già quel
# Source function library.
. /etc/rc.d/init.d/functions
in cima al file, ma da li non so come muovermi.
Avete idea di come devo modificare lo script per farlo funzionare sulla slack? Poi boh, magari una volta che si riesce lo si può caricare sulla wiki di dropbox e su quella di slacky.eu, per referenze future!
edit: l'errore:
/etc/rc.d/init.d/functions: line 226: runuser: command not found
che in effetti boh, c'è proprio quel init.d/functions che dicevo...
Re: Dropbox startup
Inviato: ven 27 mar 2009, 19:17
da absinthe
non so se si tratti di funzioni specifiche di redhat: in sostanza all'inizio del codice vengono caricati dei file (b)ash contenenti strumenti ausiliari per far funzionare l'ordigno in questione. la cosa più rapida è capire che pacchetto contiene tali funzioni e provare ad installarle sulla slack. oppure capire di che si tratta e farne il porting (più lungo).
M
Re: Dropbox startup
Inviato: sab 28 mar 2009, 9:52
da danix
cercando su google
"rpm /etc/rc.d/init.d/functions" mi è uscito uno dei repository di pacchetti usati dalle distro RH based... il pacchetto in questione dovrebbe essere
initscripts... prova ad iniziare da li

Re: Dropbox startup
Inviato: sab 28 mar 2009, 12:27
da Dorian
Argh!
E io che speravo fosse un qualcosa di più semplice :P! Alla fine immaginavo si trattasse solo di far partire in automatico un deamon! Ok, ora inizio a vedere cosa posso fare. Mille grazie già da ora!
Re: Dropbox startup
Inviato: sab 28 mar 2009, 12:42
da conraid
/etc/rc.d/init.d/functions c'è anche in Slackware, precisamente è nel pacchetto sysvinit, il problema è runuser che dovrebbe essere un vecchio programma delle coreutils per lanciare programmi da un utente specifico senza password, una specie di su
Re: Dropbox startup
Inviato: sab 28 mar 2009, 13:31
da Dorian
E infatti la prima cosa che ho provato a fare è stata sostituire runuser con su, alla linea di init.d/functions indicatami dall'errore. Non ha funzionato granché però

, ha eliminato l'errore ma il programma non partiva ugualmente.
Ho risolto comunque, in maniera molto grezza. Dopo aver provato a modificare lo scriptino da me, basandomi su quelli presenti in /etc/rc.d, e vedere che si, funzionava, ma non come volevo io (alla fine il processo partiva pure, ma in htop me ne trovato tipo 4 - tutti con pid diverso eh - e non avevo l'icona del programma nella tray, che è quello che mi serve) ho messo un symlink in ~/.kde/Autostart al demone. E va

.
Lo script rimodificato appare così:
Codice: Seleziona tutto
start() {
echo -n $"Starting $prog"
for dbuser in $DROPBOX_USERS; do
/home/$dbuser/.dropbox-dist/dropboxd &
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
(prima la linea fondamentale era: daemon --user $dbuser /home/$dbuser/.dropbox-dist/dropboxd ).
Re: Dropbox startup
Inviato: sab 28 mar 2009, 13:36
da conraid
Dorian ha scritto:E infatti la prima cosa che ho provato a fare è stata sostituire runuser con su, alla linea di init.d/functions indicatami dall'errore. Non ha funzionato granché però

, ha eliminato l'errore ma il programma non partiva ugualmente.
Ho risolto comunque, in maniera molto grezza. Dopo aver provato a modificare lo scriptino da me, basandomi su quelli presenti in /etc/rc.d, e vedere che si, funzionava, ma non come volevo io (alla fine il processo partiva pure, ma in htop me ne trovato tipo 4 - tutti con pid diverso eh - e non avevo l'icona del programma nella tray, che è quello che mi serve) ho messo un symlink in ~/.kde/Autostart al demone. E va

.
Lo script rimodificato appare così:
Codice: Seleziona tutto
start() {
echo -n $"Starting $prog"
for dbuser in $DROPBOX_USERS; do
/home/$dbuser/.dropbox-dist/dropboxd &
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
(prima la linea fondamentale era: daemon --user $dbuser /home/$dbuser/.dropbox-dist/dropboxd ).
Il fatto è che quelli script che hai linkato sono pensati per distribuzioni che hanno comandi per "demonizzare" un programma (pedonatemi l'espressione).
In Slackware questo non c'è, ed avvii programmi che si possono demonizzare da soli.
Ma a cosa serve quel programma?
Re: Dropbox startup
Inviato: sab 28 mar 2009, 14:39
da Dorian
Dropbox è una sorta di hard disk virtuale con minime capacità di versioning. È una manna dal cielo per mantenere aggiornati i vari file di configurazione =)
Comunque, il fatto è che il programma non è avviabile sotto forma di deamon? Ma quando l'attivavo da shell così
l'utilizzo dell'& (e la d finale al nome del programma) non indicano un demone? Quindi non dovrei demonizzare un programma, ma semplicemente avviare un demone no? Boh. Ora che ci penso però il symlink che ho creaato per farlo partire all'avvio di kde non ha, ovviamente, l'& finale...
Re: Dropbox startup
Inviato: sab 28 mar 2009, 14:49
da conraid
Dorian ha scritto:
l'utilizzo dell'& (e la d finale al nome del programma) non indicano un demone?
no, semplicemente mette un comando in background e ti restituisce la shell
ma mi sembra un demone a prescindere
forse il problema è che devi trovare un modo per avviarlo per ogni utente da quel che ho visto, la strade imho è su, e se ne parte uno per utente, sicuro che nelle altre distribuzioni non succeda lo stesso?
Re: Dropbox startup
Inviato: sab 28 mar 2009, 15:05
da Dorian
Si, mi pare sia quello che facciano tutti gli script, sia quello redhat, sia quello debian, sia quello gentoo. Quindi l'idea è modificare quella linea con un
? Oppure, per usare la "variabilizzazione" presente nello script,
Codice: Seleziona tutto
DROPBOX_USERS="dorian"
prog=dropboxd
lockfile=${LOCKFILE-/var/lock/dropbox}
RETVAL=0
start() {
echo -n $"Starting $prog"
for dbuser in $DROPBOX_USERS; do
su $dbuser -c "/home/$dbuser/.dropbox-dist/dropboxd &"
done
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
E poi non mi è chiaro come possa funzionare questa cosa, perché se lo metto in rc.M/rc.local, non parte *prima* che mi si avvii x? e dove va a finire allora? Anche se alla fine questo è un dubbio minore, wicd fa la stessa cosa e alla fine me lo ritrovo ugualmente ^^
Re: Dropbox startup
Inviato: sab 28 mar 2009, 15:18
da Dorian
Mmh, funziona, in top vedo che è un processo del mio utente, ma in kde non appare l'icona in tray -> completamente inutile che il programma sia partito, non so nemmeno se effettua la sincronizzazione della directory così...
se però da konsole lancio a mano lo script funge tutto...
Re: Dropbox startup
Inviato: sab 28 mar 2009, 15:21
da conraid
Io non so cosa faccia quel software, ma solo da X funziona? Magari puoi usarlo anche senza interfaccia grafica
Comunque se ti serve solamente per il tuo utente secondo me puoi semplicemente avviarlo mettendo il comando, che metteresti da linea di comando, in ~/.bash_profile (attento che non sia in .bashrc o che questo integri l'altro, altrimenti lo ricarichi ad ogni invocazione della shell)
Se poi lo vuoi dopo KDE (ed usi solamente kde) allora lascialo in Autostart, o magari fatti un ~/.xinitrc apposito
Re: Dropbox startup
Inviato: sab 28 mar 2009, 15:30
da Dorian
Il programma è l'unico modo per sincronizzare la directory "dropbox" che hai in locale con quella virtuale. Altrimenti puoi usare l'interfaccia web ma va be', è antipigro.
Il programma non funge da X, che immagino sia il motivo per il quale non parte all'avvio ma parte quando faccio andare lo script da kde. Ma per wicd non è la stessa cosa? Nel senso, wicd-client viene avviato da rc.wicd no? Eppure wicd-client non credo fuga da X...
Si comunque, se non trovo un modo per questo script posso continuare ad usare la directory Autostart finché uso kde poi quando mi stancherò potrò usare le funzionalità di avvio automatico di qualsiasi de/wm decida di usare

Re: Dropbox startup
Inviato: sab 28 mar 2009, 15:38
da conraid
Dorian ha scritto: Nel senso, wicd-client viene avviato da rc.wicd no?
no, viene avviato (se non ricordo male ora non ce l'ho installato) da vari file .desktop messi in /etc/xdg/autostart e /usr/share/autostart, così che funzioni sia da kde sia dagli ambiati che usano le xdg dir
In pratica parte wicd-client per ogni utente che avvia X.
E' un po' la stessa cosa che hai fatto tu, ma più generica
Re: Dropbox startup
Inviato: sab 28 mar 2009, 16:05
da Dorian
che sia un file.Desktop o un symlink è indifferente?
edit: mi rispondo da solo: mi sa di no. ai fini pratici forse, ma a quanto vedo un file .desktop ha molte più informazioni sul programma. Quindi mi sa che ne prendo uno (wicd, uno a caso

) e lo modifico a mio piacimento.