Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Document the workaround for the race condition potentially happening when starting the systray applet at boot #271

Merged
merged 8 commits into from
Oct 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion README-fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ arch-update --tray --enable
systemctl --user enable --now arch-update-tray.service
```

Si vous utilisez un gestionnaire de fenêtre ou un compositeur Wayland, vous pouvez plutôt ajouter la commande `arch-update --tray` à vôtre fichier de configuration.
Si vous utilisez un gestionnaire de fenêtre ou un compositeur Wayland, vous pouvez plutôt ajouter la commande `arch-update --tray` à vos applications "auto-start" dans votre fichier de configuration.

**Si l'applet systray ne démarre pas au démarrage du système malgré tout**, veuillez lire [ce chapitre](#lapplet-systray-ne-démarre-pas-au-démarrage-du-système).

L'icône du systray changera automatiquement en fonction de l'état actuel de votre système ('à jour' ou 'mises à jour disponibles'). Lorsque vous cliquez dessus, elle lance `arch-update` via le fichier [arch-update.desktop](https://github.com/Antiz96/arch-update/blob/main/res/desktop/arch-update.desktop).

Expand Down Expand Up @@ -262,6 +264,27 @@ Voir <https://www.flatpak.org/> et <https://archlinux.org/packages/extra/x86_64/
Arch-Update prend en charge les notifications de bureau lors de l'exécution de la fonction `--check` si **libnotify** est installé (et qu'un serveur de notification est en cours d'exécution) :
Voir <https://wiki.archlinux.org/title/Desktop_notifications>

### L'applet systray ne démarre pas au démarrage du système

Assurez vous d'avoir suivi les instructions de [ce chapitre](#lapplet-systray).

Si l'applet systray ne démarre pas malgré tout, cela peut être le résultat d'une [situation de compétition](https://fr.wikipedia.org/wiki/Situation_de_comp%C3%A9tition).
Dans ce cas, il peut être utile de légèrement retarder le démarrage de l'applet systray en utilisant une déclaration `sleep` au préalable :

- Si vous avez utilisé `arch-update --tray --enable`, modifiez la ligne `Exec=` dans le fichier `arch-update-tray.desktop` (qui se trouve sous `~/.config/autostart/` par défaut), comme ceci :

> Exec=sh -c "sleep 3 && arch-update --tray"

- Si vous avez utilisé le service systemd `arch-update-tray.service`, exécutez `systemctl --user edit --full arch-update-tray.service` et modifiez la ligne `ExecStart=`, comme ceci :

> ExecStart=sh -c "sleep 3 && arch-update --tray"

- Si vous utilisez un gestionnaire de fenêtres ou un compositeur Wayland, ajoutez une déclaration `sleep` avant la commande `arch-update --tray` dans vos applications "auto-start" dans votre fichier de configuration, comme ceci :

> `sleep 3 && arch-update --tray`

Si l'applet systray ne démarre toujours au démarrage du système, essayez de graduellement augmenter la valeur du `sleep`.

### Modifier le cycle de vérification automatique

Si vous avez activé le [timer systemd](#le-timer-systemd), l'option `--check` est automatiquement lancée au démarrage du système puis une fois par heure.
Expand Down
25 changes: 24 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ arch-update --tray --enable
systemctl --user enable --now arch-update-tray.service
```

If you use a Window Manager or a Wayland Compositor, you can add the `arch-update --tray` command to your configuration file instead.
If you use a Window Manager or a Wayland Compositor, you can add the `arch-update --tray` command to your "auto-start" apps in your configuration file instead.

**If the systray applet doesn't start at boot regardless**, please read [this chapter](#the-systray-applet-does-not-start-at-boot).

