LXterminal au démarrage + lignes de commande

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
bartras
Messages : 140
Inscription : 17 mars 2017, 17:44
Localisation : Saint Etienne (42)

LXterminal au démarrage + lignes de commande

Message par bartras »

Bonjour,

J'utilise ngrok pour accéder à ma domotique à distance.
Malheureusement, parfois mon raspberry perd la connexion avec ma box et je suis obligé de débrancher/rebrancher pour que ça se reconnecte...

Pour m'éviter ça, je compte lancer un reboot tous les soirs.
Seulement en faisant ça, il faudrait que je relance ngrok à chaque fois manuellement.

Ce que je cherche donc à faire c'est, au démarrage du raspberry, une fenêtre LXterminal se lance.
Puis exécuter ces deux lignes de code:

Code : Tout sélectionner

cd Downloads/
./ngrok http 8080
Comme ça, j'aurai ma connexion à distance opérationnelle.

J'ai lu énormément de chose et fait des essais mais je bloque...

Merci pour votre aide.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: LXterminal au démarrage + lignes de commande

Message par Keros »

T'es deux lignes peuvent normalement tenir en une seule.

Et pour lancer un script au démarrage du Pi, tu peux ajouter simplement son chemin dans le fichier etc/rc.local (à éditer en sudo).

Pour info, il y a le plugin System Alive Checker (Ping) qui permet de vérifier l'accès à une IP : tu pourrais lancer un redémarrage en cas de perte de la connexion avec la box. Attention à ce que cela ne redémarre pas en boucle non plus ;)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
bartras
Messages : 140
Inscription : 17 mars 2017, 17:44
Localisation : Saint Etienne (42)

Re: LXterminal au démarrage + lignes de commande

Message par bartras »

Bonjour Keros, merci pour ta réponse.

Alors j'ai créé un fichier SHELL dans /home/pi/Scripts/ngrok-startup.sh.

Voila ce que j'ai écris dedans:

Code : Tout sélectionner

#!/bin/bash

lxterminal -e "./ngrok http 8080"
(j'ai déplacé ngrok directement dans /pi pour éviter d'aller dans Downloads)

Puis j'ai modifié /etc/rc.local, en ajoutant cette ligne de code

Code : Tout sélectionner

/home/pi/Scripts/ngrok-startup.sh
, juste au dessus de exit 0.

J'ai fait un reboot mais je n'ai aucun tunnel lorsque je vais sur mon compte sous dashboard.ngrok.com.


Concernant System Alive Checker (Ping), j'en avais créé un (adresse de mon routeur).
Seulement ça crée un interrupteur uniquement.
Quand tu parles de redémarrage, c'est de domoticz ou du routeur internet ?
Pour se faire il faut écrire un script sous domoticz (event) ou sur le rasbperry ?


Merci pour ton aide.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: LXterminal au démarrage + lignes de commande

Message par Keros »

Ok, tu n'as pas de tunnel mais est-ce que ton script s'exécute au démarrage ? Tu peux faire un simple script pour afficher une ligne de texte pour vérifier.

Le plugin System Alive Checker (Ping) créé en effet un widget qui sera le résultat de la réponse au ping : Si ping ok> widget ON, si ping en erreur > widget Off.

Ensuite pour lancer le redémarrage du pi tu fais un petit bout de programme en lua ou dzvents dans DomoticZ.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
bartras
Messages : 140
Inscription : 17 mars 2017, 17:44
Localisation : Saint Etienne (42)

Re: LXterminal au démarrage + lignes de commande

Message par bartras »

Alors, j'ai mis ça dans /home/pi/Scripts/ngrok-startup.sh :

Code : Tout sélectionner

#!/bin/sh
# This is a comment!
echo Hello World        # This is a comment, too!
J'ai testé dans le terminal (avec VNCviewer), ./ngrok-startup.sh.
Et ça affiche bien "Hello World".

Donc ensuite j'ai laissé ça dans /etc/rc.local :

Code : Tout sélectionner

/home/pi/Scripts/ngrok-startup.sh
Et j'ai reboot.
Ca n'a rien affiché...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: LXterminal au démarrage + lignes de commande

Message par Keros »

Tu édites bien le fichier rc.local en sudo ?

Ce ne serait pas un problème de droit d'exécution sur le fichier ? Tu peux essayer un chmod +x sur le .sh ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
bartras
Messages : 140
Inscription : 17 mars 2017, 17:44
Localisation : Saint Etienne (42)

Re: LXterminal au démarrage + lignes de commande

Message par bartras »

Tu édites bien le fichier rc.local en sudo ?
Oui car quand je retourne dedans je retrouve bien ce que j'ai écris avant.
Ce ne serait pas un problème de droit d'exécution sur le fichier ? Tu peux essayer un chmod +x sur le .sh ?
Je l'avais déjà fait car lu sur un tuto. (j'ai aussi essayé avec 755 au lieu du x).
Ca fonctionne bien quand je lance la commande depuis le terminal.
J'en déduis qu'il est bien en executable.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: LXterminal au démarrage + lignes de commande

Message par Keros »

Je sèche, désolé :oops:
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
bartras
Messages : 140
Inscription : 17 mars 2017, 17:44
Localisation : Saint Etienne (42)

Re: LXterminal au démarrage + lignes de commande

Message par bartras »

Logiquement ça devrait ouvrir un terminal avec Hello World dedans ?

Ca fonctionne si tu testes sur un de tes raspberry ?
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: LXterminal au démarrage + lignes de commande

Message par Keros »

La commande écho ne va pas t'ouvrir de fenêtre de terminal pour afficher le message.

J'ai trouvé ceci : https://www.dexterindustries.com/howto/ ... at-startup

Tu peux essayer :
Pour exécuter notre script.sh lorsque l’utilisateur root se connecte, il suffit d’ajouter le chemin vers le script dans le fichier /root/.bash_profile : (ou .bashrc )

# ~/.bashrc: executed by bash(1) for non-login shells.

# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
/root/script.sh
J'ai également vu que rc.local runs as root before login donc ça ne pouvait pas fonctionner. Alors que j'ai des scripts python dans mon rc.local...
Désolé de t'avoir aiguiller sur une mauvaise piste :oops:
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre