Captures d'écran

Vook -  
 Utilisateur anonyme -
Bonjour,

Ayant vu des captures d'écran sur osdir, je me demandais bien comment ils font pour faire des capture d'écran alors que l'installation de l'OS n'est même pas encore finie.

En fait je voudrais faire une capture d'écran de grub, et de kdm(ou gdm) et de mon splashscreen kde, mais je ne sais pas comment faire. Est-ce que quelqu'un peut m'aider svp?

Merci.
A voir également:

11 réponses

saga9 Messages postés 5912 Date d'inscription   Statut Contributeur Dernière intervention   876
 
Salut,
je pense que les captures d'ecran se font via un emulateur pc.
Il en existe plein dont QEMU qui est libre.
Le souci est qu'il faut installer l'os sur le pc virtuel "qemu":
http://fabrice.bellard.free.fr/qemu/
0
Vook
 
Je m'en doutais aussi de l'émulation,

J'ai alors une question:
Pourrais-je faire une capture après lancement de X, capture de kdm par exemple ou du splashscreen? J'ai vu un peu à propos de xwd mais je ne vois pas comment l'utiliser à ce fin.

Encore merci.
0
marc[i1] Messages postés 2603 Statut Contributeur 382
 
J'ai peut être une solution mais je ne garantie rien ;)

1 - à l'invite de saisie utilisateur (devant KDM), tu fais :
CLRL+ALT+F1

2 - tu te trouves face à une invite en mode texte, tu te loggue en utilisateur.
3 - tu utilises imagemagic pour faire un imprime écran en tapant :
import monimage.png

4 - tu fais
CLRT+ALT+F7

5 - tu clics avec ta souris n'importe tout sur ton écran
6 - tu retournes à la console 1 :
CTRL+ALT+F1

7 - tu vérifies que le fichier existe :
ls *.png

8 - tu fermes ta session :
exit

9 - tu retournes à l'invite X :
CTRL+ALT+F7

10- tu te loggues comme d'habitude et tu ouvres ton image avec The Gimp ou autre !

Bon, c'est un peu cavalier, mais cela devrait fonctionner en théorie :)
0
Vook
 
Merci, je vais essayer ça ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marc[i1] Messages postés 2603 Statut Contributeur 382
 
:(
je viens de tester (chez moi ^_^) et c'est ce que je redoutai, imagemagic ne veux pas se lancer car la session n'a pas lancer de serveur X !

mais bon, on doit bien pouvoir !!!
0
Vook
 
J'ai essayé aussi mais pareil que chez toi
Je pensais en fait à une ligne comme "
xwd -root -out root.xwd
" à ajouter à xinitrc ou qqch du genre pour prendre des screenshots et les mettre dans un fichier. Mais je ne sais pas m'y prendre. Mon xinitrc ne contient qu'une ligne:
 . /etc/X11/Xsession
0
Phiphi57 Messages postés 789 Date d'inscription   Statut Contributeur Dernière intervention   295
 
Salut!

jamais testé, mais pour rester dans l'idée un peu "cavalière", il me semble que tu as possibilité d'ouvrir une seconde session graphique (sur un bureau virtuel a choisir) : ainsi, tu pourrais peut etre lancer ton appli graphique ...

ctrl + alt + F1
tu te logges
puis :
startx -- :1
ctrl + alt + F8
pour aller sur cette session graphique...
puis tu prends un capture de ton premier ecran sur lequel tu as toujours kdm??
bon courage!

Phiphi
0
Vook
 
Marche pas non plus :(. Il veut pas lancer deux fois X

J'ai essayé de mettre la commande xwd dans xinitrc, et j'ai eu un screenshot, comme rien qu'un fond d'écran. Je crois que c'est l'image qui s'affiche juste avant kdm.
xwd -root -out /home/moi/capture1.xwd
 . /etc/X11/Xsession


Le fichier Xsession contient ceci:

#!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)

# $Id: Xsession 1507M 2004-09-13 07:36:26Z (local) $

set -e

PROGNAME=Xsession

message () {
  # pretty-print messages of arbitrary length; use xmessage if it
  # is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

message_nonl () {
  # pretty-print messages of arbitrary length (no trailing newline); use
  # xmessage if it is available and $DISPLAY is set
  MESSAGE="$PROGNAME: $*"
  echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
  if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
    echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
  fi
}

errormsg () {
  # exit script with error
  message "$*"
  exit 1
}

internal_errormsg () {
  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
  # One big call to message() for the sake of xmessage; if we had two then
  # the user would have dismissed the error we want reported before seeing the
  # request to report it.
  errormsg "$*" \
           "Please report the installed version of the \"xfree86-common\"" \
           "package and the complete text of this error message to" \
           "<debian-x@lists.debian.org>."
}

run_parts () {
  # until run-parts --noexec is implemented
  if [ -z "$1" ]; then
    internal_errormsg "run_parts() called without an argument."
  fi
  if [ ! -d "$1" ]; then
    internal_errormsg "run_parts() called, but \"$1\" does not exist or is" \
                      "not a directory."
  fi
  for F in $(ls $1); do
    if expr "$F" : '[[:alnum:]_-]\+$' > /dev/null 2>&1; then
      if [ -f "$1/$F" ]; then
        echo "$1/$F"
      fi
    fi
  done
}

# initialize variables for use by all session scripts

OPTIONFILE=/etc/X11/Xsession.options

SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources

SYSSESSIONDIR=/etc/X11/Xsession.d
USERXSESSION=$HOME/.xsession
ALTUSERXSESSION=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors

# attempt to create an error file; abort if we cannot
if touch "$ERRFILE" 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

exec >"$ERRFILE" 2>&1

echo "$PROGNAME: X session started for $LOGNAME at $(date)"

# sanity check; is our session script directory present?
if [ ! -d "$SYSSESSIONDIR" ]; then
  errormsg "no \"$SYSSESSIONDIR\" directory found; aborting."
fi

# Attempt to create a file of non-zero length in /tmp; a full filesystem can
# cause mysterious X session failures.  We do not use touch, :, or test -w
# because they won't actually create a file with contents.  We also let standard
# error from tempfile and echo go to the error file to aid the user in
# determining what went wrong.
WRITE_TEST=$(tempfile)
if ! echo "*" >>"$WRITE_TEST"; then
  message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \
          "with an error"
fi
rm -f "$WRITE_TEST"

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run_parts $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  for SESSIONFILE in $SESSIONFILES; do
    logger -t X -p daemon.info "Doing run-parts of: $SESSIONFILE"
    . $SESSIONFILE
  done
fi

exit 0

# vim:set ai et sts=2 sw=2 tw=80:


Alors je sais pas où mettre la commande de capture pour avoir kdm et le splashscreen.

ps: j'ai du composer le code de sécurité "gode" ... ;)
0
marc[i1] Messages postés 2603 Statut Contributeur 382
 
Marche pas non plus :(. Il veut pas lancer deux fois X
tu ne peux pas lancer 2 sessions X pour le même utilisateur.

donc pour lancer une deuxieme session tu peux le faire seulement avec un autre utilisateur :)
0
Vook
 
... avec un autre utilisateur
Au stade où KDM est affiché, aucun utilisateur n'est encore loggé, non?
Si je me loggues en root sur un autre display, je ne devrais pas avoir de restrictions. Mais ça ne marche pas.

Est-ce que vous pourriez m'indiquer à quel endroit dans Xsession (si c'est le bon fichier) ci-dessus dois-je insérer la commande de capture?
0
Utilisateur anonyme
 
pour capturer ton splash, utilise Xnest
0