ログイン画面のスクリーンショットを撮るにはどうすればよいですか?


31

ログイン画面のスクリーンショットを撮るにはどうすればよいですか?

仮想マシンでUbuntuインストールを再作成したくありません。


1
私が最初に探すのは、Xの出力をキャプチャするものです。「screenshot xserver」を検索すると、Linuxquestions.orgでこの答えが見つかります。
-Lekensteyn

この関連する議論は関連があるかもしれません:superuser.com/q/290432/120246
Waldir Leoncio

私はこの中で、これを実行するためのスクリプトを共有しているaskubuntu.com/questions/177067/...
Nafisアフマドを

回答:


17

このブログは役に立つかもしれません:http : //ptspts.blogspot.com/2010/02/how-to-create-screen-shot-of-gdm-login.html

以下の画像ファイル形式変換のためにImageMagickをインストールします。

sudo apt-get install imagemagick

ヘルパースクリプトを作成します。

echo 'DISPLAY=:0 XAUTHORITY=/var/lib/gdm/:0.Xauth xwd -root' >/tmp/shot.sh

ログイン画面がアクティブであることを確認します(ログアウトするか、マシンを再起動し、ログイン画面が表示されるまで待ちます)。(Ctrl-Alt-F1を押して)テキストモードでログインするか、SSHを使用します。実行してスクリーンショットを作成する

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

ここでログインできます(最初にCtrl-AltF7を押してGDMログイン画面に戻ります)。スクリーンショットをJPEGおよび/またはPNGに変換します:

convert -quality 50 /tmp/shot.xwd /tmp/shot.jpg
convert /tmp/shot.xwd /tmp/shot.png

お気に入りの画像ビューアでスクリーンショットを表示します。


4
私が使用して終了しsudo sh -c 'sleep 5s; xwd -display :0 -root | convert - screenshot.png'た仮想コンソールから、5秒、睡眠中に、ログイン画面に切り替えます。
アーンドリューク

3
これをlightdm用に調整しました。$ echo 'DISPLAY =:0 XAUTHORITY = / var / run / lightdm / root /:0 xwd -root'> /tmp/shot.sh
popey

11

11.10およびLightdm以降の場合

unity-greeter --test-modeターミナルで実行してみてください。セッション内でログイン画面を表示します。その後、他のアプリケーションで通常行うように、ログイン画面のスクリーンショットを撮ることができます。

ここに画像の説明を入力してください


しかし、それはあまりにも一般的であり、変更は表示されません 現在の変更をテストする方法はありますか?
Ubuntuser

@Ubuntuser知らない。どの修正をテストしていますか?
jokerdino

私は指紋リーダーをテストしています。ログイン画面とロック画面でうまく表示されます。両方のスクリーンショットを撮りたいです。
Ubuntuser

@Ubuntuserあなたが行った変更は、Unity-greeterではなく、lightdmに直接影響していると思いますか?私はわかりません。私はただ推測しています。新しい質問をする場合があります...
jokerdino

8

これを試すことができます:

gnome-screenshot -d 10

コマンドを入力して画面をロックするだけで何かをインストールする必要はありません。コマンドが実行されてから10秒以内に画面が撮影されます。

さらに..コマンドは画面をロックし、スクリーンショットをクリップボードにコピーして、画面を再びロック解除します。すべてそれ自身で。

gnome-screensaver-command -l && sleep 2 && gnome-screenshot -c && loginctl unlock-session

 ここに画像の説明を入力してください


3
これは私が見つけた最も簡単な解決策です。
苛性アルカリ

7

Ubuntu 14.04の場合

Ubuntu 14.04では上記の回答が機能しませんでした-周りを検索して、これが機能することがわかりました。

  1. ImageMagickをインストールする

    sudo apt-get install imagemagick
    
  2. shot.shできればホームフォルダーに名前を付けてホームディレクトリにファイルを作成し、その中に次のコードを貼り付けます。

    chvt 7;
    sleep 5s;
    DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 xwd -root -out ~/screenshot.xwd;
    convert ~/screenshot.xwd ~/screenshot.png;
    rm ~/screenshot.xwd
    
  3. 実行可能にする

    sudo chmod +x shot.sh
    
  4. システムからログアウトします。コンソール(tty1)に移動してログインするには、Ctrl+ Alt+ F1を押します。次のコマンドを使用してスクリプトを実行します。

    sudo ./shot.sh
    

ログイン画面のグラフィカルインターフェイス(chvt 7)に戻り、5秒後に、スクリーンショットを取得して、ファイル名とともにホームディレクトリに保存しますscreenshot.png


これが私のものです:

ここに画像の説明を入力してください

ソース:http : //itsfoss.com/screenshot-login-screen-ubuntu-linux/


このシェルスクリプトは、Unity 7.5.0を使用するUbuntu 18.10 Cosmic Cuttlefishでも動作することを確認できます。1回の試行でスクリーンショットを正常に取得できます。@Partoありがとう。
アデマルササアクバル

6

これを端末に入力します。

dm-tool add-nested-seat --fullscreen

それでおしまい!通常どおりスクリーンショットを撮ります

Alt + F4を押して、ログイン画面の全画面ウィンドウを閉じます


それは美しさです!天才!
アンワル

このトリックはUbuntu 18.10でも完璧に機能することを確認できます。このトリックは、シェルスクリプトよりも簡単で迅速だと思います。ありがとう@afriend。
アデマルササアクバル

2

これでUbuntu 10.04 LTSでこれを行うとたくさんの問題があったことに注意したいだけです-私の解決策は次のとおりです:

私はマシンAにいて、sshを介してマシンBにログオンしています。

myusername@pcA:~$ ssh pcB
myusername@pcB's password: 
Linux pcB 2.6.32-44-generic #98-Ubuntu SMP Mon Sep 24 17:32:45 UTC 2012 i686 GNU/Linux
Ubuntu 10.04.4 LTS

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

myusername@pcB:~$ 

その後、スクリーンショットを取得するためのいくつかの試みを進めましたが、すべて失敗しました。この問題はxwininfo、ウィンドウの状態をプローブできなくなるまで減らすことができます。

myusername@pcB:~$  xwininfo
xwininfo:  unable to open display ''

myusername@pcB:~$ sudo xwininfo
[sudo] password for myusername: 
xwininfo:  unable to open display ''

myusername@pcB:~$ DISPLAY=:0.0 xwininfo
No protocol specified
xwininfo:  unable to open display ':0.0'

myusername@pcB:~$ DISPLAY=:0 xwininfo
No protocol specified
xwininfo:  unable to open display ':0'

どういうわけか、sshを介してX-windowsをターゲットにするための正しい呼び出しDISPLAY=:0.0 sudo xwininfo ...は、つまり、DISPLAY=:0.0環境変数が最初になるということが判明しています。sudo2番目に行く-そして、対応するXコマンド:

myusername@pcB:~$ DISPLAY=:0 sudo xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

myusername@pcB:~$ DISPLAY=:0.0 sudo xwininfo -root

xwininfo: Window id: 0x109 (the root window) (has no name)

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1366
  Height: 768
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1366x768+0+0

xwininfo状態をプローブできることがわかったので、次の方法でスクリーンショットをキャプチャしても問題はありませんxwd

myusername@pcB:~$ DISPLAY=:0.0 sudo xwd -root > /tmp/shot.xwd

0

「/ etc / mdm / Init / Default」を編集して追加しました:

scrot -d 5 -e 'mv $f /root' &

「exit 0」の行の前。

次回ログインすると、ビープ音が5回鳴り、「/ root」にスクリーンショットが表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.