web-dev-qa-db-fra.com

Comment prendre une capture d'écran en utilisant le serveur Ubuntu 17 sur le port 80

J'ai déployé une page Web à l'aide d'Apache2 installé sur mon serveur Ubuntu 17 Azure.

Existe-t-il une commande que je peux exécuter depuis le terminal où je peux capturer une capture d'écran de mon site Web via le port 80?

J'ai essayé cette commande: gnome-screenshot mais comme c'est un serveur, il dit:

Unable to init server: Could not connect: Connection refused

(gnome-screenshot:55421): Gtk-WARNING **: cannot open display: 

Comment puis-je ajouter le numéro de port à cette commande ou comment puis-je indiquer à la commande d'obtenir la capture d'écran depuis ma page Web?

1
codeDojo

Comme les commentateurs l'ont souligné, ce que vous essayez de faire n'est pas très bien défini sur un serveur sans tête. Le serveur Apache n'envoie aucune "image" de la page Web (uniquement du balisage HTML); L’image que vous voyez habituellement est générée par votre navigateur Web, qui peut afficher la même page différemment en fonction de la taille de l’écran (et d’autres éléments tels que la version du navigateur, les paramètres, etc.). Si vous n'avez pas d'écran, il n'y a pas de moyen clair pour capturer une image.

Cela dit, une solution possible (probablement la plus facile) dont j'ai entendu parler est PhantomJS , un navigateur Web sans tête: http://phantomjs.org/
Je n'ai toutefois pas utilisé cette méthode personnellement; Votre kilométrage peut varier.

Une solution plus générale permettant de créer des graphiques sur un serveur consiste à créer un affichage pour que les applications à interface graphique puissent être exécutées à l'aide de Xvfb. Cela vous permettrait d'utiliser gnome-screenshot comme vous le tentiez. Pour cela, commencez par installer et exécuter Xvfb:

Sudo apt-get install xvfb
export DISPLAY=:0
Xvfb $DISPLAY -screen 0 1920x1080x24 -shmem -cc 4 &

Ensuite, installez et exécutez Gnome:

Sudo apt-get install gnome-panel gnome-screenshot
gnome-settings &
gnome-panel &
metacity &

Vous aurez besoin d'un navigateur. Tout ira bien, mais j'utiliserai Firefox par exemple:

Sudo apt-get install firefox

Ensuite, lancez le navigateur pointé sur la page Web de votre choix (dans votre cas, le serveur Apache sur localhost port 80):

firefox http://localhost &

Enfin, prenez la capture d’écran exactement comme vous le tentiez:

gnome-screenshot

Facultativement, nettoyez les processus:

killall firefox Xvfb gnome-settings gnome-panel metacity

Comme vous pouvez le constater, cette méthode est beaucoup plus compliquée (et nécessite beaucoup de ressources: plus de 500 Mo d’installations), mais elle offre l’avantage de pouvoir prendre une capture d’écran de n’importe quelle application à l’interface graphique, comme vous le feriez sur un ordinateur de bureau. ne se limite pas à prendre des captures d'écran de pages Web.

1
midiarsi

S'il vous plaît jeter un oeil sur ce lien. http://www.upubuntu.com/2012/07/how-to-take-screenshot-from-terminal-on.html

ou essayez ceci sur votre terminal gnome-screenshot --help

0
SKullZzZz