3 votes

Daemon de lancement OSX pour les captures d'écran périodiques

J'essaie de comprendre comment créer un démon qui prendra des captures d'écran toutes les 5 minutes sous OSX.

Le démon avec launchctl semble s'exécuter sous une session séparée, de sorte que les captures d'écran que j'obtiens en ce moment sont juste de mon écran d'accueil vide plutôt que l'écran de ma session actuelle.

Actuellement, j'ai un screencapture script :

#!/bin/bash

screencapture ~/Desktop/$(date +%y%m%d%H%M%S).png

Et un fichier plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
        <dict>
                <key>Label</key>
                <string>com.startup</string>
                <key>Program</key>
                <string>path_to_script/screenshots.sh</string>
                <key>StartInterval</key>
                <integer>15</integer>
        </dict>
</plist>

2voto

user43889 Points 266

Dans les commentaires de la question, vous dites "Mais je veux juste qu'il suive ce que je fais de mon temps".

Si j'interprète votre question comme étant de savoir comment suivre l'utilisation d'une application, je risque d'être rétrogradé pour ne pas avoir répondu à votre question comme dans son titre.

Je pense qu'une grande collection de captures d'écran n'est pas le meilleur moyen de suivre ce que vous faites. Il est certain qu'une analyse plus approfondie sera complexe.

Pour suivre l'utilisation des applications, j'utilise Keyboard Maestro avec une macro à une action.

enter image description here

Cela crée un fichier CSV avec trois champs : Date, heure et nom de l'application.

Cela fournira l'utilisation de l'application sous une forme qui se prête à une analyse plus approfondie.

-1voto

siniradam Points 109

Je suppose que votre problème n'est pas la commande mais la permission. Préférences système > Paramètres de confidentialité > Enregistrement d'écran : Sélectionnez Terminal et autorisez-le.

Screen Recording Permission for Big Sur

Mise à jour : Si cela ne fonctionne toujours pas, en plus de ce qui précède, vous pouvez essayer de faire une capture d'écran en tant qu'utilisateur spécifique ;

Dans le Terminal, récupérez l'identifiant de l'utilisateur avec la commande suivante

id -u "username"

Ensuite, essayez d'éditer votre commande comme ;

launchctl asuser UID screencapture ~/Desktop/$(date +%y%m%d%H%M%S).png

Vous pouvez donc lancer la commande en tant qu'utilisateur de votre compte personnel.

-1voto

sfxedit Points 1510

Une façon plus simple de le faire est d'utiliser cron - Automatiser l'exécution d'un script avec crontab sur MacOS .

De plus, la commande screencapture est dotée d'une fonction de minuterie :

screencapture -T 600 timedshot.jpg

(La commande ci-dessus prendra une capture d'écran toutes les 10 minutes, c'est-à-dire 600 secondes).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X