J'essaie d'exécuter un script lorsque mon Raspberry Pi démarre. J'aimerais que le navigateur Web s'ouvre automatiquement.
J'ai essayé de trouver une solution simple (par exemple, déposer mon script dans un répertoire de "démarrage" ou quelque chose de similaire), mais je ne vois rien de tel.
J'ai examiné Upstart , mais j'ai du mal à comprendre comment cela fonctionne. Tous les scripts que j'ai essayés n'ont pas fonctionné lorsque je les ai testés.
.xinitrc
ou.xsession
.Réponses:
Pour exécuter Midori au démarrage, consultez ce didacticiel . Pour des solutions de bricolage, lisez la suite.
Vous pouvez ajouter votre commande exécutable de script au bas de
.bashrc
celui-ci pour exécuter votre script à chaque fois que vous ouvrez un terminal (ou exécutez une nouvelle instance debash
) .Assurez-vous que vous êtes dans le
pi
dossier:Créez un fichier et écrivez un script à exécuter dans le fichier:
Sauvegardez et quittez: Ctrl+ X, Y,Enter
Ouvrir
.bashrc
pour configuration:Faites défiler vers le bas et ajoutez la ligne:
./superscript
Sauvegardez et quittez: Ctrl+ X, Y,Enter
Si vous recherchez une solution qui fonctionne au démarrage de la console , consultez ce lien . Résumé de base:
Créez un fichier pour votre script de démarrage et écrivez votre script dans le fichier:
Sauvegardez et quittez: Ctrl+ X, Y,Enter
Rendre le script exécutable:
Enregistrer le script à exécuter au démarrage:
Si vous voulez qu'un script soit exécuté lorsque vous démarrez dans l'environnement LXDE , vous pouvez jeter un oeil à ce message du forum Raspberry Pi :
Aller vers
~/.config/lxsession/LXDE-pi
Ouvrez le
autostart
fichier dans ce dossier:Ajouter
@midori
sur une nouvelle ligne. Si vous voulez exécuter quelque chose comme un script python, mettez quelque chose comme@python mypython.py
une nouvelle ligne. Exécuter un fichier de script serait@./superscript
, mais pour une raison quelconque, le script s'exécute dans une boucle infinie (peut - être que cela arrêtera cela).Sauvegardez et quittez: Ctrl+ X, Y,Enter
Redémarrez votre Raspberry Pi dans l'environnement LXDE.
la source
$ sudo startx
?.bashrc
n'est pas lu au démarrage du système ou lorsqu'un utilisateur se connecte , uniquement lors de l'ouverture d'un nouveau terminal (et il est lu à chaque fois que l'utilisateur ouvre un nouveau terminal). Je suis déconcerté par le fait que cette réponse a eu tant de votes positifs: la première partie est tout simplement fausse . La troisième partie est correcte pour exécuter un programme graphique.La façon dont j'ai vu la plupart des gens le faire (regardez sur les forums de Raspberry Pi) et que je me suis fait avec succès utilise
/etc/rc.local
.Tout ce que vous devez faire ici est placé
./myscript
dans le fichier texte rc.local. Si c'est en python, mettezpython myscript.py
.C’est littéralement "une solution simple (comme de déposer mon script dans un répertoire" de démarrage "ou quelque chose de similaire) - vous pouvez également effectuer une recherche sur les forums lorsque vous avez des questions, cette solution est apparue sur les 4 premiers résultats recherche Google!
la source
python myscript.py
. Si vous voulez chmod + x et l'ajouter#! /bin/python
, vous pouvez exécuter le script en indiquant$pathtofile/myscript.py
où$pathtofile
est.
si vous vous trouvez dans le même répertoire ou dans le chemin absolu ou relatif du fichier./etc/rc.local
est uniquement destiné à démarrer les services système (programmes sans interface utilisateur).Ajoutez-le à la crontab
La crontab exécute des commandes à des moments définis.
Editez le fichier:
Ajouter une ligne au fichier (ici un script python):
la source
python3
), voir ici/etc/rc.local
est seulement pour démarrer des programmes qui n'ont pas d'interface utilisateur.Démarrage automatique des applications xorg
Si le script que vous souhaitez démarrer nécessite une session xorg, essayez de suivre les spécifications de démarrage automatique de freedesktop, qui peuvent ou non fonctionner en fonction de l’environnement de bureau utilisé.
Vous pouvez également cibler votre environnement de bureau spécifique, comme décrit à l' adresse https://wiki.archlinux.org/index.php/autostarting .
Exécuter un script en tant que service systemd
Si votre script correspond à la description d'un démon ou d'un 'service', et que votre système exécute systemd, comme c'est le cas pour raspbian et la plupart des lignes modernes, vous pouvez configurer votre script pour qu'il s'exécute en tant que service systemd. le cycle de vie et l'environnement d'exécution, ainsi que les conditions préalables au (re) démarrage du script, telles que le réseau en cours de fonctionnement. Il est également possible de configurer le redémarrage du service en cas d'échec (
Restart=always
et le délai entre chaque redémarrage, par exempleRestartSec=10
).Pour une utilisation à l’échelle du système, créez votre fichier d’unité systemd sous
/etc/systemd/system
, par exemple avecvim /etc/systemd/system/autossh.service
:Voir également:
[
unit
] configuration[
service
] configurationNous sommes maintenant prêts à tester le service:
Vérification de l'état du service:
Arrêt du service:
Une fois que vous avez vérifié que le service fonctionne comme prévu, activez-le avec:
la source
Je veux ajouter mes deux sous, même s’il s’agit d’une question ancienne mais que l’on demande généralement à faire une chose simple: le démarrage automatique. J'ai essayé toutes les solutions suggérées dans toutes les réponses à cette question. Aucun d'entre eux n'a travaillé pour moi. J'utilise Raspberry PI Model 2 avec Raspbian.
Le seul moyen de réussir le démarrage automatique de mon application consiste à utiliser un script, comme suit. Je dis avec succès parce que mon application a démarré comme prévu sans aucun problème, comme démarrer avec un chemin de travail incorrect.
1.Créez un fichier vide avec l'extension .sh et nommez-le comme vous voulez.
2.Copiez et collez EXACTEMENT les éléments suivants sauf que vous remplacez "le nom de votre application" par le nom de script que vous venez de créer.
Enregistrez ensuite le fichier de script dans votre dossier d’application.
Ensuite, ouvrez le
/home/pi/.config/autostart
dossier. Cela pourrait être différent dans votre cas. Ouvrez simplement votre dossier personnel et activez l’affichage des dossiers cachés. ouvert.config/autostart
. Si vous ne voyez pas le dossier de démarrage automatique, créez un dossier appelé démarrage automatique dans le dossier .config.dans le dossier de démarrage automatique, vous devrez créer un raccourci vers votre fichier de script que vous avez créé comme suit. Créez un fichier vide avec extension
.desktop
.Copiez et collez ce qui suit dans le fichier de bureau vide , sauf que vous devrez changer
Comment
,Name
,Exec
,Path
et laIcon
valeur du champ.Enregistrez et fermez le fichier après avoir modifié tous les champs nécessaires. Vous avez terminé. Juste le tester.
la source
/usr/local/bin/ApplicationName
...?home
s’il s’agit d’un périphérique distinct), le fichier script (ou un fichier exécutable) n’est pas indisponible lorsque le fichier le système échoue à un/bin/sh
shell utilisateur unique ! De nos jourssystemd
, il faut monter les deux/
et/usr
avant que le PID 1 ne soit lancé ...J'ai aussi eu des problèmes avec ça. Voici ce que j'ai fait sur Raspberry Pi3 sous Raspbian:
la source
Voici ce que j'ai fait sur Raspberry Pi3 sous Raspbian Stretch:
Editer le fichier de démarrage automatique LXDE-pi
Ajoutez ceci au bas de ce fichier
sauvegarder et redémarrer
la source
Méthode 1:
Pour lancer automatiquement une commande lors de la connexion, placez-la dans un fichier nommé
dans le répertoire utilisateur (par exemple / home / pi)
Par exemple, le fichier pourrait contenir
pour lancer Chromium en plein écran, pointez sur www.google.com
Méthode 2:
Cette solution fonctionne vraiment bien. Une fois le navigateur chargé, un petit carré noir apparaît en haut à gauche de l'écran. Il semble s'agir d'un bogue général (mentionné par d'autres sur les forums), mais le mode plein écran masque tout sauf la page du navigateur.
Editez le fichier de démarrage automatique:
Mettez tout en commentaire en utilisant un '#' au début de chaque ligne, puis ajoutez les lignes suivantes
Exécuter automatiquement le navigateur
Si nécessaire, utilisez l'outil de configuration pour activer l'exécution automatique de l'interface graphique au démarrage
Si vous devez quitter à l'invite de commande CTRL+ ALT+F1
CTRL+ ALT+F2
la source
Vous pouvez placer votre script au bas du
/etc/profile
fichier.Les autres options ne fonctionnaient pas pour moi, mais c'est peut-être parce que j'ai placé mon script sur le bureau.
la source
créez un fichier .sh avec les commandes 'python /path/to/your/script.py' tapez 'sudo nano /etc/rc.local' et tapez le chemin d'accès au fichier .sh
avant
Ou vous pouvez simplement taper
ou
si vous voulez que le script s'exécute au démarrage
à l'intérieur du type de fichier
la source
ça marche. (A chaque redémarrage, il prépare automatiquement les soumissions suivantes)
la source
C'est ce que je fais généralement.
Editez le fichier:
sudo nano .bashrc
Allez à la fin du fichier et écrivez:
sudo python mycode.py
Si vous souhaitez que la sortie soit stockée dans un fichier txt, modifiez le code à l'étape 3 comme suit:
sudo python mycode.py >> output.py
J'espère que cela t'aides!
la source