Skript for å starte KDM (i tilfelle det ikke gjør det)

debianlight_kdm

I går installerte jeg min debian wheezy med mitt egendefinerte lager av KDE 4.10 Og jeg må si at hvis det fungerte bra før, gjør det nå mye bedre.

Det eneste problemet jeg hadde var med KDM, som tilsynelatende ikke installerte bra i det hele tatt, fordi den ikke ønsket å starte automatisk, noe som fanger oppmerksomheten min fordi jeg gjorde den samme installasjonen, med de samme arkivene på den andre PC-en, og alt var går bra.

Leter etter årsaken til problemet, oppdaget jeg at filen ikke ble opprettet /etc/init.d/kdm som burde ha dette inne:

#! / bin / sh -e ### BEGIN INIT INFO # Gir: kdm # Påkrevd Start: $ local_fs $ remote_fs # Påkrevd-Stopp: $ local_fs $ remote_fs # Bør-Start: konsollskjerm kbd acpid dbus hal krb5- kdc # Should-Stop: console-screen kbd # Standard-Start: 2 3 4 5 # Standard-Stop: 0 1 6 # Short-Description: X display manager for KDE # Beskrivelse: KDM administrerer en samling X-servere, som kan være på den lokale verten eller eksterne maskiner.
 ### END INIT INFO # /etc/init.d/kdm: start eller stopp X-visningsbehandling # Skript opprinnelig stjålet fra xdm-pakken # # beskrivelse: K Display Manager # # importer LSB init-funksjonene.  / lib / lsb / init-funksjoner # angi lokalitet hvis [-r / etc / default / locale]; deretter.  / etc / default / locale eksport LANG LANGUAGE fi # for å starte kdm selv om det ikke er standard skjermbehandling, endre # HEED_DEFAULT_DISPLAY_MANAGER til "false".
 HEED_DEFAULT_DISPLAY_MANAGER = sann DEFAULT_DISPLAY_MANAGER_FILE = / etc / X11 / standard-display-manager PATH = / bin: / usr / bin: / sbin: / usr / sbin DAEMON = / usr / bin / kdm PIDFILE = / var / run / kdm. UPGRADEFILE = / var / run / kdm.upgrade setup_config () {# parametere for å støtte kdm-tilpasning KDMRC = / etc / kde4 / kdm / kdmrc BACKGROUNDRC = / etc / kde4 / kdm / backgroundrc # hvis konfigurasjonen endres av kdmtheme eller andre verktøy , ikke gjør magick hvis grep -q "^ [[: space:]] * Theme = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC}; deretter KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdm / test / kdm / test / share / apps / kdde4 $ DAEMON || exit 0 # uncomment, hvis du vil at automatisk pålogging skal være avhengig av nivå #test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel # *}; } #test "$ runlevel" = 4 && ARG = -autolog || ARG = -noautolog # uncomment, hvis du vil ha massevis av feilsøkingsinformasjon i syslog #ARG = "$ ARG -debug 255" # bruker vi en alternativ kdm-hovedkonfigurasjonsfil ARG = "$ ARG -config $ KDMCFG" # genererer vi kdm konfigurasjonsfiler genkdmconf --i $ KDMCFGDIR 1> / dev / null # vi overstyrer kilden.  run-parts sorterer listen i en forutsigbar rekkefølge hvis [-d "$ KDMOVERRIDEDIR"]; deretter for del i $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); c.  "$ part" gjort fi # vi oppdaterer kdm-konfigurasjonsfiler (bare overstyrte verdier) [-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}; deretter [-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^ # \? Wallpaper =. * | Wallpaper =` readlink -f $ WALLPAPER` | " $ BACKGROUNDCFG fi # usetheme er nå på "som standard", så vi må være sikre på at temaet ikke er ugyldig ...
 sed -i "s | @@@ ToBeReplacedByDesktopBase @@@ | $ DEFAULT_KDM_THEME |" $ {KDMCFG} # autologinoverstyringer er nyttige for live debian-miljø hvis [-n "$ AUTOLOGINUSER"]; deretter 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 return 0} # Hvis vi oppgraderte daemon, kan vi ikke bruke argumentet --exec til # start-stop-daemon siden inoden vil ha blitt endret. Risikoen her er at # i en situasjon der daemonen døde, ble ikke pidfilen ryddet opp, og # en annen prosess kjører nå under den pid, start-stop-daemon vil sende # signaler til en uskyldig prosess. Dette virker imidlertid som en hjørnesak.
 # C'est la vie!
 hvis [-e $ UPGRADEFILE]; deretter SSD_ARGS = "- pidfile $ PIDFILE - starter som $ DAEMON" ellers SSD_ARGS = "- pidfile $ PIDFILE --exec $ DAEMON" fi still_running () {if expr "$ (cat / proc / $ DAEMONPID / cmdline 2> / dev / null) ":" $ DAEMON "> / dev / null 2> & 1; så sant ellers # hvis ikke demonen fjerner sin egen pidfil, vil vi rm -f $ PIDFILE $ UPGRADEFILE false fi; } tilfelle "$ 1" i start) setup_config if [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && ["$ HEED_DEFAULT_DISPLAY_MANAGER" = "true"] && ["$ (cat $ DEFAULT_DISPLAY_MANAGER_FILE)"! = "$ DAEMON"; deretter log_action_msg "Starter ikke K Display Manager (kdm); det er ikke standard skjermbehandling."
 annet log_daemon_msg "Starter K Display Manager" "kdm" hvis start-stopp-daemon --start - stille $ SSD_ARGS - $ ARG; deretter log_end_msg 0 annet log_action_end_msg 1 "kjører allerede" fi fi ;; start på nytt) /etc/init.d/kdm stopp hvis [-f $ PIDFILE]; så hvis fremdeles_ løper; deretter avslutt 1 fi fi /etc/init.d/kdm start ;; reload) log_action_begin_msg "Last inn K Display Manager-konfigurasjon på nytt ..."
 hvis start-stopp-daemon --stop --signal 1 - stille $ SSD_ARGS; deretter log_action_end_msg 0 annet log_action_end_msg 1 "kdm kjører ikke" fi ;; kraft-reload) /etc/init.d/kdm reload ;; stopp) log_action_begin_msg "Stopper K Display Manager: kdm" hvis [!  -f $ PIDFILE]; deretter log_action_end_msg 0 "kjører ikke ($ PIDFILE ikke funnet)" avslutter 0 annet DAEMONPID = $ (cat $ PIDFILE | tr -d '[: blank:]') KILLCOUNT = 1 hvis [!  -e $ UPGRADEFILE]; så hvis start-stop-daemon --stop --quiet $ SSD_ARGS; deretter # gi kdms signalbehandler et sekund for å få pusten til å sove 1 annet log_action_cont_msg "kjører ikke" fi fi mens [$ KILLCOUNT -le 5]; gjør hvis fortsatt_kjøring; drep deretter $ DAEMONPID ellers pause fi søvn 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) gjort hvis fortsatt kjører; deretter log_action_cont_msg "ikke svarer på TERM-signal (pid $ DAEMONPID)" ellers rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; status) status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && exit 0 || gå ut av $?
