
פורסם: 12/01/2021 - 19:12
נושא ההודעה: gdm הפסיק לעלות אוטומטית
|
אני משתמש בארץ׳ מעודכן.
לפני כמה שבועות gdm הפסיק לעלות אוטומטית וכשאני מפעיל את המחשב אני מגיע למסך שחור. כשאני עובר ל־tty אחר ומריץ sudo systemctl start gdm הסביבה הגרפית עולה בלי בעיה.
ניסיתי לחטט בלוגים אבל לא מצאתי שום שגיאה שלדעתי תסביר את הבעיה.
הנה הפלט של journalctl -b ואשמח אם יש מי שיבין בו יותר ממני.
https://pastebin.com/K509bKYj
ניסיתי גם להחליף מ־Wayland ל־Xorg לפי כמה פוסטים שנשמעו דומים לבעיה שלי אבל הבעיה המשיכה.
תודה לעוזרים
|
|
חזרה לתוכן הדיון |

פורסם: 13/01/2021 - 14:27
נושא ההודעה:
|
תוודא שהשירות GDM נמצא במצב ENABLED. אם כן, יכול להיות שהוא קורס ואז תסתכל בלוגים שלו כדי להבין מה קורה. אם לא - תדליק אותו.
אגב, לחטט בלוגים זה לא בדיוק עוזר. אתה צריך למצוא את הלוג של GDM, משהו כמו
/var/log/gdm או משהו דומה - גוגל ימצא עבורך הכל 
|
|
חזרה לתוכן הדיון |

פורסם: 13/01/2021 - 19:30
נושא ההודעה:
|
מובן שהוא enabled, ישר הלכתי לבדוק.
הלוגים כבר מזמן לא נמצאים ב־var/log הם עברו עם systemd ל־journalctl. בסינון ל־gdm לא ראיתי משהו מיוחד, לכן הבאתי את הלוג המלא.
|
|
חזרה לתוכן הדיון |

פורסם: 13/01/2021 - 22:15
נושא ההודעה:
|
חתול : | מובן שהוא enabled, ישר הלכתי לבדוק.
הלוגים כבר מזמן לא נמצאים ב־var/log הם עברו עם systemd ל־journalctl. בסינון ל־gdm לא ראיתי משהו מיוחד, לכן הבאתי את הלוג המלא. |
צודק לגבי הלוגים, שכחתי לגמרי.
הסתכלתי בפלט של הלוג, שורה 1478 מראה שאין מסכים מוגדרים ומשום מה זה גורם לקריסה ראשונית. זה שאתה מצליח להעלות את GDM ידני, גורם לי לחשוב שאולי משהו אחר נטען בינתיים ואז GDM מצליח לעבור את המחסור של SCREEN בשלום. אני רק מנחש פה.
|
|
חזרה לתוכן הדיון |

פורסם: 31/01/2021 - 15:02
נושא ההודעה:
|
מצאתי את הפתרון
חיפוש מצא אשכול ברדיט שהפנה גם לדיון בפורום של ארץ׳.
הבעייה היא ש־gdm נטען לפני הדרייבר הגרפי.
הפתרון המוצע הוא להוסיף את המודול i915 לקרנל (זה מה שעשיתי) או להוסיף השהייה לטעינה של gdm.
|
|
חזרה לתוכן הדיון |

פורסם: 01/02/2021 - 11:33
נושא ההודעה:
|
אי אפשר להוסיף תלות לשירות בטעינת המודול?
בצורה הכי מכוערת:
ExecStartPre=/sbin/modprobe i195
כמובן שאפשר להוסיף את זה כקובץ נפרד תחת /etc/systemd/gdm.service.d ואז לא משנים את הקובץ המקורי.
|
|
חזרה לתוכן הדיון |

פורסם: 01/02/2021 - 18:15
נושא ההודעה:
|
אני מניח שאפשר, אבל למה עדיף?
|
|
חזרה לתוכן הדיון |

פורסם: 01/02/2021 - 18:55
נושא ההודעה:
|
מה שהפריע לי בעין היה ההמלצה להכניס השהיה. אחד העקרונות של systemd הוא להגדיר במפורש יחסים בין פעולות שונות. אם אתה מסתמך על תזמון אתה מצד אחד יוצר השהיה מיותרת בזמן העליה ומצד שני מתישהו ההשהיה הזו לא תהיה מספיק ארוכה ולכן זהו באג חבוי.
ובדיקה קצרה מעלה שאמנם יש דרך מסודרת. לאחר חיפוש בעזרת grep -r modprobe /lib/systemd/ במערכת שלי (דביאן) מצאתי אם modprobe@.service שנועד בדיוק למטרה הזו מוגיע כחלק מהחבילה systemd. לדוגמה, ביחידה sys-fs-fuse-connections.mount תחת [Unit] כתוב:
קוד: |
# These dependencies are used to make certain that the module is fully
# loaded. Indeed udev starts this unit when it receives an uevent for the
# module but the kernel sends it too early, ie before the init() of the module
# is fully operational and /sys/fs/fuse/connections is created, see issue#17586.
After=modprobe@fuse.service
Requires=modprobe@fuse.service
|
אז בקיצור, הפתרון צריך להיות משהו בסגנון:
קוד: |
cat <<EOF >/etc/systemd/gdm.service.d/i915.conf
[Unit]
After=modprobe@i915.service
After=modprobe@i915.service
EOF
|
ואז המודול ייטען לפני העלאת השירות.
|
|
חזרה לתוכן הדיון |

פורסם: 02/02/2021 - 07:58
נושא ההודעה:
|
תיקון טעות: בדוגמה האחרונה, השורה השלישית צריכה להיות כמובן Requires במקום After .
|
|
חזרה לתוכן הדיון |

פורסם: 02/02/2021 - 14:13
נושא ההודעה:
|
תודה, אני אבדוק את האפשרות הזו.
זה עדיף על mkinitcpio.conf?
|
|
חזרה לתוכן הדיון |

פורסם: 02/02/2021 - 14:20
נושא ההודעה:
|
מה שנוח לך. להעלות את המודול ב־initramfs בהחלט יעבוד ואין כאן שום בעיית תזמון.
|
|
חזרה לתוכן הדיון |

פורסם: 03/02/2021 - 02:28
נושא ההודעה:
|
חתול : | תודה, אני אבדוק את האפשרות הזו.
זה עדיף על mkinitcpio.conf? |
אאז"נ החסרון היחיד הוא שהמודול תמיד יטען, גם אם תעלה את המערכת במצב טקסטואלי (מי עוד עושה את זה בכלל?). למעט זאת, לא יהיה הבדל, ואפילו פתרון זה פשוט יותר ואלגנטי לדעתי.
ולצפריר - תודה, השכלתי על שימוש של modprobe ב systemd.
|
|
חזרה לתוכן הדיון |
|