4 ביולי 2010

טוב מה נסגר עם SUDI GUI


בסוף החלטתי לעשות איזה פרוייקטון קטן כזה של יצירת GUI ל sudo. אף על פי שיש כאלה שחושבים שצריך ויש כאלה שחושבים שלא... בא לי לעשות את זה.

שיתפתי את חבר שלי והוא יהיה איתי בלעשות את זה. ביום שישי ניסינו לעצב את הממשק משתמש של איך זה יראה באיזה שפות נכתוב את זה וכו'...

חבר שלי חשב שזה יראה משהו כמו חלון כזה שרואים את התוכן של מה שכתוב ב /etc/sudoers אבל אז חשבתי שזה לא רעיון טוב משום שאין כל כך הבדל בין זה לבין לערוך את הקובץ דרך הטרמינל ואז אפשר במילה לשנות מה שצריך ובאמת בישביל דבר כזה לא ממש צריך GUI כי כל אחד שמכיר את התחביר של הקובץ שמבוסס על EBNF שזה איזה שהוא תחביר שמבוסס על שפה ADA יכול לערוך את הקובץ והוא לא צריך בכלל בישביל זה GUI ואז יוצא שזה בעצם לא תורם בכלום.

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

עשיתי סלקטבוקס שאמור להכיל את הרשימה של המשתמשים והקבוצות שיש במחשב באופן כללי.
מתחת לזה אמורה להיות כמו טבלה עם כל ההרשאות והתכניות שמותר למשתמש להריץ ועל כל אחד כזה אפשרות לבחור אם להריץ את זה בסודו עם סיסמא או בלי סיסמא למשל (בתור התחלה) ואפשרות לבחור שם קיצור לפרוסס עם ההרשאות שניתן למשתמש להריץ שהוא יוכל להריץ ללא כתיבה של הפקודה סודו למשל.

כמובן שניתן להרחיב את זה גם לרשימה של ALLOW ורשימה של DENY זתומרת להגדיר תהליכים להרצה למשל שמותרים לכל המשתמשים אבל למשתמש מסויים או קבוצה אסור להריץ סקריפט מסויים דרך הסודו נניח...

כמובן שזה ניתן להגבלה רק ברמה של תהליכים שמותרים להרצה רק למשתמש על אז הנחתי שהרשימה של ה DENY היא חסרת כל תועלת במקרה הספציפי הזה ולכן זה לא יכלל ב GUI.

בסופו של דבר העיצוב "התכליתי" היה מקובל גם על חבר שלי וזה דבר טוב משום שככה לא צריך לריב על עיצוב...

נשאר כמובן לבחור צבעים ואפקטים למשל אם תיפתח תיבת טקסט לאליאס ועם איזה וידג'טים עובדים ואם זה יהיה נראה או בלתי נראה או נראה רק כשילחצו או שזה בכל מקרה יהיה נראה אבל רק לא נגיש לכתיבה (טקסט בוקס לבחירת השם של האליאס לפקודה נניח)...

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

גם סיפור לחשוב איך לעצב גם את זה אבל בעיקרון יש הסכמה על איך זה צריך להיראות.

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

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

גם עם בחירת השפה הייתה התלבטות לא קלה בכלל בגלל שרציתי לגוון ולא לעשות בהכרח בפיתון עם pygtk. בסופו של דבר
גם רצה הגורל וזה יצא כאשר לקחנו רשימה של שפות וחבר שלי זרק והרים ויצא בגורל פיתון...
אחר כך חיפשתי אחרי ההגרלה והתלבטתי אם כדאי לעבוד בשפה של גנום שדומה לסי שרפ VALA.
ובגלל שלא הייתי בטוחה שהיא מספיק שפה גבוהה כמו פיתון וגאוה בגלל שהיא עושה תרגום לסי ואז מקמפל...
ואני לא יודעת אם יש אפשרות לשלב בה קריאות מערכת למשל שלא קשורות בהכרח ל X או לגנום ואיך מטפלים בה בקבצים...
וזה דיי מעצלנות...

טוב המשך יבוא...


3 תגובות:

  1. את בטוחה שלא ניתן להשתמש בחלקים מ־gksudo לשם כך?

    השבמחק
  2. לא ממש gksudo עובד לפי הרשאות של סודו

    השבמחק
  3. אז מה ההבדל בין הרעיון שלך לזה של gksudo?

    השבמחק