Script bash non eseguito all'avvio di ubuntu 22.04

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
vioma
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1362
Iscrizione: lunedì 9 febbraio 2009, 0:31
Desktop: Mate, Xubuntu, Kubuntu
Distribuzione: Ubuntu 20.04.1 LTS
Località: Catania

Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da vioma »

Buongiorno, ho la necessità di avviare un servizio all'avvio di Ubuntu, quindi ho inserito il seguente testo:

Codice: Seleziona tutto

#!/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.

service pcscd start

exit 0
nel file

Codice: Seleziona tutto

/etc/rc.local
Non capisco cosa sbaglio...all'avvio non lo esegue.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2566
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 18.04 Bionic Beaver
Sesso: Maschile
Località: Roma, Italia

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da DoctorStrange »

l'rc.local è in dismissione da parecchio. Viene mantenuto solo per questioni di compatibilità. Ora, con systemd-init devi realizzare quello che si chiama "file di unit" e lo devi includere nella catena di applicazioni in avvio. Prova a cercare su internet, ci sono moltissime guide.
Avatar utente
GjMan78
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2188
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: Gnome / Mate
Distribuzione: Manjaro / Parrot Security OS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da GjMan78 »

Sulle nuove versioni di ubuntu il file rc.local è stato deprecato, quindi non si utilizza più. Ma se cerchi su google troverai guide su come riattivarlo.

Vedo nello script che l'unica operazione che viene eseguita è

Codice: Seleziona tutto

service pcscd start
Senza ricorrere allo script dovrebbe essere sufficiente abilitare il servizio all'avvio con

Codice: Seleziona tutto

sudo systemctl pcscd enable
Eseguendo una sola volta questa istruzione il servizio dovrebbe avviarsi ad ogni boot automaticamente.
HP Pavilion 15 - AMD A6-5200 - 8 Gbyte Ram DDR3 - SSD Samsung 500 Gbyte
Trashware 4 Fun : Asus EEEpc - Atom 1.6Ghz - 2 Gbyte Ram DDR2 - HDD 160 Gbyte - Manjaro minimal Xfce
Nel dubbio, cripta!
Avatar utente
vioma
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1362
Iscrizione: lunedì 9 febbraio 2009, 0:31
Desktop: Mate, Xubuntu, Kubuntu
Distribuzione: Ubuntu 20.04.1 LTS
Località: Catania

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da vioma »

GjMan78 ha scritto:
martedì 24 gennaio 2023, 11:30
Sulle nuove versioni di ubuntu il file rc.local è stato deprecato, quindi non si utilizza più. Ma se cerchi su google troverai guide su come riattivarlo.

Vedo nello script che l'unica operazione che viene eseguita è

Codice: Seleziona tutto

service pcscd start
Senza ricorrere allo script dovrebbe essere sufficiente abilitare il servizio all'avvio con

Codice: Seleziona tutto

sudo systemctl pcscd enable
Eseguendo una sola volta questa istruzione il servizio dovrebbe avviarsi ad ogni boot automaticamente.
Non lo trova:

Codice: Seleziona tutto

sudo systemctl pcscd enable
[sudo] password di xub2204: 
Unknown command verb pcscd.
Il servizio però è attivo:

Codice: Seleziona tutto

service --status-all
 [ + ]  acpid
 [ - ]  alsa-utils
 [ - ]  anacron
 [ + ]  apparmor
 [ + ]  apport
 [ + ]  atd
 [ + ]  avahi-daemon
 [ + ]  bluetooth
 [ - ]  console-setup.sh
 [ + ]  cron
 [ + ]  cups
 [ + ]  cups-browsed
 [ + ]  dbus
 [ - ]  grub-common
 [ - ]  hwclock.sh
 [ + ]  irqbalance
 [ + ]  kerneloops
 [ - ]  keyboard-setup.sh
 [ + ]  kmod
 [ + ]  lightdm
 [ + ]  lm-sensors
 [ + ]  pcscd
 [ - ]  plymouth
 [ + ]  plymouth-log
 [ + ]  procps
 [ - ]  pulseaudio-enable-autospawn
 [ - ]  rsync
 [ - ]  saned
 [ - ]  speech-dispatcher
 [ - ]  spice-vdagent
 [ + ]  udev
 [ + ]  ufw
 [ + ]  unattended-upgrades
 [ - ]  uuidd
 [ + ]  virtualbox
 [ - ]  whoopsie
 [ - ]  x11-common
Edit: Ho trovato questa interessante guida che proverò.
Ultima modifica di vioma il martedì 24 gennaio 2023, 14:17, modificato 1 volta in totale.
Avatar utente
GjMan78
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2188
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: Gnome / Mate
Distribuzione: Manjaro / Parrot Security OS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da GjMan78 »

Se il servizio è già attivo non credo ti serva lo script in avvio.

