Comment prendre des captures d'écran en utilisant MAIM sur Linux

Comment prendre des captures d'écran en utilisant MAIM sur Linux

Sur Linux, il existe de nombreux services publics que nous pouvons utiliser pour prendre des captures d'écran. Chaque environnement de bureau complet, tel que Gnome, KDE ou XFCE, a son application intégrée spécifiquement conçue pour cette tâche, mais de nombreux autres petits
Des programmes indépendants de bureau existent. Dans ce tutoriel, nous parlons d'une application de ligne de commande très légère et polyvalente, mutiler (faire de l'image), et nous voyons quelles sont les nombreuses options que nous pouvons utiliser pour modifier son comportement.

Dans ce tutoriel, vous apprendrez:

  • Comment installer MAIM sur les distributions Linux les plus utilisées
  • Comment prendre une capture d'écran de tout l'écran
  • Comment enregistrer la capture d'écran dans un format spécifique (PNG / JPG)
  • Comment sélectionner une région de l'écran de manière interactive
  • Comment prendre une capture d'écran d'une fenêtre en passant son identifiant à Maim
  • Comment prendre des captures d'écran avec un retard
  • Comment utiliser MAIM dans un pipeline

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel MAIM, XDOTOOL pour obtenir ID Windows
Autre aucun
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Installation

Le mutiler L'utilitaire a été conçu comme une version améliorée d'une autre ligne de commande utilitaire utilisée pour prendre des captures d'écran sur Linux: Scrot. L'application est un logiciel gratuit et open source, et le code source est disponible sur github. MAIM est disponible dans les référentiels par défaut de toutes les distributions Linux les plus utilisées, nous pouvons donc facilement l'installer sur Fedora, Archlinux, Debian et ses dérivés. Sur la distribution communautaire parrainée par Red Had, nous pouvons utiliser le DNF Gestionnaire de packages pour accomplir la tâche.
Nous courrons:

$ sudo dnf install maim 

Le package «MAIM» est également disponible dans le référentiel «communautaire» Archlinux. Pour l'installer, nous pouvons utiliser Pac-Man:

$ sudo Pacman -Sy Maim 

Enfin, sur Debian et ses dérivés, nous pouvons synchroniser nos référentiels et installer l'utilitaire en utilisant apt-get:

$ sudo apt-get update && sudo apt-get install mam 

Une fois l'application installée dans notre système, nous pouvons l'utiliser pour prendre des captures d'écran à partir de la ligne de commande. Voyons comment!

Utilisation de base

L'utilitaire MAIM est très facile à utiliser. Voyons tout d'abord son utilisation de base. Disons que nous voulons prendre une capture d'écran de l'ensemble de l'écran et l'enregistrer dans la «capture d'écran.fichier png ”. Tout ce que nous avons à faire est d'invoquer Maim et de passer le chemin
du fichier comme argument. Nous courrons:

$ Maim ~ / Capture d'écran.PNG 

Par défaut, l'application essaiera de comprendre le format dans lequel enregistrer l'image du nom de fichier, donc par exemple, lors de l'exécution de la commande ci-dessus, l'image sera enregistrée sous forme de PNG. Il existe cependant une option que nous pouvons utiliser pour passer explicitement le format que nous voulons utiliser: -F (court pour --format). Pour enregistrer explicitement une image
En tant que JPG, nous courions:

$ MAIM -F JPG ~ / Capture d'écran 

Comme nous l'avons déjà dit, seuls les formats PNG et JPG sont pris en charge, le premier étant le par défaut. Nous avons également la possibilité de sélectionner la qualité de l'image résultante en utilisant le -m option et exprimer le niveau de compression avec un entier de 1 pour dix: Cela aura des effets différents en fonction du format d'image choisi.

Sélectionner interactivement la région pour capturer

Lors de l'exécution des commandes que nous avons utilisées dans les exemples précédents, le contenu de l'écran entier sera automatiquement inclus dans la capture d'écran, sans avoir besoin d'interaction utilisateur. Dans certains cas, cependant, nous pouvons vouloir sélectionner les régions des écrans pour capturer plus précisément. Pour accomplir la tâche, nous pouvons exécuter l'application avec le -s option (--sélectionner)); Cela exécutera MAIM en «Mode interactif»:

$ MAIM -S ~ / Capture d'écran 

Une fois que nous exécuterons la commande ci-dessus, la forme du curseur se transformera en un panneau «plus» et nous pourrons sélectionner la région pour capturer. Une fois que nous publierons le bouton gauche de la souris, la capture d'écran sera enregistrée sur le chemin spécifié.

Ne capture qu'une fenêtre spécifique par son identifiant

