1 votes

Démarrage automatique de l'application compilée C++ lors du démarrage

J'ai créé une application en C++.

L'application me donne simplement une sortie de terminal (juste pour m'assurer que mon script a bien été lancé). Il n'y a pas d'interface graphique. Je veux que mon application s'exécute au démarrage de mon ordinateur. Mon script diffuse de la vidéo via Ethernet.

J'aimerais l'exécuter au démarrage. Actuellement, ce que je fais dans le terminal est :

cd /home/myproject/build
./myapp

Comment puis-je exécuter ces commandes automatiquement au démarrage sur Ubuntu 18.04?

1voto

wyphan Points 413

Je suppose que vous utilisez la saveur Ubuntu par défaut donc vous avez gnome-terminal comme émulateur de terminal.

Pour exécuter un programme qui affiche des informations dans le terminal au démarrage, vous pouvez créer un fichier myapp.desktop dans ~/.config/autostart contenant les lignes suivantes :

[Desktop Entry]
Type=Application
Exec=gnome-terminal -e /home//myproject/build/myapp
Hidden=false
NoDisplay=false
X-GNOME-Autostart-Enabled=true
Name=myapp
Comment=Mon application de streaming vidéo incroyable.

N'oubliez pas de remplacer par la valeur réelle de votre nom d'utilisateur UNIX, que vous pouvez obtenir en exécutant whoami dans une fenêtre de terminal.

Les lignes les plus importantes de ce fichier .desktop sont la ligne Exec (la ligne de commande du programme à exécuter) et la ligne X-GNOME-Autostart-Enabled (si elle s'exécute au démarrage ou non). Cela lance une fenêtre de terminal (gnome-terminal -e) et exécute votre application compilée. Vous pouvez personnaliser les lignes commençant par Name et Comment selon vos préférences.

0voto

Struan Murray Points 53

Je suggérerais crontab avec le modificateur @reboot comme solution la plus propre, mais cela ne génère pas de sortie sur le terminal, vous pouvez cependant l'envoyer par email. Cron permet de planifier des tâches en fonction du temps ou du redémarrage.

Commande :

crontab -e

Sélectionnez nano comme éditeur. (ou votre option préférée) Ensuite, ajoutez :

MAILTO="youremail@emailprovider"
@reboot cd /home/myproject/build && ./myapp

Au fichier.

Vous pouvez également exécuter des commandes @hourly, @daily, @yearly ou à des moments spécifiques pendant la semaine ou le mois.

Ajoutez également SHELL=/bin/bash au début du fichier pour envoyer des commandes au shell correct

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X