lancement d'un programme au démarrage de Débian 11 Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Bonjour,
J'ai installé Débian 11 avec un interface graphique sur un Nuc Intel, mais sans écran, et branché une clé RTL SDR. Mon câble d'antenne est assez loin de mon PC.
Alors je control Debian avec Cockpit 'https://www.it-connect.fr/cockpit-une-i ... eur-linux/' qui ma fois
J'ai réussi à installer Spy Server (SPY Server – SDR Server for Linux x86_64) "https://airspy.com/download/" et le faire fonctionner pour récupérer le le flux TCP/IP sur SDRSharp.
Et ça fonctionne plutôt pas mal.

Mon Problème :
Pour lancer Spyserver je dois lancer ./spyserver en étant dans "stephane@nuc-intel:~/spyserver$"
Je n'ai pas trouvé comment le lancer automatiquement après un reboot de la machine.
Ce n'est à priori pas un service.
Spyserveur -1.png
Quelqu'un pourrait m'aider ?
Cdlt
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5462
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Bonjour, tu n'as visiblement pas d'interface graphique, ce qui est plus simple pour lancer un script aprés connections de l'utilisateur.
Dans ton cas, tu peux utiliser systemd, meme si ton script n'est pas un service.
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Slt Piratebab,
Si, si, j'ai accès au bureau en RDP. Mais du coup je vois pas comment faire avec systemd (ce qu'il faut que je tape) . J'ai bien trouvé des choses pour lancer des services mais pas pour
les programmes.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5462
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Un service n'est rien d'autre qu'un programme qui s'exécute en arrière plan, sans rien afficher à l'écran.
Si tu veux le lacer après le démarrage de l'interface graphique, regarde le fichier config.autostart. Tu peux aussi créer le lanceur dans les paramètres de ton interface graphique.
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Je ne comprend pas la subtilité :
Cela ne fonctionne pas en faisant ceci dans l'interface (démarrage automatique) après redémarrage.
Spyserveur -3.png
Ca fonctionne quand je lance en manuel par le terminal
Spyserveur -2.png
Que signifie le .\ dans la commande .\spyserver :unknw:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5462
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

En simplifiant, cele veux dire que le logiciel que tu lances est dans le répertoire depuis lequel tu lances la commande.
Si tu lances la commande depuis un autre répertoire, il faut mettre le chemin complet (depuis la racine).
il existe d'autre façon de faire (variable PATH par exemple), mais en mettant le chemin complet, ça marche tout le temps.
Vérifie les droits sur ce logiciel (qui a le droit de le lancer)
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

Sinon faire un script et l'ajouter ainsi en tâche cron (Attention au path !!!)
L'idéal serait que le script soit dans /usr/local/bin

Code : Tout sélectionner

@reboot /usr/local/bin/spyserver.sh
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Bonjour lol,
merci pour ta réponse. Excusez mon ignorance. Mais avant de créer le script .sh pourquoi mon lancement manuel ne fonctionne pas ? avec le lancement ( commande "spyserver" dans le répertoire )
Spyserveur -4.png
Et ça fonctionne avec la commande "./spyserver " . En ligne de commande pour le script ça donnerai quoi pour mon cas ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,

C'est justement le problème de "path" dont je te parlais.
Le système est programmé avec un certain nombre de "path" ou il va cherche les binaires/scripts exécutables:

Code : Tout sélectionner

$ echo "$PATH"
/home/toto/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Path qui n'est pas le même pour root évidemment... (Chacun chez soi...) et qui diffère d'une machine à une autre en fonction de ce qu'on a bidouillé... :wink:

Code : Tout sélectionner

# echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Tu crée un script dans /usr/local/bin (qui est normalement dans ton path...)

Code : Tout sélectionner

$ sudo nano /usr/local/bin/spyserver.sh
Avec ce contenu:

Code : Tout sélectionner

#!/bin/sh
/home/toto/spyserver/spyserver &
Et tu le rends exécutable:

Code : Tout sélectionner

$ sudo chmod +x /usr/local/bin/spyserver.sh
Tu le testes en lançant cette commande:

Code : Tout sélectionner

$ spyserver.sh
La commande "&" en fin de ligne dans le script va lancer le script en arrière plan.
Attention, si tu lances plusieurs fois le script le programme va s’exécuter plusieurs fois en tâche de fond.

Tu peux vérifier s'il tourne avec cette commande:

Code : Tout sélectionner

$ ps -aux | grep spyserver
J'ai écris tout ça un peu rapidement, il peut y avoir des erreurs, à toi de vérifier tout ça...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Ok lol,
Je potasse ça et je reviens pour dire si j'y suis arrivé ...
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Bon petit retour, voici ce que j'ai fais:
stephane@nuc-intel:~$ sudo nano /usr/local/bin/spyserver.sh

ajout dans le fichier créé:
#!/bin/sh
/home/stephane/spyserver/spyserver &

-Enregistrement du fichier

stephane@nuc-intel:~$ sudo chmod +x /usr/local/bin/spyserver.sh

-Redémarrage de la machine

