Italian community of Lazarus and Free Pascal

Altro => Pub => Topic aperto da: xinyiman - Marzo 23, 2013, 04:02:25 pm

Titolo: Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 23, 2013, 04:02:25 pm
Ciao ragazzi, su ubuntu come si fa a lanciare in automatico un applicazione come se fosse un processo?! E soprattutto con i privilegi di root?!

Grazie mille
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: bonmario - Marzo 23, 2013, 07:41:55 pm
Ciao,
io uso Ubuntu, ma con Cinnamon al posto di Unity. Se vado nel menù di avvio ed digito la parola "avvio", mi compare "Applicazioni d'avvio". Cliccandoci sopra ti apre l'applicativo che serve per configurare cosa far partire all'avvio del PC. Con Unity dovrebbe essere la stessa cosa.
Io ho creato un mio script che ho reso eseguibile e chiamato "EsecuzioneAutomatica.sh" in cui inserisco il richiamo di tutti i programmi che voglio che partano all'avvio. In questo modo, se devo aggiungere o togliere della roba, mi basta editare il mio script.

Per quanto riguarda invece il fatto di lanciarli con i permessi di root, non i so aiutare.

Ciao, Mario
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 25, 2013, 08:25:42 am
con "in automatico" intendi all'avvio del sistema operativo o al doppio click su un file con una certa estensione?

Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 25, 2013, 08:30:26 am
si all'avvio del sistema operativo
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: Microges2000 - Marzo 25, 2013, 09:45:37 am
Qui' ne stanno discutendo http://www.lazarus.freepascal.org/index.php?topic=17268.0 vedi se ti è di aiuto
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 25, 2013, 06:57:12 pm
su ubuntu e derivate basta che modifichi il file

/etc/rc.local

in modo da far lanciare i comandi che ti servono
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 26, 2013, 12:31:35 pm
su ubuntu e derivate basta che modifichi il file

/etc/rc.local

in modo da far lanciare i comandi che ti servono
Ho provato ma non sembrerebbe funzionare. Sai come posso capire se c'è stato qualche problema nel lanciare il comando?!
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 26, 2013, 06:09:21 pm
intanto puoi redirigere standard output e standard error in un file (es: /home/user/rclocal.log)

puoi fare qualcosa tipo

comando >/home/user/exec.log 2>&1 || echo "errore" >>/home/user/rclocal.log

il comando echo va in esecuzione solo se "comando fallisce"
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 27, 2013, 02:59:16 pm
ok nel file exec.log mi trovo


(WI:1431): Gtk-WARNING **: cannot open display:

però è strano perchè è un applicazione raudus e non dovrebbe far nulla a livello grafico. E' solo una CGI. Idee?
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 27, 2013, 05:18:26 pm
se dai il comando

echo $DISPLAY

che dice?
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 27, 2013, 06:22:35 pm
devo scriverlo al posto di cosa?! O devo aggiungerlo?
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 27, 2013, 07:31:28 pm
è un comando da dare sulla shell
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 27, 2013, 08:41:03 pm
mi dice

!! echo errore
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: Stilgar - Marzo 27, 2013, 08:55:24 pm
export DISPLAY 0:0 se ricordo bene ... ;)
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 27, 2013, 09:24:27 pm
export DISPLAY 0:0 se ricordo bene ... ;)

Scusa non capisco cosa dovrei fare...
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: Stilgar - Marzo 27, 2013, 09:51:43 pm
Stai cercado di usare un XServer? deve sapere a che display o ip mandare le cose ... con DISPLAY 0:0 mandi alla macchian collegata in telnet.

export DISPLAY 0:0

da bash ... o ksh o la schell che stai usando ;)
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 27, 2013, 10:07:50 pm
Stai cercado di usare un XServer? deve sapere a che display o ip mandare le cose ... con DISPLAY 0:0 mandi alla macchian collegata in telnet.

