fbdump הוא כלי פשוט שלוכד את התוכן של החלק הגלוי של מכשיר framebuffer לינוקס וכותב אותו לפלט הסטנדרטי כקובץ PPM.
במילים אחרות, זה לוקח צילום מסך של כל דבר פועל על framebuffer. הפרויקט כרגע יש תמיכה מלאה למדי לסוגים ארוזים-פיקסל framebuffer וגם עובד עם נהג framebuffer VGA16.
fbdump היה בהשראת תכנית אפילו פשוט נתקלתי גילים לפני נקראים fbsnap, שאני מאמין שנכתב על ידי גרד קנור (למרות שאף מחבר מוזכר בקוד המקור של תכנית ש, כך אני יכול להיות לא בסדר). fbdump נושא יחסים קטנים לfbsnap, לעומת זאת, והוא בדרך כלל הרבה יותר שימושי. הוא תומך, framebuffer העסקת מגוון גדול יותר של דגמי פיקסל וצבע, עובד (צריך לעבוד?) על ארכיטקטורות תותח, ומעט-endian, והוא מהיר למדי (אם כי קריאה מזיכרון וידאו לא הולך להיות סופר מהיר).
כתבתי ראשון fbdump לפני ירחים רבים כאשר אני זקוק לדרך מהירה ופשוטה כדי לתפוס המון תמונות מframebuffer. כפי שרובכם כנראה יודע, למרות שזה אפשרי לעשות מזבלה framebuffer גלם על ידי ביצוע חתול / dev / פקודת fb0 פשוטה או דומה - תלוי מה פורמט פיקסל ומודל צבע framebuffer שלך משתמש ב-- התוצאות הן לא תמיד שימושיות במיוחד. עם fbdump, לעומת זאת, אתה תמיד מקבל 24 סיביות, תמונה נחמדה, ניידת, וצבע אמיתי - שכן הוא מטפל בכל פורמט המרה פיקסל או צבע-שטח הנדרש (לפחות לפורמטים שהוא תומך).
מדוע fbdump לשמור את התמונה כPPM - ולא, למשל, PNG - אתם עשויים לשאול? ובכן, PPM הוא זול לכתוב את ואינו דורש קישור כנגד כל ספריות חיצוניות לעשות זאת. על ארכיטקטורת x86, fbdump כיום הידור עד הפעלה 8K זעומה הפשיטה פעם אחת - ואין לה תלות אחרת מאשר ספריית C סטנדרטית. אחרי שאמר את זה, אני יכול לעקוף להוספת תמיכה ב- PNG בשלב מסוים. למרות שזה לא הכרחי,, כי עם חבילת NetPBM זה קל להמיר ppms למשהו שימושי יותר. לדוגמא, אתה יכול לעשות משהו כזה
fbdump | pnmtopng> grab.png
לפלט framebuffer כPNG. ניתן גם לקרוא ppms ישירות על ידי רוב חבילות עיבוד תמונת קוד פתוח, כגון גימפ וImageMagick.
שימוש
fbdump תומך כעת אפשרויות שורת הפקודה הבאות:
-fb <מחרוזת> מציינת את מכשיר framebuffer לתפוס מהיא <מחרוזת>
-vt
-delay
אם אפשרות -fb אינה מסופקת, fbdump ברירת מחדל תופס מהמכשיר / dev / fb0. ניתן גם לציין framebuffer באמצעות framebuffer משתנה הסביבה (ערך המסופק עם בורר -fb בשורת הפקודה תעקוף זה). למשל:
Framebuffer = / dev / fb1 fbdump> out.ppm
מה חדש במהדורה זו:
פרטי תוכנה:
תגובות לא נמצא