Script til start af KDM (hvis det ikke gør det)

Debianlight_kdm

I går geninstallerede jeg min debian wheezy med mit brugerdefinerede lager af KDE 4.10 og jeg må sige, at hvis det fungerede godt før, gør det det meget bedre nu.

Det eneste problem, jeg havde, var med KDM, som tilsyneladende slet ikke installerede godt, fordi den ikke ønskede at starte automatisk, noget der fanger min opmærksomhed, fordi jeg gjorde den samme installation med de samme arkiver på den anden pc og alt gik godt .

På udkig efter årsagen til problemet opdagede jeg, at filen ikke blev oprettet /etc/init.d/kdm som skal have dette indeni:

#! / bin / sh -e ### BEGIN INIT INFO # Giver: kdm # Påkrævet-start: $ local_fs $ remote_fs # Påkrævet-stop: $ local_fs $ remote_fs # Bør-Start: konsol-skærm kbd acpid dbus hal krb5- kdc # Bør-Stop: konsol-skærm kbd # Standard-Start: 2 3 4 5 # Standard-Stop: 0 1 6 # Kort beskrivelse: X display manager til KDE # Beskrivelse: KDM administrerer en samling af X-servere, som muligvis være på den lokale vært eller eksterne maskiner.
 ### END INIT INFO # /etc/init.d/kdm: start eller stop X display manager # Script oprindeligt stjålet fra xdm-pakken # # beskrivelse: K Display Manager # # importer LSB init-funktionerne.  / lib / lsb / init-funktioner # indstil lokalitet, hvis [-r / etc / default / locale]; derefter.  / etc / default / locale eksport LANG LANGUAGE fi # for at starte kdm, selvom det ikke er standard skærmhåndtering, skal du ændre # HEED_DEFAULT_DISPLAY_MANAGER til "false".
 HEED_DEFAULT_DISPLAY_MANAGER = sand 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 () {# parametre til understøttelse af kdm-tilpasning KDMRC = / etc / kde4 / kdm / kdmrc BACKGROUNDRC = / etc / kde4 / kdm / backgroundrc # hvis konfiguration ændres af kdmtheme eller andre værktøjer , gør ikke magick hvis grep -q "^ [[: space:]] * Theme = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC}; derefter KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdm / test / kdm / test $ DAEMON || exit 4 # uncomment, hvis du ønsker, at automatisk logon skal være kørselsniveauafhængig #test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel # *}; } #test "$ runlevel" = 0 && ARG = -autolog || ARG = -noautolog # uncomment, hvis du vil have masser af debug info i din syslog #ARG = "$ ARG -debug 4" # bruger vi en alternativ kdm master konfigurationsfil ARG = "$ ARG -config $ KDMCFG" # genererer vi kdm konfigurationsfiler genkdmconf --i $ KDMCFGDIR 255> / dev / null # vi kildeoverstyringer.  run-parts sorterer listen i en forudsigelig rækkefølge, hvis [-d "$ KDMOVERRIDEDIR"]; derefter for del i $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); c.  "$ part" gjort fi # vi opdaterer kdm-konfigurationsfiler (kun tilsidesatte værdier) [-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 hvis grep -q "^ [[: space:]] * Wallpaper = stripes.png" $ {BACKGROUNDRC}; derefter [-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^ # \? Wallpaper =. * | Wallpaper =` readlink -f $ WALLPAPER` | " $ BACKGROUNDCFG fi # usetheme er nu "som standard", så vi skal være sikre på, at temaet ikke er ugyldigt ...
 sed -i "s | @@@ ToBeReplacedByDesktopBase @@@ | $ DEFAULT_KDM_THEME |" $ {KDMCFG} # tilsidesættelse af autologin er nyttige til live debian-miljø, hvis [-n "$ AUTOLOGINUSER"]; derefter 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 opgraderede dæmonen, kan vi ikke bruge argumentet --exec til # start-stop-dæmon, da inoden vil have ændret sig. Risikoen her er, at # i en situation, hvor dæmonen døde, blev dens pidfil ikke ryddet op, og # en anden proces kører nu under den pid, start-stop-dæmonen sender # signaler til en uskyldig proces. Dette virker dog som en hjørnesag.
 # Sådan er livet!
 hvis [-e $ UPGRADEFILE]; derefter 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å sandt andet # hvis dæmonen ikke fjerner sin egen pidfil, vil vi rm -f $ PIDFILE $ UPGRADEFILE false fi; } sag "$ 1" i start) setup_config hvis [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && ["$ HEED_DEFAULT_DISPLAY_MANAGER" = "sand"] && ["$ (kat $ DEFAULT_DISPLAY_MANAGER_FILE)"! = "$ DAEMON"; derefter log_action_msg "Starter ikke K Display Manager (kdm); det er ikke standard skærmmanager."
 ellers log_daemon_msg "Start K Display Manager" "kdm" hvis start-stop-dæmon --start - stille $ SSD_ARGS - $ ARG; derefter log_end_msg 0 andet log_action_end_msg 1 "kører allerede" fi fi ;; genstart) /etc/init.d/kdm stop hvis [-f $ PIDFILE]; så hvis stadig_ løber; derefter afslutte 1 fi fi /etc/init.d/kdm start ;; reload) log_action_begin_msg "Genindlæsning af K Display Manager-konfiguration ..."
 hvis start-stop-dæmon --stop --signal 1 - stille $ SSD_ARGS; derefter log_action_end_msg 0 andet log_action_end_msg 1 "kdm kører ikke" fi ;; force-reload) /etc/init.d/kdm reload ;; stop) log_action_begin_msg "Stop K Display Manager: kdm" hvis [!  -f $ PIDFILE]; derefter log_action_end_msg 0 "kører ikke ($ PIDFILE ikke fundet)" exit 0 ellers DAEMONPID = $ (cat $ PIDFILE | tr -d '[: blank:]') KILLCOUNT = 1 hvis [!  -e $ UPGRADEFILE]; så hvis start-stop-dæmon --stop - stille $ SSD_ARGS; derefter # give kdms signalhåndterer et sekund for at få vejret fra at sove 1 andet log_action_cont_msg "kører ikke" fi fi, mens [$ KILLCOUNT -le 5]; gør hvis stadig_kører; dræb derefter $ DAEMONPID ellers pause fi søvn 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) gjort, hvis der stadig kører; derefter log_action_cont_msg "svarer ikke 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 || afslutte $?