export DISPLAY 0:0

da bash ... o ksh o la schell che stai usando ;)
Stò cercando di avviare una CGI all'avvio della macchina senza bisogno di loggarmi e di lanciare a manina il comando che mi interessa. Hai idee?
Il sistema è XUbuntu
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: Stilgar - Marzo 27, 2013, 10:44:39 pm
no no ... ho smesso di usare droghe ... da giovine ne facevo uso ... ma ora ho smasso ... al massimo mi metto a giochicchiare con msconfig ... ma di UNIX DISLIKE ne ho veramente le shell piene ;)
A parte le battute ... non so.
Linux ho smesso di usarlo dall'uscita di Kylix  1.. troppo lento rispetto a Delphi su Win2k ;)
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 28, 2013, 09:56:52 am
no no ... ho smesso di usare droghe ... da giovine ne facevo uso ... ma ora ho smasso ... al massimo mi metto a giochicchiare con msconfig ... ma di UNIX DISLIKE ne ho veramente le shell piene ;)
A parte le battute ... non so.
Linux ho smesso di usarlo dall'uscita di Kylix  1.. troppo lento rispetto a Delphi su Win2k ;)

non è che hai smesso di usarle, con Win2k sei assuefatto :D
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: Stilgar - Marzo 28, 2013, 10:25:03 am
hahahaha ... guerra ideologica ;) Mi sottraggo alla competizione :p
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 28, 2013, 10:27:36 am
lo vedi che sei assuefatto :D :D :D
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 28, 2013, 10:41:08 am
Stò cercando di avviare una CGI all'avvio della macchina senza bisogno di loggarmi e di lanciare a manina il comando che mi interessa. Hai idee?
Il sistema è XUbuntu

non ho capito, che vuol dire lanciare una CGI senza loggarti?
i programmi cgi sono usati dai web server e comunque non dovrebbero avere a che fare con il display
teoricamente ci dovresti accedere via web server

cmq
prima di lanciare il tuo comando, nello script, metti
DISPLAY=:0.0; export DISPLAY

e speriamo tutto fili liscio ;)
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: xinyiman - Marzo 28, 2013, 09:32:00 pm
Ecco qui il mio file rc.local, continua a non funzionare. Idee?

/WI/WI è ovviamente la mia CGI da eseguire all'avvio del sistema, che non viene lanciata da apache perchè ha un web server integrato ed è realizzato con raudus/lazarus.

Codice: [Seleziona]
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#lancio l'interfaccia web sammarco all'avvio del sistema
export DISPLAY 0:0
echo $DISPLAY

/WI/WI > /WI/exec.log 2>&1 !! echo "errore" >> /WI/rclocal.log

exit 0
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: bonmario - Marzo 29, 2013, 07:58:49 am
Scusa, ma se tu fai uno script con dentro le istruzioni da lanciare e lo lanci col PC già acceso, funziona?
Se sì, e rilanci lo stesso script inserendolo nel file rc.local, funziona ancora?

Ciao, Mario
Titolo: Re:Linux ed esecuzione applicazione all'avvio
Inserito da: nomorelogic - Marzo 29, 2013, 09:46:44 am
prova così

Codice: [Seleziona]
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#lancio l'interfaccia web sammarco all'avvio del sistema
DISPLAY=:0.0; export DISPLAY

date >>/WI/exec.log
echo $DISPLAY >> /WI/exec.log
/WI/WI > /WI/exec.log 2>&1 !! echo "errore" >> /WI/rclocal.log

exit 0



però ancora non mi è chiaro perchè un cgi dovrebbe accedere al display...

potrebbe essere che al lancio scrive qualcosa sullo standard output ma, con la redirezione che abbiamo messo, il tutto dovrebbe finire in un file e il display non dovrebbe essere chiamato in causa.

secondo me è il caso di chiedere al supporto raudus se sanno cosa potrebbe essere.