Autore Topic: avvio programma al boot  (Letto 2248 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:avvio programma al boot
« Risposta #15 il: 30 Agosto 2019, 12:01:46 »
ora ti porto un po' in giro, non t'offendere, ma mi sembra la tipica richiesta dei miei colleghi:
"non si puo' fare una applicazione che se io voglio cha faccia la cosa A premo il pulsante rosso e se invece volgio fare B esegua B alla pressione del pulsante rosso?"

Gli amici del forum ti hanno dato indicazioni su:
1) come fare in modo che il sistema operativo, dopo il login (eventualmente automatico) dell'utente, faccia partire un programma
2) come far eseguire al programma delle istruzioni a piacimento.
3) come far chiudere l'applicazione per via programmatica (da codice).

A questo punto, devi essere tu a decidere cosa vuoi far fare al programma e come scrivere il codice.

PS: non ti abbattere, ma la presentazione delle SPECIFICHE di un progetto, e' la parte piu' ostica di OGNI problema di ingegneria :D

COMUNQUE, come suggerito da VUOT, se interpreto bene la richiesta nel tuo primo post, tu vuoi che all'avvio della macchina ti si presenti una schermata con le applicazioni da far partire.
Non e' chiaro se vuoi che queste partano (in sequenza o tutte insieme) AL PROSSIMO AVVIO DELLA MACCHINA, oppure, APPENA PREMI "OK".
Se vuoi che la tua scelta (le tue spunte) sopravvivano al riavvio, devi usare l'oggetto gb.settings, e salvare lo "stato" delle tue spunte, prima di chiudere l'applicazione.
Ovviamente dovrai leggere lo stato precedente dai "settings" (od un default se e' la prima esecuzione), appena lanciato il famoso "Form" di selezione/spunta.
« Ultima modifica: 30 Agosto 2019, 12:06:12 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:avvio programma al boot
« Risposta #16 il: 31 Agosto 2019, 00:10:30 »
Il punto è che non abbiamo capito cosa vuol fare.

le fasi di avvio sono:
1) avvio del bios
2) avvio mbr
3) avvio fstab (montaggio partizioni)
4) avvio distro (login)
5) completamento caricamento distro

dai punti 1 a 4 nessun programma (gambas o similari funzionerà), qui o si interviene con modifiche al bios, alla distro o a fstab
al punto 4 la distro è in fase di avvio ma ancora non ha caricato tutto quello che serve per far girare le applicazioni

lui parla di avvio della distro (benvenuto mint), quella schermata parte dalla distro, è una modifica che hanno fatto i programmatori di mint, non si può fare con gambas.
Per far funzionare gambas o qualsiasi programma fatto con codice evoluto, la distro deve aver caricato tutte le routine ecc, cioè deve aver finito la fase di avvio, altrimenti gambas non parte.

in tutte le distro linux si possono impostare in avvio automatico delle applicazioni da far partire subito, ma nessuna di queste applicazioni partira se prima la distro non ha caricato librerie ecc di cui quella applicazione ha bisogno.

poi parla di opzioni, ma queste opzioni cosa devono fare?
devono far partire altri eseguibili (ritorniamo al punto di sopra che la distro deve aver finito il caricamento),
oppure devono settare delle opzioni alla distro? (cioè far o non  far caricare qualcosa), in questo caso non si può fare da gambas ma bisognerebbe prendere i sorgenti della distro e modificarli.
se invece lui deve avviare dei programmi o altra roba, i suggerimenti sono stati dati.

se vuoi risposte più precise facci capire su quale punto (da 1 a 5) vuoi intervenire e cosa vuoi fare

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:avvio programma al boot
« Risposta #17 il: 31 Agosto 2019, 10:14:59 »
Citazione
Il punto è che non abbiamo capito cosa vuol fare.
ma è chiarissimo!
Citazione
Come si fa un programmino che parta all' inizio dell' avvio di linux
Proprio quando sta per partire (linux), al primo rombo, esce una finestra dove decidi (intanto linux sta fermo) se avviare un programma o invece dirgli (sempre a linux) di andare avanti o fermarsi o chiamare la fidanzata.
Chiaro no?
Come facciamo a non capire!!! :-\
 :P
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:avvio programma al boot
« Risposta #18 il: 01 Settembre 2019, 14:50:49 »
Kicco   ;D

in pratica smanettando si può fare tutto, ma non con poche righe di codice oppure con un po di pappa pronta.

si può modificare grub, aggiungendo più voci
si può creare uno script da far partire in fase di avvio nel quale selezioniamo cosa far avviare e cosa no
Oppure (la cosa più funzionale), prender ei sorgenti di una distro, modificarli ed inserire opzioni di scelta (con i numeri telefonici da chiamare)
con ubuntu 10 avevo fatto una cosa del genere, modificato il codice della distro, compilato ed installato come ubuntu2 (una distro molto leggera, velocissima ed essenziale con servizi minimi e kernel stabile)
Poi avevo installato anche ubuntu 10 gia compilato.
Nel grub avevo creato 2 voci e in fase di avvio decidevo quale far partire

se l'amico ci dice cosa gli serve gli 'preparate' la distro e tutto il resto  :coder:



Offline ivanpro

  • Gamberetto
  • *
  • Post: 14
  • Umuntu ngumuntu ngabantu
    • Mostra profilo
Re:avvio programma al boot
« Risposta #19 il: 01 Settembre 2019, 19:13:13 »
La richiesta è chiarissima: ha creato un App che vuole che si apra da solo all'avvio di Linux e questo deve poterlo fare l'App stessa al primo avvio.
La procedura scritta da Gianluigi è quella che fa al caso tuo Gratisweb (è una cosa che interessa anche me):
- All'avvio della tua App crei una procedura che verifichi in .local/share l'esistenza della cartella applications, se non c'è la crei e ci copi l'eseguibile della tua App, se esiste copi solamente l'eseguibile.
- A questo punto crei un'altra procedura che modifichi il file buoncompleanno.desktop come spiegato da Gianluigi.
- Infine con un'altra procedura crei in .config/autostart/ il link al file buoncompleanno.desktop contenuto nella cartella .local/share/applications.

Se poi vuoi che l'App non parta più all'avvio di Linux basta cancellare con un'altra procedura il file buoncompleanno.desktop da .config/autostart/ e puoi farlo quando deselezioni la Checkbox e salvi le impostazioni.

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:avvio programma al boot
« Risposta #20 il: 02 Settembre 2019, 00:22:42 »
@ivanpro

la richiesta non è cosi chiara
al post di gianluigi ha risposto:.

No, queste cose li deve fare l' applicazione e non manualmente

io ancora non ho capito dove intende intervenire.
al login?
all'inizio del caricamento della distro?
a distro caricata prima di avviare altre applicazioni?

nell'ultimo caso poteva utilizzare benissimo il codice di gianluigi, si è lamentato che non doveva farlo a mano ma automaticamente?  bastavano poche modifiche a quel codice e diventava automatico

quindi per esclusione ho pensato che volesse farlo al login, al login nessuna applicazione può interagire con la distro, in verita al login non so nemmeno se fstab ha caricato le partizioni, in teoria dovrebbe averlo fatto in quanto grub si trova sulla prima partizione.