stephane@nuc-intel:~$ ps -aux | grep spyserver
stephane 3980 0.0 0.0 6256 704 pts/0 S+ 17:39 0:00 grep spyserver
stephane@nuc-intel:~$

En tous cas quand je fais :
stephane@nuc-intel:~$ spyserver.sh
Spyserveur -5.png

Le service a l'air de démarrer, mais il semble que le fichier "spyserver.config" ne puisse être chargé. Ce fichier se trouve dans /home/stephane/spyserver/ et il sert à avoir l'ip du server hôte et drivers paramètres.

Il y a certainement un paramètre supplémentaire à ajouter dans le script "spyserver.sh" non ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Stephnet a écrit : 21 avr. 2024, 11:33 ...

Le services à l'air de démarrer, mais il semble que le fichier "spyserver.config" ne puisse être chargé. Ce fichier se trouve dans /home/stephane/spyserver/ et il sert à avoir l'ip du server hôte et drivers paramètres.

Il y a certainement un paramètre supplémentaire à ajouter dans le script "spyserver.sh" non ?

Dans ce cas là, pour faire simple change ceci:

Code : Tout sélectionner

/home/stephane/spyserver/spyserver &
Par:

Code : Tout sélectionner

cd /home/stephane/spyserver
./spyserver &
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

On approche ...
Donc j'ai bien modifié le script:

#!/bin/sh
cd /home/stephane/spyserver
./spyserver (mais j'ai pas mis le & pour voir)

et regénéré le en exécutable avec:
stephane@nuc-intel:~$ sudo chmod +x /usr/local/bin/spyserver.sh

En revanche spyserver.sh n'a pas l'air de se lancer au démarrage de la machine
mais quand je lance en manuel le script spyserver.sh ça fonctionne et j'arrive à accéder au serveur spyserveur maintenant. Un histoire de droit peut être ?
stephane@nuc-intel:~$ spyserver.sh
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
On va essayer en laissant tomber le script:

Essaye ça dans ton cron:

Code : Tout sélectionner

@reboot /home/stephane/spyserver/spyserver /home/stephane/spyserver/spyserver.config
Si ça ne fonctionne toujours pas on essaiera avec systemd qui est quand même plus robuste.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5462
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Le plus simple reste quand même l'autostart du gestionnaire de bureau. Est ce que tu as regardé les autres onglets de la copie d'écran que tu as posté ?
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

lol a écrit : 22 avr. 2024, 08:43 Salut,
On va essayer en laissant tomber le script:

Essaye ça dans ton cron:

Code : Tout sélectionner

@reboot /home/stephane/spyserver/spyserver /home/stephane/spyserver/spyserver.config
Si ça ne fonctionne toujours pas on essaiera avec systemd qui est quand même plus robuste.
Félicitation messieurs, et merci beaucoup du coup cela fonctionne maintenant à merveille au redémarrage. Je vais poster la solution complète plus bas pour éventuellement d'autre personnes qui voudraient faire la même chose. :good: :yahoo:

P.S: Par contre j'arrive pas a faire comme vous pour les lignes de commandes en CODE .
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5048
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Bonne nouvelle.
Stephnet a écrit : 22 avr. 2024, 10:05 P.S: Par contre j'arrive pas a faire comme vous pour les lignes de commandes en CODE .

Passe par l'éditeur "avance"
Quand tu tape ta réponse directement, tu es sur "Réponse rapide"
Sous la fenêtre de rédaction se trouve un bouton "Éditeur avancé et prévisualisation" qui te donne accès à toutes les fonctionnalités d'édition, dont le bouton "bloc de code" </>

:006:
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Stephnet
Membre
Membre
Messages : 10
Inscription : 16 avr. 2024, 16:48
Status : Hors-ligne

Meilleure solution trouvée pour lancer une application au reboot de la machine sous Debian 11:

Cas de figure pour lancer "spyserver" avec sa config "spyserver.config

stephane@nuc-intel:~$ cd spyserver
stephane@nuc-intel:~/spyserver$ ls -a
. .. spyserver spyserver.config spyserver_ping


1- Editer son cron :

stephane@nuc-intel:~$

Code : Tout sélectionner

crontab -e
2- Ajouter la ligne suivante dans à la fin du fichier:

@reboot /home/stephane/spyserver/spyserver /home/stephane/spyserver/spyserver.config

3- Enregister le fichier

4- Redémarrer la machine

5- Test du lancement de spyserver

stephane@nuc-intel:~$

Code : Tout sélectionner

ps -aux | grep spyserver
Résultat:
stephane 644 0.0 0.0 2480 516 ? Ss 10:56 0:00 /bin/sh -c /home/stephane/spyserver/spyserver /home/stephane/spyserver/spyserver.config
stephane 645 1.6 0.0 309640 6148 ? Sl 10:56 0:01 /home/stephane/spyserver/spyserver /home/stephane/spyserver/spyserver.config
stephane 3518 0.0 0.0 6256 704 pts/0 S+ 10:58 0:00 grep spyserver


Un grand Merci à piratbab et lol pour leurs précieuses aides
Répondre