סקריפט להפעלת KDM (במקרה שלא)

debianlight_kdm

אתמול התקנתי מחדש את שלי דביאן וויזי עם המאגר המותאם אישית שלי איפה 4.10 ואני חייב לומר שאם זה עבד טוב קודם, עכשיו זה עושה הרבה יותר טוב.

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

מחפש את הגורם לבעיה גיליתי שהקובץ לא נוצר /etc/init.d/kdm שאמור להיות זה בפנים:

#! / bin / sh -e ### התחל מידע INIT # מספק: kdm # חובה-התחלה: $ local_fs $ remote_fs # חובה-עצירה: $ local_fs $ remote_fs # צריך להתחיל: מסך קונסולת kbd acpid dbus hal krb5- kdc # Should-Stop: console-screen kbd # Default-Start: 2 3 4 5 # Stop-default: 0 1 6 # תיאור קצר: X מנהל תצוגה עבור KDE # תיאור: KDM מנהל אוסף של שרתי X, שעשוי להיות להיות על המארח המקומי או על מכונות מרוחקות.
 ### END INIT INFO # /etc/init.d/kdm: הפעל או עצור את מנהל התצוגה X # סקריפט שנגנב במקור מחבילה xdm # # תיאור: K Display Manager # # ייבא את פונקציות ה- LSB init.  / lib / lsb / init-functions # הגדר את המקום אם [-r / etc / default / locale]; לאחר מכן.  / etc / default / locale ייצוא LANG LANGUAGE fi # להפעלת kdm גם אם זה לא מנהל ברירת המחדל לתצוגה, שנה את # HEED_DEFAULT_DISPLAY_MANAGER ל- "false".
 HEED_DEFAULT_DISPLAY_MANAGER = נכון DEFAULT_DISPLAY_MANAGER_FILE = / etc / X11 / default-display-manager PATH = / bin: / usr / bin: / sbin: / usr / sbin DAEMON = / usr / bin / kdm PIDFILE = / var / run / kdm. UPGRADEFILE = / var / run / kdm.upgrad setup_config () {# פרמטרים לתמיכה בהתאמה אישית של kdm KDMRC = / etc / kde4 / kdm / kdmrc BACKGROUNDRC = / etc / kde4 / kdm / backgroundrc # אם התצורה משתנה על ידי kdmtheme או כלים אחרים , אל תעשי קסם אם grep -q "^ [[: space:]] * Theme = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC}; ואז KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdx / test kdde4 / ערכות נושא $ DAEMON || יציאה 0 # uncomment, אם ברצונך שהכניסה האוטומטית תהיה תלויה ברמת המסלול #test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel # *}; } #test "$ runlevel" = 4 && ARG = -autolog || ARG = -noautolog # uncomment, אם אתה רוצה טונות של מידע ניפוי שגיאות ב- syslog שלך #ARG = "$ ARG -debug 255" # אנו משתמשים בקובץ תצורה ראשי חלופי של kdm ARG = "$ ARG -config $ KDMCFG" # אנו מייצרים kdm קבצי תצורה genkdmconf - ב- $ KDMCFGDIR 1> / dev / null # אנו עוקפים את המקור.  run-parts ממיין את הרשימה בסדר צפוי אם [-d "$ KDMOVERRIDEDIR"]; ואז לחלק ב- $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); ג.  "$ part" נעשה fi # אנו מעדכנים קבצי תצורה של kdm (רק ערכים נדרסים) [-n "$ USEBACKGROUND"] && sed -i "s | ^ # \? UseBackground =. * | UseBackground = $ USEBACKGROUND |" $ KDMCFG [-n "$ BACKGROUNDCFG"] && sed -i "s | ^ # \? BackgroundCfg =. * | BackgroundCfg = $ BACKGROUNDCFG |" $ KDMCFG [-n "$ USETHEME"] && sed -i "s | ^ # \? UseTheme =. * | UseTheme = $ USETHEME |" $ KDMCFG [-n "$ THEME"] && [-e "$ THEME"] && sed -i "s | ^ # \? Theme =. * | Theme = $ THEME |" $ KDMCFG [-n "$ LANGUAGE"] && sed -i "s | ^ # \? Language =. * | Language = $ LANGUAGE |" $ KDMCFG if grep -q "^ [[: space:]] * Wallpaper = stripes.png" $ {BACKGROUNDRC}; ואז [-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^ # \? Wallpaper =. * | Wallpaper =` readlink -f $ WALLPAPER` | " $ BACKGROUNDCFG fi # usetheme פועל כעת "כברירת מחדל" ולכן עלינו להיות בטוחים ש- Theme אינו חוקי ...
 sed -i "s | @@@ ToBeReplacedByDesktopBase @@@ | $ DEFAULT_KDM_THEME |" $ {KDMCFG} # עקיפות של Autologin שימושיות עבור סביבת Debian בשידור חי אם [-n "$ AUTOLOGINUSER"]; ואז sed -i "s | ^ # \? AutoLoginEnable =. * | AutoLoginEnable = true |" $ KDMCFG sed -i "s | ^ # \? AutoLoginUser =. * | AutoLoginUser = $ AUTOLOGINUSER |" $ KDMCFG fi [-n "$ AUTOLOGINDELAY"] && sed -i "s | ^ # \? AutoLoginDelay =. * | AutoLoginDelay = $ AUTOLOGINDELAY |" $ KDMCFG [-n "$ AUTOLOGINAGAIN"] && sed -i "s | ^ # \? AutoLoginAgain =. * | AutoLoginAgain = $ AUTOLOGINAGAIN |" $ KDMCFG [-n "$ AUTOLOGINLOCKED"] && sed -i "s | ^ # \? AutoLoginLocked =. * | AutoLoginLocked = $ AUTOLOGINLOCKED |" $ KDMCFG fi החזר 0} # אם שדרגנו את הדמון, איננו יכולים להשתמש בארגומנט --exec ל- # start-stop-daemon מכיוון שהאינודה ישתנה. הסיכון כאן הוא ש # במצב שבו הדמון מת, קובץ ה- pid שלו לא נוקה, וכי # תהליך אחר פועל כעת תחת אותו pid, Start-stop-daemon ישלח # אותות לתהליך תמים. עם זאת, זה נראה כמו מקרה פינתי.
 # C'est la vie!
 אם [-e $ UPGRADEFILE]; ואז SSD_ARGS = "- pidfile $ PIDFILE - מתחיל $ DAEMON" אחר SSD_ARGS = "- pidfile $ PIDFILE --exec $ DAEMON" fi still_running () {if expr "$ (cat / proc / $ DAEMONPID / cmdline 2> / dev / null) ":" $ DAEMON "> / dev / null 2> & 1; אז נכון אחרת # אם הדמון לא יסיר את קובץ ה- pid שלו, אנו rm -f $ PIDFILE $ UPGRADEFILE שקר fi; } מקרה "$ 1" בהתחלה) setup_config if [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && ["$ HEED_DEFAULT_DISPLAY_MANAGER" = "נכון"] && ["$ (cat $ DEFAULT_DISPLAY_MANAGER_FILE)"! = "$ DAEMON"]; ואז log_action_msg "לא מפעיל את K Display Manager (kdm); הוא אינו מנהל התצוגה המוגדר כברירת מחדל."
 אחרת log_daemon_msg "הפעלת מנהל התצוגה K" "kdm" אם התחלה- stop-daemon - התחל - שקט $ SSD_ARGS - $ ARG; ואז log_end_msg 0 אחר log_action_end_msg 1 "כבר פועל" fi fi ;; הפעל מחדש) /etc/init.d/kdm עצור אם [-f $ PIDFILE]; אז אם עדיין_רץ; ואז צא 1 fi fi /etc/init.d/kdm התחל ;; טען מחדש) log_action_begin_msg "טעינה מחדש של תצורת מנהל התצוגה של K ..."
 אם שד התחלה-עצור - עצור - אות 1 - שקט $ SSD_ARGS; ואז log_action_end_msg 0 אחר log_action_end_msg 1 "kdm לא פועל" fi ;; טען מחדש בכוח) /etc/init.d/kdm לטעון מחדש ;; עצור) log_action_begin_msg "מפסיק את מנהל התצוגה K: kdm" אם [!  -f $ PIDFILE]; ואז log_action_end_msg 0 "לא פועל ($ PIDFILE לא נמצא)" יציאה 0 אחר DAEMONPID = $ (חתול $ PIDFILE | tr -d '[: ריק:]') KILLCOUNT = 1 אם [!  -e $ UPGRADEFILE]; ואז אם שד התחלה-עצור - עצור - שקט $ SSD_ARGS; ואז # תן שנייה למטפל האותות של kdm שנייה כדי לנשום את נשימתו 1 אחר log_action_cont_msg "לא מפעיל" fi fi בזמן [$ KILLCOUNT -le 5]; לעשות אם עדיין_ריצה; ואז להרוג $ DAEMONPID אחר לשבור fi שינה 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) נעשה אם still_running; ואז log_action_cont_msg "לא מגיב לאות TERM (pid $ DAEMONPID)" אחרת rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; status) status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && יציאה 0 || לצאת $?
