1 votes

Démarrer automatiquement l'application compilée C++ au démarrage

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

L'application me donne simplement une sortie terminal (juste pour être sûr que mon script a été lancé correctement). 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.

Je voudrais 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 exécutable qui affiche à la 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 impressionnante.

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 dans 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). Il 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 à votre goût.

0voto

Struan Murray Points 53

Je suggérerais crontab avec le modificateur @reboot comme solution la plus propre, mais cela ne s'affiche pas dans le terminal, vous pouvez cependant envoyer le résultat 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) Puis ajoutez :

MAILTO="votreemail@fournisseuremail"
@reboot cd /home/myproject/build && ./myapp

Dans le fichier.

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

Ajoutez aussi SHELL=/bin/bash au début du fichier pour envoyer les 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