Une autre option que nous pouvons utiliser pour capturer une fenêtre spécifique, laissant de côté tout le reste, est d'exécuter MAIM avec le -je (--fenêtre) Option et passer l'ID de la fenêtre que nous voulons capturer comme argument à l'option. À ce stade, une question soulèvera sûrement: «Comment pouvons-nous obtenir un ID de fenêtre ?". Lorsque vous utilisez le serveur Xorg, nous pouvons utiliser le XDOTOOL Utilité pour accomplir cette tâche. Tout ce que nous avons à faire est d'invoquer la demande avec le selectWindow Commande et puis, une fois que la forme du curseur change, cliquez sur la fenêtre, nous voulons connaître l'ID de. Son identifiant sera signalé dans le terminal:

$ xdotool selectwindow 37748743 

Une fois que nous connaissons l'ID de la fenêtre, nous pouvons le passer à Maim, de la manière suivante:

$ MAIM -I 37748743 ~ / Capture d'écran 

Nous pouvons utiliser le même principe pour ne capturer que la fenêtre active. Cette fois, tout ce que nous avons à faire est de lancer xDotool avec le getactivewindow Commande, qui renvoie l'ID de la fenêtre active actuelle. En utilisant la commande shell
Caractéristique de substitution, nous pouvons tout faire en une seule ligne:

$ Maim -i "$ (xdotool getactivewindow)" ~ / capture d'écran 

Y compris l'arrière-plan lorsqu'une région spécifique est sélectionnée

Lorsque nous sélectionnons une région spécifique de l'écran à capturer, soit de manière interactive, soit en spécifiant l'ID de fenêtre comme dans l'exemple précédent, MAIM ne capturera que la fenêtre spécifiée et ignorera l'arrière-plan. Voici
Un exemple de capture d'écran a pris la sélection de la fenêtre active actuelle:

Comme vous pouvez le voir, l'arrière-plan original qui était sous l'image n'était pas inclus dans la capture d'écran. Dans la grande majorité des cas, c'est le comportement recherché. Si nous voulons inclure l'arrière-plan, cependant, nous pouvons utiliser le -B option, qui est la forme courte de --Capturebackground. Ci-dessous, vous pouvez voir le résultat de l'invoquer l'application avec lui:

Prendre une capture d'écran avec un retard

MAIM est livré avec une fonctionnalité très intéressante: il peut utiliser un retard exprimé en quelques secondes avant de prendre une capture d'écran. L'option qui nous permet de le faire est -d (qui est le court pour --retard). Comme vous pouvez l'imaginer, tout ce que nous avons à faire est de passer un flotteur comme argument à l'option. Attendre 5 quelques secondes avant de prendre une capture d'écran, nous pouvons donc exécuter la commande suivante:

$ MAIM -D 5 ~ / Capture d'écran 

Une fois la commande lancée, un compte à rebours apparaîtra à l'écran. Après son expiration, la capture d'écran sera enregistrée à l'emplacement spécifié.

Utilisation de Maim dans un pipeline

Dans les exemples précédents, nous avons fourni un chemin de fichier qui devrait être utilisé pour enregistrer la capture d'écran prise avec MAIM. Cet argument, cependant, peut être omis si MAIM est utilisé dans un pipeline, car la commande par défaut produit les données d'image codées à la sortie standard. Cette fonctionnalité nous permet de faire quelque chose avec l'image prise avec Maim à la volée. Voyons un exemple. Supposons que nous voulons prendre une capture d'écran et le copier automatiquement dans notre presse-papiers; Si vous utilisez Xorg, nous pourrions écrire:

$ MAIM | Presse-papiers Xclip-Selection 

Dans l'exemple ci-dessus, la sortie de MAIM, qui est les données d'image codées, est utilisée comme entrée standard du xclip Application, qui est l'interface de ligne de commande avec les sélections de serveur X. Dans ce cas, nous l'exécutons avec le -sélection option qui nous a permis de spécifier quelle sélection x utiliser.

Les données d'image codées seront enregistrées dans notre presse-papiers, prêtes à être collées dans notre éditeur d'image préféré ou toute autre application qui prend en charge les images.

De la même manière, nous modifions l'image prise en la transmettant à l'entrée standard des applications de ligne de commande telles que ImageMagick.

Conclusions

Dans ce tutoriel, nous avons appris à utiliser MAIM, un utilitaire de ligne de commande utilisé pour capturer des captures d'écran sur Linux lors de l'exécution du serveur Xorg. Nous avons vu comment installer l'application dans certaines des distributions Linux les plus utilisées, comment
Utilisez-le pour capturer l'ensemble de l'écran ou seulement une région spécifique de manière interactive ou en passant l'application l'ID d'une fenêtre et comment spécifier le format dans lequel enregistrer la capture d'écran. Nous avons également vu comment prendre des captures d'écran avec un retard et comment exécuter MAIM en pipeline.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Installation de Manjaro Linux KDE
  • Kde néon vs kubuntu vs kde plasma
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Kubuntu vs Fedora Kde Plasma Desktop
  • Téléchargement Linux
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment prendre une capture d'écran sur Kali Linux