ฉันจะถ่ายรูปหน้าจอเข้าระบบได้อย่างไร


25

ฉันเห็นภาพหน้าจอเข้าสู่ระบบจำนวนมาก ฉันได้ลองCmd+ Shift+ 3แล้วแต่ไม่มีประโยชน์ ฉันจะถ่ายรูปหน้าจอเข้าระบบหรือหน้าจอบูตของ OS X ได้อย่างไร

คำตอบ:


24

คุณสามารถ SSH ลงใน Mac เครื่องอื่นและใช้screencaptureในเชลล์ได้

  1. เปิดใช้งานการลงชื่อเข้าใช้ระยะไกลในการตั้งค่าการแชร์บนคอมพิวเตอร์เครื่องอื่น
  2. ssh username@other_computers_ip
  3. sudo screencapture ~/Desktop/screenshot.png

มันใช้งานได้จริงเหรอ? หน้าคนสำหรับจับภาพหน้าจอ (ใน Lion) กล่าวว่า "การพิจารณาความปลอดภัย: ในการจับภาพเนื้อหาหน้าจอในขณะที่เข้าสู่ระบบผ่าน ssh คุณจะต้องเปิดหน้าจอ screencapture ในลำดับชั้นการบูต machstrap เดียวกับ loginwindow"
LHF

@lhf ฉันไม่รู้จริงๆ อย่างน้อยสิ่งที่ชอบsudo bash; screencaptureทำงานกับรุ่นก่อนหน้าของ 10.7 @bmike แก้ไขให้sudo screencaptureเป็น (ผมไม่ได้มี Mac อีกครั้งเพื่อให้ SSH ไป - สามารถทดสอบคนไม่ว่าจะเป็นผลงานที่ดี?)
Lri

ลองวันนี้ใน OS X El Capitan 10.11.2 และใช้งานได้
D Schlachter

6

ฉันไม่ได้ทดสอบตัวเอง แต่บางทีลิงค์นี้อาจช่วยได้ จับภาพหน้าจอ 'เป็นไปไม่ได้'

OS X รวมถึงยูทิลิตี้จับภาพหน้าจอที่ดีบรรทัดคำสั่งการตั้งชื่อก็พอscreencapture ในขณะที่ไม่มีเอกสารจำนวนมากในโปรแกรมนี้screencapture ของมนุษย์จะให้ตัวเลือกพื้นฐานแก่คุณ เมื่อคุณใช้sshเพื่อเชื่อมต่อกับ Mac ที่มีหน้าจอที่คุณต้องการดักจับคุณต้องดำเนินการคำสั่งscreencaptureด้วยสิทธิ์พิเศษของรูท


1
มันจะยอดเยี่ยมและมีประโยชน์สำหรับผู้อ่านในอนาคตหากคุณอ้างถึงบิตที่เกี่ยวข้องของบทความ (พร้อมกับการระบุแหล่งที่มา) ในกรณีที่บทความที่เชื่อมโยงหายไป ในกรณีนี้ Lri ได้เพิ่มขึ้นแล้วและแสดงขั้นตอนที่คุณอ้างถึงแล้วดังนั้นฉันจึงรวมวรรคอธิบายไว้มากกว่ารายชื่อสาย
jaberg

1

ตรวจสอบให้แน่ใจว่าเปิดใช้งานการสลับผู้ใช้อย่างรวดเร็วจากนั้นเปิดคว้าใช้เวลาหน้าจอคุณมีเวลา 10 วินาทีในการสลับไปที่หน้าต่างการเข้าสู่ระบบผ่านการสลับผู้ใช้อย่างรวดเร็ว - อย่าออกจากระบบ!


ฉันสามารถจับภาพหน้าจอของมุมมองการสลับผู้ใช้อย่างรวดเร็ว แต่ไม่ใช่หน้าจอเข้าสู่ระบบหลักหรือหน้าจอบูต
tlatkovich


0

หากคุณไม่มีโฮสต์ที่สองสำหรับ ssh ให้กับ Mac หรือกล้อง / โทรศัพท์คุณสามารถใช้ daemon เปิดตัว:

สร้างแผนการด้วย:

sudo nano /Library/LaunchDaemons/local.screenshot.plist

ด้วยเนื้อหา:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.screenshot</string>
    <key>Program</key>
    <string>/bin/bash</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>/usr/sbin/screencapture -T 1 /Users/user/screen1.png ; /usr/sbin/screencapture -T 16 /Users/user/screen16.png</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

โหลด daemon ด้วย:

sudo launchctl load /Library/LaunchDaemons/local.screenshot.plist

แทนที่ผู้ใช้ในรายการย่อด้วยชื่อผู้ใช้จริงหรือใช้เส้นทางที่แตกต่างจาก / Users / ผู้ใช้ / ขึ้นอยู่กับระบบของคุณคุณอาจต้องแก้ไขเวลาหรือเพิ่มภาพหน้าจอเพิ่มเติมเพื่อสร้างลำดับทั้งหมดโดยการเพิ่มหนึ่งคำหรือหลาย; /usr/sbin/screencapture -T <seconds> /Users/user/screen<seconds>.pngคำในอาร์เรย์ ProgramArguments

แทนการถ่วงให้ plist ด้วยคำสั่งคุณยังสามารถสร้างเชลล์สคริปต์โดยใช้for for loop เพื่อทำภาพหน้าจอทุก ๆ วินาที (หรือสอง) และโหลดมันด้วย launch daemon

ใน VM ของฉันฉันได้รับหน้าจอสีดำหลังจากหนึ่งวินาทีและแถบโหลดการบูตเกือบเสร็จหลังจาก 16 วินาที

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.