Archlinux - Démarrage automatique `screen` après le démarrage

0

Je construis un petit lecteur de radio Internet en utilisant Archlinux. Tout ce dont j'ai besoin maintenant, c'est de lancer automatiquement (sans login!) Le script ou simplement de commander:

su -c 'screen "vlc (a lot of parameters)"' vlc_user

En lisant ce https://wiki.archlinux.org/index.php/Autostarting et ce https://wiki.archlinux.org/index.php/Bash#Configuration_file_sourcing_order_at_startup, j'ai constaté que je devais ajouter ma commande à / etc /bash.bashrc ... mais ça ne marche pas ...

Quelqu'un peut-il m'aider et / ou me guider pour que cela fonctionne?

Merci!

Marverix
la source

Réponses:

1

Bien que vous ne disiez pas exactement ce qui ne fonctionne pas, je suppose que le programme que vous souhaitez démarrer ne démarre pas réellement au démarrage.

Le problème est que le bashrcfichier ne s'exécute pas réellement au démarrage - il s'exécute généralement lors de la connexion. Vous pouvez le confirmer en vous connectant à un utilisateur, puis la commande doit être exécutée. Si ce n'est pas le cas, cela n'a pas vraiment d'importance, car vous devriez utiliser systemd (en supposant que vous utilisez systemd et que vous n'utilisez pas de scripts de style init.d).

Lorsque vous démarrez le système, celui-ci devrait avoir une cible par défaut, que je désignerai par $TARGET. Cet objectif est le plus probable multi-user.target. Je vais également supposer que votre commande est $COMMANDune commande ou un fichier de script.

Maintenant, ouvrez le répertoire /etc/systemd/systemet pointez votre éditeur sur le fichier internet-radio.service. Écrivez ce qui suit:

[Unit]
Description=Internet Radio
[Service]
ExecStart=$COMMAND
[Install]
WantedBy=$TARGET

Cela devrait automatiquement démarrer le démon qui sera lancé. Il y a beaucoup d' options que vous pouvez ajouter à ce fichier - ce blog est ma principale ressource dans la composition de cette réponse et peut vous aider si, par exemple, vous voulez démarrer automatiquement le script quand il meurt, ou avoir un fichier PID, ou millions d'autres choses que systemd peut faire pour vous.

nouveau123456
la source