The systray icon will automatically change depending on the current state of your system ('up to date' or 'updates available'). When clicked, it launches `arch-update` via the [arch-update.desktop](https://github.com/Antiz96/arch-update/blob/main/res/desktop/arch-update.desktop) file.

Expand Down Expand Up @@ -262,6 +264,27 @@ See <https://www.flatpak.org/> and <https://archlinux.org/packages/extra/x86_64/
Arch-Update supports desktop notifications when performing the `--check` function if **libnotify** is installed (and a notification server is running):
See <https://wiki.archlinux.org/title/Desktop_notifications>

### The systray applet does not start at boot

Make sure you followed instructions of [this chapter](#the-systray-applet).

If the systray applet doesn't start regardless, this could be the result of a [race condition](https://en.wikipedia.org/wiki/Race_condition#In_software).
In such case, it might be useful to slightly delay the startup of the systray applet by using a `sleep` statement beforehand:

- If you used `arch-update --tray --enable`, modify the `Exec=` line in the `arch-update-tray.desktop` file (which is under `~/.config/autostart/` by default), like so:

> Exec=sh -c "sleep 3 && arch-update --tray"

- If you used the `arch-update-tray.service` systemd service, run `systemctl --user edit --full arch-update-tray.service` and modify the `ExecStart=` line, like so:

> ExecStart=sh -c "sleep 3 && arch-update --tray"

- If you're using a standalone Window Manager or a Wayland Compositor, add a `sleep` statement before the `arch-update --tray` command in your "auto-start" apps in your configuration file, like so:

> `sleep 3 && arch-update --tray`

If the systray applet still does not start at boot, try to gradually increase the value of the `sleep`.

### Modify the auto-check cycle

If you enabled the [systemd.timer](#the-systemd-timer), the `--check` option is automatically launched at boot and then once per hour.
Expand Down
29 changes: 26 additions & 3 deletions doc/man/arch-update.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH "ARCH-UPDATE" "1" "September 2024" "Arch-Update 3.2.3" "Arch-Update Manual"
.TH "ARCH-UPDATE" "1" "October 2024" "Arch-Update 3.2.3" "Arch-Update Manual"

.SH NAME
arch-update \- An update notifier & applier for Arch Linux that assists you with important pre / post update tasks.
Expand Down Expand Up @@ -78,7 +78,7 @@ Start the Arch-Update systray applet.
.br
.RB "To start it automatically at boot, you can either run the " "arch-update --tray --enable " "command (preferred method for most Desktop Environments, uses XDG Autostart) or enable the associated systemd service (in case your Desktop Environment doesn't support XDG Autostart) by running " "systemctl \-\-user enable \-\-now arch-update-tray.service".
.br
.RB "If you use a window manager or a Wayland compositor, you can add the " "arch-update --tray " "command to your configuration file instead."
.RB "If you use a window manager or a Wayland compositor, you can add the " "arch-update --tray " "command to your auto-start apps in your configuration file instead."

.TP
.B \-v, \-\-version
Expand All @@ -102,7 +102,9 @@ To start it automatically at boot, you can either:
.br
.RB "- Enable the associated systemd service (in case your Desktop Environment doesn't support XDG Autostart): " "systemctl \-\-user enable \-\-now arch-update-tray.service"

.RB "If you use a Window Manager or a Wayland Compositor, you can add the " "arch-update \-\-tray " "command to your configuration file instead."
.RB "If you use a Window Manager or a Wayland Compositor, you can add the " "arch-update \-\-tray " "command to your auto-start apps in your configuration file instead."

.BR "If the systray applet doesn't start at boot regardless" ", please read the " "'The systray applet does not start at boot' " "chapter in the " "Tips and Tricks " "section below."

.RB "The systray icon will automatically change depending on the current state of your system ('up to date' or 'updates available'). When clicked, it launches " "arch-update " "via the " "arch-update.desktop " file.

Expand Down Expand Up @@ -152,6 +154,27 @@ See https://www.flatpak.org/ and https://archlinux.org/packages/extra/x86_64/fla
.br
See https://wiki.archlinux.org/title/Desktop_notifications

.TP
.B The systray applet does not start at boot
.RB "Make sure you followed instructions of the " "'The systray applet' " "chapter in the " "Usage " "section above."

.RB "If the systray applet doesn't start regardless, this could be the result of a " "race condition".
.RB "In such case, it might be useful to slightly delay the startup of the systray applet by using a " "sleep " "statement beforehand:"

.RB "\- If you used " "arch-update --tray --enable" ", modify the " "Exec= " "line in the " "arch-update-tray.desktop " "file (which is under " "~/.config/autostart/ " "by default), like so:"
.br
Exec=sh -c "sleep 3 && arch-update --tray"

.RB "\- If you used the " "arch-update-tray.service " "systemd service, run " "systemctl --user edit --full arch-update-tray.service " "and modify the " "ExecStart= " "line, like so:"
.br
ExecStart=sh -c "sleep 3 && arch-update --tray"

.RB "\- If you're using a standalone Window Manager or a Wayland Compositor, add a " "sleep " "statement before the " "arch-update --tray " "command in your auto-start apps in your configuration file, like so:"
.br
sleep 3 && arch-update --tray

.RB "If the systray applet still does not start at boot, try to gradually increase the value of the " "sleep".

.TP
.B Modify the auto-check cycle
.RB "If you enabled the " "systemd.timer" ", the " "--check " "option is automatically launched at boot and then once per hour."
Expand Down
30 changes: 27 additions & 3 deletions doc/man/fr/arch-update.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH "ARCH-UPDATE" "1" "Septembre 2024" "Arch-Update 3.2.3" "Manuel de Arch-Update"
.TH "ARCH-UPDATE" "1" "Octobre 2024" "Arch-Update 3.2.3" "Manuel de Arch-Update"

.SH NAME
arch-update \- Un notificateur & applicateur de mises à jour pour Arch Linux qui vous assiste dans les tâches importantes d'avant / après mise à jour.
Expand Down Expand Up @@ -78,7 +78,7 @@ Démarrer l'applet systray d'Arch-Update.
.br
.RB "Pour la démarrer automatiquement au démarrage du système, vous pouvez soit exécuter la commande " "arch-update --tray --enable " "(méthode recommandée pour la plupart des environnements de bureau, utilise XDG Autostart) ou vous pouvez activer le service systemd associé (dans le cas où vôtre environnement de bureau ne supporte pas XDG Autostart) en exécutant " "systemctl \-\-user enable \-\-now arch-update-tray.service".
.br
.RB "Si vous utilisez un gestionnaire de fenêtres ou un compositeur Wayland, vous pouvez plutôt ajouter la commande " "arch-update --tray " "à votre fichier de configuration."
.RB "Si vous utilisez un gestionnaire de fenêtres ou un compositeur Wayland, vous pouvez plutôt ajouter la commande " "arch-update --tray " "à vos applications auto-start dans votre fichier de configuration."

.TP
.B \-v, \-\-version
Expand All @@ -102,7 +102,9 @@ Pour la démarrer automatiquement au démarrage du système, utilisez l'une des
.br
.RB "- Activer le service systemd associé (dans le cas où votre environnement de bureau ne supporte pas XDG Autostart) : " "systemctl \-\-user enable \-\-now arch-update-tray.service"

.RB "Si vous utilisez un gestionnaire de fenêtre ou un compositeur Wayland, vous pouvez plutôt ajouter la commande " "arch-update \-\-tray " "à vôtre fichier de configuration."
.RB "Si vous utilisez un gestionnaire de fenêtre ou un compositeur Wayland, vous pouvez plutôt ajouter la commande " "arch-update \-\-tray " "à vos applications auto-start dans votre fichier de configuration."

.BR "Si l'applet systray ne démarre pas au démarrage du système malgré tout" ", veuillez lire le chapitre " "'l'applet systray ne démarre pas au démarrage du système' " "dans la section " "Trucs et Astuces " "ci-dessous."

.RB "L'icône du systray changera automatiquement en fonction de l'état actuel de votre système ('à jour' ou 'mises à jour disponibles'). Lorsque vous cliquez dessus, elle lance " "arch-update " "via le fichier " "arch-update.desktop".

Expand Down Expand Up @@ -152,6 +154,28 @@ Voir https://www.flatpak.org/ et https://archlinux.org/packages/extra/x86_64/fla
.br
Voir https://wiki.archlinux.org/title/Desktop_notifications

.TP
.B L'applet systray ne démarre pas au démarrage du système

.RB "Assurez vous d'avoir suivi les instructions du chapitre " "l'applet systray " "dans la section " "Utilisation " "ci-dessus."

.RB "Si l'applet systray ne démarre pas malgré tout, cela peut être le résultat d'une " "situation de compétition".
.RB "Dans ce cas, il peut être utile de légèrement retarder le démarrage de l'applet systray en utilisant une déclaration " "sleep " "au préalable :"

.RB "\- Si vous avez utilisé " "arch-update --tray --enable" ", modifiez la ligne " "Exec= " "dans le fichier " "arch-update-tray.desktop " "(qui se trouve sous " "~/.config/autostart/ " "par défaut), comme ceci :"
.br
Exec=sh -c "sleep 3 && arch-update --tray"

.RB "\- Si vous avez utilisé le service systemd " "arch-update-tray.service" ", exécutez " "systemctl --user edit --full arch-update-tray.service " "et modifiez la ligne " "ExecStart=" ", comme ceci :"
.br
ExecStart=sh -c "sleep 3 && arch-update --tray"

.RB "\- Si vous utilisez un gestionnaire de fenêtres ou un compositeur Wayland, ajoutez une déclaration " "sleep " "avant la commande " "arch-update --tray " "à vos applications auto-start dans votre fichier de configuration, comme ceci :"
.br
"sleep 3 && arch-update --tray"

.RB "Si l'applet systray ne démarre toujours au démarrage du système, essayez de graduellement augmenter la valeur du " "sleep".

.TP
.B Modifier le cycle de vérification automatique
.RB "Si vous avez activé le " "systemd.timer" ", l'option " "--check " "est automatiquement lancée au démarrage du système puis une fois par heure."
Expand Down