Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm using Ubuntu 12.04 . If more information is needed, please tell me. I Tried some guides to cature my login screen:

How can I take a screenshot of the login screen?

http://www.howtoforge.com/how-to-take-a-screenshot-of-your-login-screen

I tried the first one, but after running:

$ sudo bash /tmp/shot.sh >/tmp/shot.xwd

I'm getting this:

No protocol specified
No protocol specified    
xwd unable to open display ':0'

and i'm getting an xwd file in my tmp folder. running the other commands giving errors.

tried the second one, after running:

chvt 8; sleep 5; XAUTHORITY=/var/gdm/:0.Xauth DISPLAY=:0.0 import -window root /tmp/gdm-login-shot.png

I got:

No protocol specified
No protocol specified
import: unable to open X server ':0.0' @ error/import.c/ImportImageCommand/366 

Many Thanks for helping (:

EDIT to vine_user: here the output from the terminal-I cacked it from within the system while I'm looged in:

ubuntu@PrecisePangolin:~$ echo 'sleep 5; DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/$DISPLAYDISPLAY xwd -root' > /tmp/shot.sh
ubuntu@PrecisePangolin:~$ sudo bash /tmp/shot.sh >/tmp/shot.xwd
bash: /tmp/shot.xwd: Permission denied
ubuntu@PrecisePangolin:~$ sudo su
root@PrecisePangolin:/home/ubuntu#  sudo bash /tmp/shot.sh >/tmp/shot.xwd
No protocol specified
No protocol specified
xwd:  unable to open display ':0'
root@PrecisePangolin:/home/ubuntu#

EDIT 2!: HERE IT IS!: enter image description here

just uploading-this uploadong site is better than other iuset to use (: : enter image description here

share|improve this question
    
Sorry, /var/run/lightdm/root/$DISPLAYDISPLAY was my misleading.Replace to /var/run/lightdm/root/$DISPLAY. –  vine_user Aug 18 '12 at 1:49
    
Never be sorry for helping (: you're helping me a lot! I'm going to try your solution, Thanks! –  yinon Aug 18 '12 at 17:16
    
And It's Working! Thanks SO MUCH! YOU Made My Day! Thanks! I'm Editing and I'll put my picture (: another thing, except that the display manager is different in Ubuntu 12.04 LTS, Have I done another things unright earlier? Could you please teach me a bit about my mistake and way it's wrong? It will help me in the future (: Thanks. –  yinon Aug 18 '12 at 17:46
add comment

4 Answers

up vote 3 down vote accepted

Step1:

Make /tmp/shot.sh using this command:

echo 'sleep 20; DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/$DISPLAY xwd -root' > /tmp/shot.sh

You may change the seconds of sleep suitably.

Step2:

Login to the text mode by pressing Ctrl+Alt+F1.

Step3:

Execute this command;

 sudo bash /tmp/shot.sh >/tmp/shot.xwd

Step4:

Return to the GUI mode by pressing Ctrl+Alt+F7.

Step5:

Logout by normal way. While you can see login screen, wait for some seconds.

Step6:

Login by normal way. And execute this command in terminal;

convert /tmp/shot.xwd /tmp/shot.png

(you need to install imagemagick, if you don't have installed it yet)

So, you can check the picture using this command;

eog /tmp/shot.png

Reference: http://ptspts.blogspot.jp/2010/02/how-to-create-screen-shot-of-gdm-login.html

In 12.04, it differs in using lightdm.

share|improve this answer
    
you mean: $ sudo bash sleep 20; DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/$DISPLAY xwd -root >/tmp/shot.xwd ? –  yinon Aug 17 '12 at 16:27
    
I edited and put the output. –  yinon Aug 17 '12 at 16:37
    
OK, I will rewrite in detail, please wait a moment. –  vine_user Aug 17 '12 at 16:43
    
ok, I'm waiting for your new comment/answer. Thanks you for helping. –  yinon Aug 17 '12 at 16:45
    
I may be loggedout fron the site untill tomorrw night. it's just i have to go. I'll check your good answer then. Thanks again, you're great (: –  yinon Aug 17 '12 at 16:49
add comment

Try running the following command...

unity-greeter --test-mode  

... and taking a screenshot of that.

share|improve this answer
    
I need to capture my login screen which is with my username and background. and also the unity-greeter in the terminal is smaller. Thanks. more ideas? –  yinon Aug 17 '12 at 16:05
add comment

The answer by vine_user gave me a Black image so I modified it as below and got it correctly

  1. Make /tmp/shot.sh with the command echo 'chvt 7; sleep 10; DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/$DISPLAY xwd -root' > /tmp/shot.sh
  2. Logout and login to text mode (Ctrl+Alt+F1)

  3. Execute sudo bash /tmp/shot.sh >/tmp/shot.xwd

  4. Return to GUI mode by pressing Ctrl+Alt+F7 (sometimes it is Ctrl+Alt+F8 - if it is your case then modify the fisrt command by replacing chvt 7 with chvt 8

  5. Use the command convert /tmp/shot.xwd ~/Desktop/shot.png to convert the /tmp/shot.xwd to ~/Desktop/shot.png (imagemagick is required)

Here is the screenshot of my login screen enter image description here

share|improve this answer
add comment

I have Written a small script to make it simple. I am sharing it here.

Install Step 1: Save this code into your home directory a file named loginsceenshot.sh

## Save this file in your home folder loginscreenshot.sh 
## make the file Executable 
## Hit Ctrl+Alt+F1 
## login and run program using
## sudo ./loginscreenshot.sh
echo "Waiting  .... "
echo "Now Go to Ctrl+Alt+F7"
sleep 15
echo 'Click ...  '
DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/$DISPLAY xwd -root > tmp.xwd
convert tmp.xwd ScreenShot.png
rm tmp.xwd
echo "ScreenShot is Taken, Please check your home directory and open 'ScreenShot.png'"

Install Step 2 Hit Ctrl + Alt + F1, login, and type this.

chmod +x ./loginsceenshot.sh
sudo apt-get install imagemagick

Use Step 1 Hit Ctrl + Alt + F1, login, and type this.

sudo ./loginsceenshot.sh

Use Step 2 Hit Ctrl + Alt + F7, goto Login page and wait for 15 sec.

Use Step 3 Open you home directory and look of ScreenShot.png

Myhomescreen

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.