זה מה שיש לקובץ האמור במחשב השני, אבל לא יכולתי לראות אותו אתמול בלילה, אני מראה לך את החלופה האחרת שלי

הפיתרון שמצאתי אז היה ליצור סקריפט הפעלה משלי, המשמש ל- KDM או לכל יישום אחר אותו אנו רוצים להפעיל, המכיל את זה:

#! / bin / sh PATH = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init- פונקציות מקרה "$ 1" בהתחלה | "") / usr / bin / kdm ;; עצור) # No-op ;; *) הד "שימוש: kdm [התחלה | עצור | הפעלה מחדש]"> & 2 יציאה 3 ;; ש- C

כעת, על מנת ש- KDM יתחיל אוטומטית, יש צורך להפעיל את הסקריפט האמור, לכן אני משתמש RConf בשביל זה. ומוכן. עם זאת, אני ממליץ להשתמש במקור 😛


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   ויקי דיג'ו

    אני משתמש בחלופה ל- kdm בשם sddm.

    1.    אלב דיג'ו

      הממ. לא הכרתי אותה .. אני הולך להסתכל.

    2.    אלב דיג'ו

      שטויות !!! הוא זקוק ל- GLIBC 2.14 ובדביאן יש לי 2.13 ¬_¬

  2.   st0rmt4il דיג'ו

    אמממ, זה נראה בסדר: ד .. אלב, כדי לכלול סביבות אחרות ולעשות שימוש תקף בתסריט האמור, אנחנו רק צריכים לשנות את שמו של מנהל החלונות שאנחנו רוצים להשתמש בו נכון?

    ברכות!

  3.   ארדוזאין 9 דיג'ו

    היי.
    למרות שהוא לא קשור למאמר עצמו, רציתי לשאול אותך: האם אתה יכול לעשות "מה לעשות לאחר התקנת Wheezy"?
    כי נתקלתי בכמה בעיות בהתקנתו. לדוגמה:
    1-למרות שלוקח את רשת ה- Wi-Fi להתקין את עצמה, כאשר היא מסיימת להתקין אין חיבור Wi-Fi ואפילו לא תוכנית לניהול הרשתות. (חיברתי אותו בסוף ידנית מהקונסולה הישירה ... אבל נראה לי שמישהו מתחבר ל- wifi בזמן ההתקנה ואז אפילו לא מתקין מנהל רשת ... או משהו ...)
    2 - למרות שההתקנה היא בשפה שתבחר, אז המערכת מותקנת באנגלית? אין לי מושג איך לתקן את זה ...

    ובכן, niente piu ... אם אתה יכול להרחיב את זה עם הניסיון שלך ולפרסם פוסט זה ישמש אותי טוב היי ... (אני מתאר לעצמי שגם אחרים).
    ברכות!

    1.    אלב דיג'ו

      הממ, באיזו סביבת שולחן עבודה אתה משתמש? אני מניח ש- KDE ..

      1.    ארדוזאין 9 דיג'ו

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

        Saludos y Gracias

  4.   חיירו דיג'ו

    שלום,
    קראתי את המאמר שלך ואני רוצה להעיר שיש לי בעיה בדביאן צפצופים עם KDE ואני לא יודע אם זה אותו הדבר. חיפשתי כמו משוגע אחר פיתרון וביקשתי בפורומים אבל אף אחד לא יכול להגיד לי למה. השגיאה היא שלאחר העברת ה- Grub, לפעמים debian לא מתחיל מכיוון שהוא נשאר על המסך השחור לאחר הופעת שורת הטקסט הזו (זהו השלישי):

    מחכה / dev יהיה מאוכלס במלואו

    המחשב שלי הוא מחברת ASUS K93SV
    אינטל Core i7 2670QM
    השגיאה לא תמיד מתרחשת. כשזה קורה עלי לכפות על כיבוי והפעלה מחדש.

    1.    אלב דיג'ו

      חיפוש מהיר בגוגל החזיר לי את זה:

      http://www.esdebian.org/foro/28882/waiting-for-dev-to-be-fully-populated

      תגיד לי אם זה פותר אותך.

      1.    חיירו דיג'ו

        קראתי את כל ההודעה, אבל אני לא מעז לעשות את זה כי בדקתי את menu.list שלי וזה שונה לחלוטין ממה שמופיע באותה שיחה.

  5.   קופרקס דיג'ו

    אלעב הזה תמיד מפרסם מקלות מעניינים, יש לי את הבעיה הזו ולכן אני משתמש ב- LightDM, שאגב, עובד די טוב, אבל בוא נראה אם ​​התסריט הזה עובד בשבילי (אני מתגעגע ל- KDM), אני מעריך את התרומה 😉