Dette er, hvad den nævnte fil har på den anden pc, men jeg kunne ikke se den i går aftes, jeg viser dig mit andet alternativ

Den løsning, jeg fandt dengang, var at oprette mit eget opstarts script, som bruges til KDM eller ethvert andet program, som vi vil starte, og som indeholder dette:

#! / bin / sh PATH = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init-funktionssag "$ 1" i start | "") / usr / bin / kdm ;; stop) # No-op ;; *) ekko "Brug: kdm [start | stop | genstart]"> & 2 afslut 3 ;; at C

For at KDM skal starte automatisk, er det nu nødvendigt at aktivere scriptet, så jeg bruger det RConf for det. Og klar. Jeg anbefaler dog at bruge originalen 😛


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   vicky sagde han

    Jeg bruger et alternativ til kdm kaldet sddm.

    1.    Elav sagde han

      Hmm. Jeg kendte hende ikke .. Jeg vil se.

    2.    Elav sagde han

      Lort !!! Det har brug for GLIBC 2.14, og i Debian har jeg 2.13 ¬_¬

  2.   st0rmt4il sagde han

    Ummm, det virker godt: D .. elav, for at inkludere andre miljøer og gøre gyldig brug af det nævnte script, er vi bare nødt til at ændre navnet på den vinduesmanager, vi vil bruge, ikke?

    Greetings!

  3.   Erdosain9 sagde han

    Hej.
    Selvom det ikke har noget med selve artiklen at gøre, ville jeg spørge dig: kunne du gøre et "hvad skal jeg gøre efter installation af Wheezy"?
    Fordi jeg stødte på nogle problemer med at installere det. For eksempel:
    1-Selvom det tager Wi-Fi-netværket at installere sig selv, er der ingen Wi-Fi-forbindelse og ikke engang et program til at styre netværkene, når det er færdig med installationen. (Jeg tilsluttede det i slutningen manuelt fra den direkte konsol ... men det syntes mig, at nogen opretter forbindelse til wifi, mens den er installeret, og derefter ikke engang installerer en netværksadministrator ... eller noget ...)
    2 - selvom installationen er på det sprog, du vælger, er systemet installeret på engelsk? Ingen idé om hvordan man retter det ...

    Og godt, niente piu ... hvis du kan udvide dette med din erfaring og lave et indlæg, ville det tjene mig godt hehe ... (jeg forestiller mig også andre).
    Greetings!

    1.    Elav sagde han

      Hmm, hvilket skrivebordsmiljø bruger du? Jeg antager KDE ..

      1.    Erdosain9 sagde han

        Du gætter meget godt. Ja, jeg bruger KDE, men i virkeligheden falder jeg ind i Debian-verdenen ... hvilket miljø anbefaler du?
        Før jeg var i Crunchbang et stykke tid ... og jeg blev tiltrukket af, hvor stabil den var, antog jeg, at fordi den var baseret på Debian, og derfor kastede jeg mig ind i debian ... Jeg valgte KDE at vælge ... hvilken en vil du anbefale?
        Og hvad jeg nævner sker kun i KDE?

        Saludos y gracias

  4.   Jairo sagde han

    Hej,
    Jeg læste din artikel, og jeg vil kommentere, at jeg har et problem med Debian, der hvæser med KDE, og jeg ved ikke, om det er det samme. Jeg har søgt som en skør efter en løsning og spurgt i fora, men ingen kan fortælle mig hvorfor. fejlen er, at debian undertiden ikke starter efter at have passeret Grub, fordi den forbliver på den sorte skærm, efter at denne tekstlinje vises (det er den tredje):

    Venter på, at / dev skal være fuldt befolket

    Min computer er en ASUS K93SV Notebook
    Intel Core i7 2670QM
    fejlen sker ikke altid. Når det sker, skal jeg kraftigt lukke ned og genstarte.

    1.    Elav sagde han

      En hurtig Google-søgning har returneret dette til mig:

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

      Fortæl mig, hvis det løser dig.

      1.    Jairo sagde han

        Jeg læste hele indlægget, men jeg tør ikke gøre det, fordi jeg tjekkede min menu.liste, og det er helt anderledes end det, der vises i den samtale.

  5.   cooper15 sagde han

    Denne Elav udgiver altid interessante sticks, jeg har det problem, og derfor bruger jeg LightDM, som forresten fungerer ret godt, men lad os se, om dette script (mærkelig KDM) fungerer for mig, jeg takker for bidraget 😉