Fai delle prove magari e dicci come va.
HP Pavilion 15 - AMD A6-5200 - 8 Gbyte Ram DDR3 - SSD Samsung 500 Gbyte
Trashware 4 Fun : Asus EEEpc - Atom 1.6Ghz - 2 Gbyte Ram DDR2 - HDD 160 Gbyte - Manjaro minimal Xfce
Nel dubbio, cripta!
Avatar utente
vioma
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1362
Iscrizione: lunedì 9 febbraio 2009, 0:31
Desktop: Mate, Xubuntu, Kubuntu
Distribuzione: Ubuntu 20.04.1 LTS
Località: Catania

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da vioma »

GjMan78 ha scritto:
martedì 24 gennaio 2023, 14:16
Se il servizio è già attivo non credo ti serva lo script in avvio.

Fai delle prove magari e dicci come va.
Mi sono spiegato male, scusate.
Il servizio è attivo perchè l'ho attivato io, ma al riavvio lo perdo.
Provo quanto suggerito al riavvio e vedo se funziona.

Edit: ho riavviato ed ho dato l'istruzione:

Codice: Seleziona tutto

sudo systemctl pcscd enable
[sudo] password di xub2204: 
Unknown command verb pcscd.
non mi attiva il servizio pcscd:

Codice: Seleziona tutto

service --status-all
 [ + ]  acpid
 [ - ]  alsa-utils
 [ - ]  anacron
 [ + ]  apparmor
 [ + ]  apport
 [ + ]  atd
 [ + ]  avahi-daemon
 [ + ]  bluetooth
 [ - ]  console-setup.sh
 [ + ]  cron
 [ + ]  cups
 [ + ]  cups-browsed
 [ + ]  dbus
 [ - ]  grub-common
 [ - ]  hwclock.sh
 [ + ]  irqbalance
 [ + ]  kerneloops
 [ - ]  keyboard-setup.sh
 [ + ]  kmod
 [ + ]  lightdm
 [ + ]  lm-sensors
 [ - ]  pcscd
 [ - ]  plymouth
 [ + ]  plymouth-log
 [ + ]  procps
 [ - ]  pulseaudio-enable-autospawn
 [ - ]  rsync
 [ - ]  saned
 [ - ]  speech-dispatcher
 [ - ]  spice-vdagent
 [ + ]  udev
 [ + ]  ufw
 [ + ]  unattended-upgrades
 [ - ]  uuidd
 [ + ]  virtualbox
 [ - ]  whoopsie
 [ - ]  x11-common
Avatar utente
GjMan78
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2188
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: Gnome / Mate
Distribuzione: Manjaro / Parrot Security OS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da GjMan78 »

Prova cosi

Codice: Seleziona tutto

sudo systemctl enable --now pcscd.socket
HP Pavilion 15 - AMD A6-5200 - 8 Gbyte Ram DDR3 - SSD Samsung 500 Gbyte
Trashware 4 Fun : Asus EEEpc - Atom 1.6Ghz - 2 Gbyte Ram DDR2 - HDD 160 Gbyte - Manjaro minimal Xfce
Nel dubbio, cripta!
Pehua
Prode Principiante
Messaggi: 115
Iscrizione: martedì 19 aprile 2022, 9:02
Desktop: Ubuntu
Distribuzione: Ubuntu 22.04.4 LTS

Re: Script bash non eseguito all'avvio di ubuntu 22.04

Messaggio da Pehua »

vioma ha scritto:
martedì 24 gennaio 2023, 11:25
Buongiorno, ho la necessità di avviare un servizio all'avvio di Ubuntu, quindi ho inserito il seguente testo:

Codice: Seleziona tutto

#!/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.

service pcscd start

exit 0
nel file

Codice: Seleziona tutto

/etc/rc.local
Non capisco cosa sbaglio...all'avvio non lo esegue.
Ciao io ho alcuni script che faccio partire all avvio e su alcuni ho avuto la necessita di dargli qualche secondo prima di eseguirsi perche' magari si devono avviare in ordine e ci mettono un po all avvio, quindi ho risolto, almeno su alcuni dei miei, inserendo prima del comando o dei comandi uno sleep.
Cosi mi partono senza problemi.
Altri comandi invece hanno bisogno proprio che il sistema sia avviato prima di eseguirsi e bisogna trovare altre strade per farli eseguire.

Codice: Seleziona tutto

sleep 30
service pcscd start
exit 0
Provaci, spero ti sia utile.

Ciao

EDIT:
Lo script.sh ce l' ho in una cartella e do indirizzo assoluto per trovarlo nelle impostazioni di avvio. /$HOME/$USER/percorso/script.sh
Per la password ho un sistema mio servisse sudo, forse puoi ingegnarti a trovarne uno sicuro...
Al di la delle impostazioni culturali :birra:
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti