Forum Linux.général Lancer programme flathub avec une tâche cron

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
3
24
mai
2024

Bonjour à tous,

Sur ma Fedora 40 j'essaie de lancer le programme FreeFileSync, que j'ai installé par Flathub, par une tâche cron avec mon compte utilisateur.

#crontab -e

DISPLAY=:0
35 07 * * * /usr/bin/flatpak run org.freefilesync.FreeFileSync /home/xxx/Documents/backup-xxx.ffs_batch

Bien sûr cela ne marche pas :( et dans les logs j'ai

mai 23 07:35:01 aaa CROND[6491]: (xxx) CMDOUT (Authorization required, but no authorization protocol specified)
mai 23 07:35:01 aaa CROND[6491]: (xxx) CMDOUT ()
mai 23 07:35:01 aaa CROND[6491]: (xxx) CMDOUT (07:35:01: Error: Unable to initialize GTK+, is DISPLAY set properly?)
mai 23 07:35:01 aaa CROND[6491]: (xxx) CMDEND (/usr/bin/flatpak run org.freefilesync.FreeFileSync /home/xxx/Documents/backup-xxx.ffs_batch)

J'ai vérifié le display

#echo $DISPLAY
:0

Je ne pense pas que FreeFileSync soit totalement en cause mais plutôt le faite qu'il utilise une interface graphique, que se soit un paquet Flathub et que j'essaie de lancer ça par cron… Ca commence à faire beaucoup :(

Est-ce que vous auriez une piste ?

Merci d'avance.
Philippe.

  • # xauth ?

    Posté par  (site web personnel) . Évalué à 7.

    Historiquement, xauth créait ~/.Xauthority. Depuis plein de versions, les gestionnaires de connexion (comme GDM) créent un fichier ailleurs, e.g. /run/user/1000/gdm/Xauthority et passent le chemin via l'environnement à la session graphique (et donc aux programmes démarrés dedans), cf. XAUTHORITY.

    Debian Consultant @ DEBAMAX

    • [^] # Re: xauth ?

      Posté par  (site web personnel) . Évalué à 2.

      Salut,

      Malheureusement je n'ai pas trouvé de fichier .Xauthority dans mon ~/ ou bien dans /run/user/1000/… (1000 est bien l'id de mon user).

      Au hasard j'ai utilisé la commande xauth et voilà ce qu'elle me retourne :

      $xauth 
      Using authority file /run/user/1000/.mutter-Xwaylandauth.IUSSO2
      

      Et le contenu du "fichier"

      pc05MIT-MAGIC-COOKIE-1��7����2(EC_����pc05MIT-MAGIC-COOKIE-1��7����2(EC_��
      

      Après je vois pas trop ce que je peux faire avec tout ça ?

      Born to Kill EndUser !

    • [^] # Re: xauth ?

      Posté par  (site web personnel) . Évalué à 4.

      J'ai quand même continuer les recherches et j'ai ajouté le chemin vers le fichier à ma tâche

      14 09 * * * env DISPLAY=:0 XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.IUSSO2 /usr/bin/flatpak run org.freefilesyn>
      

      Et magie ça marche !

      Merci.

      Born to Kill EndUser !

      • [^] # Re: xauth ?

        Posté par  (site web personnel) . Évalué à 2.

        Bon en fait cela marche à condition d'avoir lancer xauth avant. Maintenant reste à intégrer ça dans la tâche cron :(

        Born to Kill EndUser !

        • [^] # Re: xauth ?

          Posté par  (site web personnel) . Évalué à 3.

          Contrairement au chemin que je mentionnais, le tien est bien évidemment aléatoire (suffixe .IUSSO2), et va changer à chaque connexion sur ta session graphique.

          (Cela peut se vérifier dans le code de Mutter.)

          Depuis la crontab, il est probablement suffisant de faire une recherche dans le répertoire runtime pour trouver le fichier .mutter-Xwaylandauth.XXXXXX du jour, et positionner XAUTHORITY en conséquence.

          Debian Consultant @ DEBAMAX

          • [^] # Re: xauth ?

            Posté par  (site web personnel) . Évalué à 2.

            Cette fois c'est la bonne :

            57 08 * * * env DISPLAY=:0 XAUTHORITY=`find /run/user/1000/.mutter*` /usr/bin/flatpak run org.freefilesync.FreeFileSync "/home/xxxx/Documents/backup-xxxx.ffs_batch"
            

            Merci

            Born to Kill EndUser !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.