Guide · 09

Le démon et les journaux

Ce qu’est ampd, comment le lancer et l’arrêter, où amp écrit ses traces, et quoi joindre à un rapport de bug.

Le démon

ampd détient la bibliothèque et joue la musique. Chaque interface est son client : le terminal, la fenêtre (amp-qt), le téléphone, amp --next. C’est pourquoi deux terminaux qui lancent amp affichent la même file d’attente, et qu’une touche pressée dans l’un se voit dans l’autre.

amp lance le démon quand aucun ne tourne ; il survit ensuite au terminal d’où il est venu.

amp daemon status                   # tourne-t-il, son pid, où il écoute
amp daemon start                    # le lancer maintenant (à l'ouverture de session, depuis un script)
amp daemon stop                     # l'arrêter, et la musique avec
amp --no-daemon                     # le lecteur dans ce terminal seulement

Il écoute sur un socket que seul votre utilisateur peut atteindre, et demande à chaque client une clé que seul votre utilisateur peut lire.

Une machine qui ne fait que jouer — un petit serveur près des enceintes — n’a besoin que du démon : uv tool install ./amp-core fournit ampd.

La fenêtre

amp-qt est la même interface dans une fenêtre de bureau, sur le même démon. Lancez-la à côté du terminal ou à sa place ; chacun suit ce que fait l’autre.

Journaux

Le terminal est l’écran d’amp, donc rien n’y est affiché. Chaque programme écrit plutôt un fichier de trace, tous dans le même dossier :

Fichier Écrit par
ampd.log le démon : lecture, bibliothèque, télécommandes — en général celui à lire
amp.log le lecteur du terminal
amp-qt.log la fenêtre

Le dossier est ~/Library/Application Support/amp/ sous macOS, ~/.local/share/amp/ sous Linux, %LOCALAPPDATA%\amp\ sous Windows. amp --log-path l’affiche.

tail -f "$(dirname "$(amp --log-path)")/ampd.log"       # suivre le démon
amp daemon stop && amp --log-level debug                # relancer les deux avec plus de détail

Quelque chose ne va pas

  1. amp --diagnose — trouve-t-il libmpv ? Que peut afficher le terminal ?
  2. amp daemon stop, puis amp à nouveau — un démon d’une version plus ancienne est le suspect habituel après une mise à jour.
  3. Regardez dans ampd.log. Chaque lancement commence par une ligne de = suivie de la version, de Python et du système : collez ces lignes dans votre rapport.