Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

פרויקטים בלינוקס - עזרה | גרפיקה ב-LINUX ,

omriman12 - 26/02/2012 - 10:36
נושא ההודעה: עזרה | גרפיקה ב-LINUX ,
שלום לכולם,

מקווה שזה המקום המתאים.

אני משתמש יחסית חדש בלינוקס, ואני מתכנת בBASH SCRIPTING.

אני רוצה להשתמש בגרפיקה ואני צריך תוכנה כמה שיותר מינימלית.

הבנתי שיש תוכנה שנקראת FrameBufferUI שנמצאת מובנית בתוך הKERNEL, לכן רציתי לשאול אם מישהו מכיר ויודע איך משתמשים בזה??

או שיש למשיהו המצלה על UI אחר?

בתודה מראש,
עומרי
Anonymous - 26/02/2012 - 10:49
נושא ההודעה:
תבדוק את TK , Zenity , QT הם דוגמאות מצויינות להתחלה מ באש.
גם dialog ו kdialog יכולים לעזור
queency - 26/02/2012 - 10:54
נושא ההודעה:
http://linuxgazette.net/101/sunil.html


קוד:

#!/bin/bash
DIALOG=${DIALOG=dialog}

$DIALOG --title " My first dialog" --clear \
        --yesno "Hello , this is my first dialog program" 10 30

case $? in
  0)
    echo "Yes chosen.";;
  1)
    echo "No chosen.";;
  255)
    echo "ESC pressed.";;
esac


MBD - 26/02/2012 - 10:55
נושא ההודעה:
איזה סוג של גרפיקה? ולאיזה צורך?
omriman12 - 26/02/2012 - 11:43
נושא ההודעה: תודה על התגובות
בעיקרון אני צריך גרפיקה הכי פשוטה שיש.

משהו קטן כי אני עובד על EMBEDDED.

QT הבנתי מומלצת, השאלה אם זה יכול להתאים למערכת EMBEDDED. אני לא מבין בזה כלום תאמת, אני ממש מתחיל.

כנ"ל על ה-dialog שנראת ממש נחמד.

ראיתי את האתר הזה : http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Embedded-Linux-Graphics-Quick-Reference-Guide/

יש פה הרבה תוכנות שמובנות למערכות EMBEDDED , ראיתי גם QT embedded. מישהו מכיר משהו משם?
kzamir - 26/02/2012 - 18:35
נושא ההודעה:
עומרי:
מערכות משולבות אינן זהות:
יש מערכות שיכולות לעבוד בדיוק כמו מחשב שלחני (למשל beagle) ואפשר להריץ עליהן סביבה גרפית כמו על מחשב שלחני.
יש מערכות משולבות שאי אפשר להריץ עליהן כלל מערכת גרפית מסיבות של מהירות מעבד, זיכרון, יציאות למסך ...

מה הגדרות המערכת שלך:
שם לוח הפיתוח עליו אתה מתבסס ?
שם הפצת הלינוקס שאתה משתמש בה על הלוח הנ"ל ?
כמה זיכרון / מעבד יש לך ?

לכל מערכת יש אפשריות המתאימות לה ייותר: החל מעבודה מול ה framebuffer ישירות (למערכות מאוד חלשות) ועד עבודה רגילה לחלוטין כמו במחשב שלחני (למערכות חזקות יותר)
omriman12 - 29/02/2012 - 11:34
נושא ההודעה:
אני צריך לבדוק אני יחזיק לך תשובה(נראה לי 16mb kernel), אבל תאמת משהו יותר חשוב, אתה מצליח לעבוד אם הframebuffer??

עשיתי עליו קצת חיפוש באינטרנט ואני לא מצליח למצוא הורדה שלו שעובדת..

לפי מה שקראתי הוא לא נמצא בתוך הKERNEL נכון? אני צריך להוריד ולהתקין אותו שם כה?

(וכן אני ממש טרי בלינוקס)
Anonymous - 29/02/2012 - 12:34
נושא ההודעה:
אם אתה רוצה לעבוד עם ספריה גרפית QT עובדת יפה ב- embedded ויש גם טבלטים שמריצים QT.
אף אחד במערכת נורמאלית לא עובד ישירות מול fb אלא אם זה פיתוח של ספריה גרפית למשל opengl. רוב הספריות הגרפיות שאתה מפתח בהן עובדות מול X.
Anonymous - 29/02/2012 - 12:49
נושא ההודעה:
אתה לא צריך הורדה, הוא כבר שם, מקומפל לתוך הקרנל שלך. בלינוקס (וב unix) ל
כל דבר חומרתי יש interface של קובץ. הנה הוא:
קוד:
vitali@Moooo:~$ ls -lh /dev/fb?
crw-rw---- 1 root video 29, 0 2012-02-28 18:58 /dev/fb0
vitali@Moooo:~$

