[script]capture d'ecran(abandonné)

Autres projets et contributions
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

[script]capture d'ecran(abandonné)

Message par defcard »

bonjour, :D

je viens de faire un petit script pour faire une capture d'ecran

donc,c'est pas long du tout

Code : Tout sélectionner

#!/bin/sh
mv /home/utilisateur/*.png /chemin/du/dossier/Screenshots
sleep 5
scrot
sleep 1
feh -g "640x360" /home/utilisateur/*.png &
sleep 1
mv /home/utilisateur/*.png /chemin/du/dossier/Screenshots
exit 0
il faut donc installer "feh" et "scrot" pour qu'il fonctionne

Code : Tout sélectionner

# pacman -S feh scrot
il faut aussi l'adapter a la taille d'image que l'on veut.

ce script va
-verifier si il se trouve un png dans le dossier personnel
-deplacer ce dernier png vers le dossier "Screenshots"
-attendre 5 secondes ,le temps de mettre en place le bureau,par exemple: pour avoir le "menu" du panel sur le screenshot ou cacher le curseur de souris en bas a droite :)
-lancer "scrot" qui va faire le screenshot
-attendre une seconde de latence(je suis parano!! :lol: )
-lancer "feh" qui va ,dans ce cas,faire apparaitre une fenetres avec le screenshot du bureau d'une taille de 640x360
-encore une seconde d'attente!
-deplacer la capture qui se trouve dans le "dossier personnel" vers le dossier "Screenshots"
-et quitter le script

@edit
la on peut constater que s'il se trouve un quelquonque "png" dans le "dossier personnnel",il va le deplacer dans le dossier "Screenshots"...blll...c'est pas bien! :(

je sais comment faire autrement,mais bon je laisse chercher un peu!

@reedit
bah aller,je colle le "finalisé" qui fonctionne pour moi.

Code : Tout sélectionner

#!/bin/sh
mv /root/Images/tmp/*.png /root/Images/Screenshots
sleep 5
cd /root/Images/tmp
scrot
sleep 1
feh -g "640x360" /root/Images/tmp/*.png &
sleep 1
mv /root/Images/tmp/*.png /root/Images/Screenshots
exit 0
voila,j'attends vos commentaires et le resultat de vos test!! :bravo: et aussi les failles(s'il en existe).
Dernière modification par defcard le mer. 08 mai 2013, 20:37, modifié 2 fois.
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

salut pourquoi ne te places tu pas simplement au début de ton script à ton dossier de screenshots ? celà t'éviterais des désagréments.
\_o<
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

bonjour, coincoin

tu veux dire le dossier "tmp"?
quel est le risque?

en faite avec mon script,tu peux faire plusieurs "screenshots" sans avoir besoin de fermer la fenetre de "feh" a chaque fois,sinon ca affiche deux fois le meme screenshot...

on peut faire evoluer le script,pour,par exemple,faire plusieurs screenshots a la suite,avec une pause de "n" secondes entre chaque capture...en restant en "sh" et lancer l'appli dans le terminal et ainsi poser les deux trois questions du timing, de le taille du screenshot ou encore de la durée entre chaque capture.

tout ceci a coup de "if",de "read" ,de "echo" et de "parenthese" et tout ca! :mrgreen:

@edit
par preferences on peut ajouter un "killall" au lancement
ce qui donne:

Code : Tout sélectionner

#!/bin/sh
mv /root/Images/tmp/*.png /root/Images/Screenshots
killall feh
sleep 5
cd /root/Images/tmp
scrot
sleep 1
feh -g "640x360" /root/Images/tmp/*.png &
sleep 1
mv /root/Images/tmp/*.png /root/Images/Screenshots
exit 0
la on peut faire plusieurs screenshots sans devoir fermer "feh" entre chaque lancement du script,ce qui est pratique en faite.
Dernière modification par defcard le mer. 08 mai 2013, 12:51, modifié 3 fois.
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [script]capture d'ecran

Message par FoolEcho »

*Mode rabat-joie*. :copain: :pastaper: :merci:

Ça ne nécessite pas un script (allez, si admettons si tu veux capturer et afficher dans la foulée... mais même ça, à mon avis, un alias suffirait largement).
Déplacer n'a strictement aucun intérêt car tu peux directement indiquer à scrot l'emplacement du fichier de sortie (tu peux même modifier le format du nom de fichier si ça te chante, cf. man scrot).

Pour info, l'intérêt d'un script est d'être réutilisable sans modification. Ce qui implique des variables pour les choses qui se répétent, entre autres. Le sleep est un cache misère qui à 99,99% masque un problème de conception. etc.
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

tu pourrais en ecrire un vite fais?
un script simple n'ayant que des "constantes".pas besoin d'options "plus"! et ,aussi, sans devoir l'adapter.
et biensur dans les regles(que tu as l'air de connaitre :bosse: )

tu l'as testé ,le mien ,au moins? :roll:

oui en faite sans feh,c'est plus simple

Code : Tout sélectionner

#!/bin/sh
sleep 5
cd /root/Images/Screenshots
scrot 
exit 0
le "sleep 5" pour avoir le temps de finioler le bureau
"cd" pour se placer dans le dossier de destination
lancer le "shot"
et quitter le script

et on peut le faire successivement autant que l'on veut

desolé pour les editions successive du message :oops:
j'ai fini!! :D
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [script]capture d'ecran

Message par FoolEcho »

defcard a écrit :tu l'as testé ,le mien ,au moins? :roll:
Non. :mrgreen:
defcard a écrit :un script simple n'ayant que des "constantes".pas besoin d'options "plus"! et ,aussi, sans devoir l'adapter.
Non :non: , car cela ne nécessite pas un script.

Ton script se résume à une utilisation correcte de scrot. :rtfm:
Crée un répertoire ~/captures par exemple, puis lance:

Code : Tout sélectionner

scrot ~/captures/'%Y-%m-%d-%k%M%S.png' -e 'feh $f'
Ensuite, il te suffit de faire un alias (note que le "$" doit être échappé) que tu peux rajouter dans ton ~/.bashrc si tu utilises un shell bash:

Code : Tout sélectionner

alias capture="scrot ~/captures/'%Y-%m-%d-%k%M%S.png' -e 'feh \$f'"
Puis (après déconnexion, ou après un source du .bashrc ou un nouveau shell) tu n'as plus qu'à lancer capture. :D

Ce n'est pas le tout de vouloir faire des scripts, il faut en faire quand ça se justifie. ;-)
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

bon ,j'ai fait un petit truc plus pratique mais sans affichage de "feh"

Code : Tout sélectionner

#!/bin/sh

exec 2>/dev/null      #ne pas prendre compte des erreurs

d=1                   #constante d'addition
export d
  for n in $(ls /root/Images/Screenshots/ |wc -l)      #compte le nombre de fichier dans le dossier "Screenshots" pour la "variable" n
    do
  echo "" 
done
 
export n
y=$((n+d))               #variable "n+d" qui sera le numero du fichier de sortie
export y

sleep 5                  #5 secondes de finiolage du bureau
cd /root/Images/tmp      #se placer dans le repertoire "tmp"
scrot                    #creation du "screenshot"
mv /root/Images/tmp/*.png /root/Images/Screenshots/Capture"$y".png     #deplacement et renommage du fichier "capture" de sorti 
rm -r /root/Images/tmp/*.png   #suppression du fichier dans tmp
exit 0     #quitte le script
c'est bien ou...y'a plus simple!!

@edit
t'as l'air plus compliqué que moi...tu dis de devoir se deconnecter...d'entrer des commandes dans le terminal et tout ca. :copain:
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

@defcard ce que te dit FoolEcho est plus simple ton script suivant :
defcard a écrit :

Code : Tout sélectionner

#!/bin/sh
sleep 5
cd /root/Images/Screenshots
scrot 
exit 0
peut se remplacer tout simplement par un

Code : Tout sélectionner

scrot -d #compteur /root/Images/Screenshots/screen.png

Code : Tout sélectionner

sleep 5                  #5 secondes de finiolage du bureau
cd /root/Images/tmp      #se placer dans le repertoire "tmp"
scrot                    #creation du "screenshot"
mv /root/Images/tmp/*.png /root/Images/Screenshots/Capture"$y".png     #deplacement et renommage du fichier "capture" de sorti 
rm -r /root/Images/tmp/*.png   #suppression du fichier dans tmp
exit 0     #quitte le script
Je ne comprend pas toujours pas pourquoi tu ne travailles pas directement dans ton répertoire de screenshots.

Franchement essaye de prendre le temps de comprendre ce que t'as écrit FoolEcho car avec sa méthode en ne tappant que capture dans ta console tu obtiens ce que tu souhaites... en une seule ligne... plus simple non ? Hésite pas à poser des questions dessus si tu ne saisis pas tout.
Dernière modification par coincoin le mer. 08 mai 2013, 15:17, modifié 3 fois.
\_o<
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

Je ne comprend pas pourquoi sinon toujours pas pourquoi tu ne travailles directement pas dans ton répertoire de screenshots.
ben comment veux-tu que je les renommes automatiquement?

cette commande ne fonctionne pas tel-quel!

Code : Tout sélectionner

# scrot -c #compteur /root/Images/Screenshots/screen.png
et celle ci ,apres ton edition de message,ne marche pas non plus lors de repetition de la commande,ca ecrase le premier fichier

Code : Tout sélectionner

# scrot -d 5 /root/Images/Screenshots/screen.png
Dernière modification par defcard le mer. 08 mai 2013, 15:18, modifié 1 fois.
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

Bon on va te prendre par la main lol. Tappe ceci dans ta console et regarde ce que ça te donne :

Code : Tout sélectionner

scrot /root/Images/Screenshots/'%Y-%m-%d-%k%M%S.png' -e 'feh $f' -d 5
Est ce que le résultat te plaît ?

edit : l'option -c en fait affiche le compte à rebour et -d est le delay. on édite en même temps aha dur de suivre la conversation...
\_o<
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

Bon on va te prendre par la main lol. Tappe ceci dans ta console et regarde ce que ça te donne :

Code : Tout sélectionner

scrot /root/Images/Screenshots/'%Y-%m-%d-%k%M%S.png' -e 'feh $f' -d 5
C'est pour ça qu'on t'a dit RTFM... Est ce que le résultat te plaît ?

edit : l'option -c en fait affiche le compte à rebour et -d est le delay
ben la il ne me renomme pas le fichier... :non: et ca m'affiche "feh" en tous grand et en plus il faut le fermer... :non:
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

oui pas besoin puisque chaque fichier aura un nom différent qui correspond à sa date de création.
\_o<
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

oui pas besoin puisque chaque fichier aura un nom différent qui correspond à sa date de création.
oui je sais ,mais moi je veux,en "plus", les renommer!!

coincoin a l'air interressant!
tu peux voir,si il y a plus simple.

en faite mon but:
-cliquer sur un icone du panel pour faire un "screenshot du bureau"
-le retrouver dans le repertoire "Screenshots" avec le nom de "Capture1"
-et lorsque je clique a nouveau sur l'icone,il me refait un screenshot qu'il envoie dans "le rep "Screenshots" avec le nom "Capture2" mais sans avoir effacer "Capture1"
-et ainsi de suite .

donc ,j'ai reussi a faire ce que je voulais mais si mon script peut etre plus simple...je suis prenneur! :bravo:
Dernière modification par defcard le mer. 08 mai 2013, 15:44, modifié 1 fois.
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

Dans ce cas il suffit de remplacer '%Y-%m-%d-%k%M%S.png' par ton compteur et donc tu mets à la fin de ton script :

Code : Tout sélectionner

scrot /root/Images/Screenshots/$y.png -e 'feh $f' -d 5
celà suffit... pas besoin de renommer...

edit : et pour ton compteur tu peux utiliser simplement

Code : Tout sélectionner

ls -1 /root/Images/Screenshots/*.png | wc -l
qui te donne le nombre de screenshots que tu as dans ton répertoire

ce n'est pas très beau mais pour te montrer qu'en une seule ligne tu peux faire ça avec un compteur :

Code : Tout sélectionner

scrot /root/Images/Screenshots/`ls -1 /root/Images/Screenshots/*.png | wc -l`.png -e 'feh $f' -d 5
\_o<
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

Code : Tout sélectionner

scrot /root/Images/Screenshots/`ls -1 /root/Images/Screenshots/*.png | wc -l`.png -e 'feh $f' -d 5
ca marche pas du tout!! :bravo: :non:

le mien est peut etre compliqués mais fonctionne!! :bravo:
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

Bon écoute ça marche très bien chez moi si tu ne veux pas faire d'efforts pour comprendre les démarches et en apprendre un peu plus tant pis pour toi...
On te dit qu'il n'y a pas besoin de scripts pour faire ce que tu fais, libre à toi de faire un script pour t'exercer, apprendre, bidouiller mais je vois pas l'intérêt de poster sur un forum demander des conseils et ne pas voir plus loin que le bout de son nez...
\_o<
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

mauvaise langue!! :copain:

ta commande ne marche pas si il n'y a pas de fichier existant dans le dossier "Screenshots"

@edit

a si...ca marche... :oops: desolé
bon bon,on voit ici la difference entre quelqu'un qui s'y connais et un "bricoleur" comme moi
...ben c'est super je vais l'utiliser pour mon script!!

merci beaucoup!! :bravo:
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [script]capture d'ecran

Message par coincoin »

no souci et t'inquietes c'est en forgeant qu'on devient forgeron :wink:
\_o<
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [script]capture d'ecran

Message par FoolEcho »

Pour chipoter, le renommage n'a pas beaucoup, voire pas du tout, d'intérêt à mon sens.
La création avec timestamp (date-heure) permettant d'avoir la même chose (un tri) avec l'avantage de ne possiblement pas écraser une capture antérieure. Exemple, tu as 3 captures: 1, 2, 3. Tu supprimes la 2 par toi-même et la capture suivante va t'écraser ton n°3. Ce qui obligerait donc à faire un script pour vérifier ça, du coup, ou renommer sans arrêt avant appel de la capture (question coût et efficacité, c'est vraiment nul par rapport au timestamp et je ne parle même pas de retrouver toi-même une capture qui change de nom sans arrêt :fou:).
defcard a écrit :bon bon,on voit ici la difference entre quelqu'un qui s'y connais et un "bricoleur" comme moi
Faut commencer par exploiter le man d'une commande. :rtfm: :pastaper: :merci: ;-)
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
defcard
Daikyu
Messages : 79
Inscription : jeu. 02 mai 2013, 16:56
Localisation : "Thionville" en Moselle

Re: [script]capture d'ecran

Message par defcard »

ben figure-toi que j'y ai penser au coup du fichier en moins et je comptais faire le truc...mais bah,j'ai decidé d'abandonner...

voila donc merci quand meme,et,a plus!! :)
linux a un defaut!! celui de faire couler l'assisstance-technique!!
ma gallery sur deviant-art
Répondre