Dette er hva filen har på den andre PC-en, men jeg kunne ikke se den i går, jeg viser deg det andre alternativet mitt

Løsningen jeg fant da var å lage mitt eget oppstartsskript, som brukes til KDM eller andre applikasjoner som vi vil starte, som inneholder dette:

#! / bin / sh PATH = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init-funksjoner tilfelle "$ 1" i start | "") / usr / bin / kdm ;; stopp) # No-op ;; *) ekko "Bruk: kdm [start | stopp | start på nytt]"> & 2 avkjørsel 3 ;; at C

Nå, for å starte KDM automatisk, er det nødvendig å aktivere skriptet, så jeg bruker RConf for det. Og klar. Jeg anbefaler imidlertid å bruke originalen 😛


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   vicky sa

    Jeg bruker et alternativ til kdm kalt sddm.

    1.    livlig sa

      Hmm. Jeg kjente henne ikke .. Jeg kommer til å lete.

    2.    livlig sa

      Dritt !!! Det trenger GLIBC 2.14 og i Debian har jeg 2.13 ¬_¬

  2.   st0rmt4il sa

    Ummm, det virker bra: D .. elav, for å inkludere andre miljøer og gjøre gyldig bruk av skriptet, må vi bare endre navnet på vindusbehandleren vi vil bruke, ikke sant?

    Greetings!

  3.   erdosain9 sa

    Hei.
    Selv om det ikke har noe med selve artikkelen å gjøre, ønsket jeg å spørre deg: Kan du gjøre et "hva du skal gjøre etter installasjon av Wheezy"?
    Fordi jeg fikk problemer med å installere den. For eksempel:
    1 - Selv om det tar Wi-Fi-nettverket å installere seg selv, er det ingen Wi-Fi-tilkobling og ikke engang et program for å administrere nettverkene når det er ferdig installert. (Jeg koblet den på slutten manuelt fra direkte konsollen ... men jeg fant alle som kobler seg til wifi mens du installerer og ikke engang installerer en nettverksadministrator ... eller noe ...)
    2 - selv om installasjonen er på språket man velger, så er systemet installert på engelsk? Ingen anelse om hvordan du kan rette opp det ...

    Og vel, niente piu ... hvis du kan utvide dette med din erfaring og lage et innlegg, vil det tjene meg mye hehe ... (jeg forestiller meg andre også).
    Greetings!

    1.    livlig sa

      Hmm, hvilket skrivebordsmiljø bruker du? Jeg antar KDE ..

      1.    erdosain9 sa

        Du gjetter veldig bra. Ja, jeg bruker KDE, men faktisk faller jeg inn i Debian-verdenen ... hvilket miljø anbefaler du?
        Før jeg var i Crunchbang en stund ... og jeg ble tiltrukket av hvor stabil den var, antok jeg at fordi den var basert på Debian og det var derfor jeg kastet meg inn i debian ... Jeg valgte KDE å velge ... hvilken en vil du anbefale?
        Og det jeg nevner skjer bare i KDE?

        Saludos y gracias

  4.   Jairo sa

    Hei,
    Jeg har lest artikkelen din, og jeg vil kommentere at jeg har et problem med Debian som hvesende med KDE, og jeg vet ikke om det er det samme. Jeg har søkt som gal etter en løsning og spurt i forum, men ingen kan fortelle meg hvorfor. feilen er at debian noen ganger ikke starter etter at den har passert Grub fordi den forblir på den svarte skjermen etter at denne tekstlinjen vises (den er den tredje):

    Venter på at / dev skal være fullbefolket

    Min datamaskin er en ASUS K93SV Notebook
    Intel Core i7 2670QM
    feilen skjer ikke alltid. når det skjer, må jeg tvinge nedstengning og starte på nytt.

    1.    livlig sa

      Et raskt Google-søk har returnert dette til meg:

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

      Fortell meg om det løser deg.

      1.    Jairo sa

        Jeg leste hele innlegget, men jeg tør ikke gjøre det fordi jeg sjekket menyen min. Listen og den er helt forskjellig fra det som vises i samtalen.

  5.   cooper15 sa

    Denne Elav publiserer alltid interessante pinner, jeg har det problemet, og derfor bruker jeg LightDM som forresten fungerer ganske bra, men la oss se om dette skriptet (merkelig KDM) fungerer for meg, jeg setter pris på bidraget 😉