בשביל לעבוד איתו אתה פותח את הקובץ, ממפה את הזיכרון וכותב לתוכו.
לכתוב ל fb זה (כמעט) הדבר הכי low level בעולם, כי אתה עובד עם פיקסלים.
אה ותבדוק את fb.h הוא מספק לך דברים שתצטרך.

העצה שלי - אם אתה רוצה לעשות משהו מועיל + לשמור על השפיות שלך (לפחות באופן חלקיSmile),
תשתמש בספריה כמו SDL או אפילו GTK או QT. אתה יכול להגדיר אותם להשתמש
ב fb אחר כך.

אישית לא ניסיתי עם QT ו GTK אבל ב SDL זה נורא פשוט. אם אני זוכר נכון,
כל מה שאתה צריך זה להגיד ל SDL באיזה backend להשתמש ב runtime, זה הכל!


עוד דבר קטן -
לא, אתה לא יכול להשתמש ב shell scripting בשביל לעבוד עם ה fb. טוב, טכנית
אתה יכול אבל זה יהיה כמו לטוס לקנות חלב בפולוטו (אל תאמין לשקרים של NASA!
יש חיים בפלוטו ואפילו יש להם פרות והכל!).

במילים אחרות זה רחוק ואתה צריך לבנות משהו שיקח אותך לשם... העניין עם shell scripting הוא שבשביל לעשות משהו מועיל אתה צריך להריץ תהליכים חיצוניים וזה יקר.
omriman12 - 29/02/2012 - 13:51
נושא ההודעה:
לא מבין כמה דברים:
1. איך אני פותח אותו?? זה DEV, אין לי הרשאה לגעת בו, לא מצליח להבין איך אני עובד מול ה FBUI..... אין איזה ממשק או פקודות שדרכן את מפתח בFBUI??

2.בקשר לQT, מישהו יכול להסביר לי מבחינה הבנתית, איך אני מקשר בין סקריפטים שאני כותב בBASH לבין ממשק גרפי שאני יוצר נגיד ב QT. למשל אם המשתמש לוחץ על כפתור שיצרתי בQT שאני יוכל להגדיר לו להריץ איזה סקריפט מסוים.
חסר לי הדבר הזה בהבנה.

3.מה זה אומר סיפרייה? יש לי נגיד QT SDK, וזה תוכנה לעיצוב גרפי, מה ההבדל בין זה לסיפרייה??
Anonymous - 29/02/2012 - 14:00
נושא ההודעה:
1. קודם כל שאלה איזה ניסיון תכנותי (אם בכלל) יש לך? תכנתת פעם GUI באיזשהי שפה?
2. אתה לא רוצה לעשות את זה ב- bash (בהנחה שזה בכלל אפשרי) באש מיועד לכתוב תסריטי מערכת.
3. בקשר ל QT זה לא תוכנה לעיצוב גרפי. זה ספריה גרפית כלומר אתה יכול להתשמש ב API שלה בשביל לכתוב GUI (בהנחה שזה מה שאתה רוצה).

באופן כללי אי אפשר להסביר לך מאפס איך לכתוב תוכנה לא בבאש לא ב QT ולא בשום דבר אחר.
אתה צריך להיות יותר ספציפי לפי השאלות שלך יש לך עוד הרבה מה ללמוד (ולא זה לא המקום פה יתנו לך תשובות כלליות אבל לא ילמדו אותך לתכנת). בשביל זה יש קורסים (או ספרים) או משהו...
omriman12 - 29/02/2012 - 14:31
נושא ההודעה:
אני יודע לתכנת, אבל אני חדש בסביבת לינוקס ואין לי ניסיון בבניית GUI.

בעיקרון את הקוד עצמו כבר כתבתי(הוא כתוב בסקטיפטים), אני רק רוצה להבין איך אני מתממשק עם המשתמש, או בקיצור איך לבנות את ה-GUI.
Anonymous - 29/02/2012 - 14:53
נושא ההודעה:
כעקרון את ה- GUI אתה לא יכול לכתוב ב- bash (אלא אם כן זה משהו מאוד פשוט כמו בדוגמאות שנתנו לך פה עם dialog). אתה כן יכול לכתוב GUI למשל ב- python ולהפעיל ממנו סקריפטים או פקודות מערכת.
כל זה לא מצריך ממך התעסקות ברמה של fb.
queency - 04/03/2012 - 12:14
נושא ההודעה:
זה מה שנדרש בפייתון
קוד:

import pygame
  pygame.init()
  window = pygame.display.set_mode((640, 480))
 pygame.draw.line(window, (255, 255, 255), (297,317),(397,317))#lower axis_x line
  pygame.draw.rect(window, (255, 255, 255), pygame.Rect(tmp_point[0], tmp_point[1], 16,16))

כל הזמנים הם GMT + 2 שעות