Script om KDM te starten (voor het geval dat niet het geval is)

debianlight_kdm

Gisteren heb ik mijn debian wheezy met mijn aangepaste repository KDE4.10 en ik moet zeggen dat als het voorheen goed werkte, het nu veel beter werkt.

Het enige probleem dat ik had was met KDM, dat blijkbaar helemaal niet goed installeerde, omdat het niet automatisch wilde starten, iets dat mijn aandacht trok omdat ik dezelfde installatie deed, met dezelfde repositories op de andere pc en alles ging geweldig.

Op zoek naar de oorzaak van het probleem, ontdekte ik dat het bestand niet was gemaakt /etc/init.d/kdm die dit binnen zou moeten hebben:

#!/bin/sh -e ### BEGIN INIT INFO # Biedt: kdm # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: console-screen kbd acpid dbus hal krb5-kdc # Should-Stop: console-screen kbd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Korte beschrijving: X-displaymanager voor KDE # Beschrijving: KDM beheert een verzameling X-servers, die zich op de lokale host of op externe machines kunnen bevinden.
 ### END INIT INFO # /etc/init.d/kdm: start of stop de X-displaymanager # Script oorspronkelijk gestolen uit het xdm-pakket # # description: K Display Manager # # importeer de LSB init-functies .  /lib/lsb/init-functions # stel de landinstelling in als [ -r /etc/default/locale]; Dan .  /etc/default/locale export LANG LANGUAGE fi # om kdm te starten, zelfs als het niet de standaard weergavemanager is, verander # HEED_DEFAULT_DISPLAY_MANAGER in "false".
 HEED_DEFAULT_DISPLAY_MANAGER=waar DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=/usr/bin/kdm PIDFILE=/var/run/kdm.pid UPGRADEFILE=/var/run/kd m.upgrade setup_config () { # parameters ter ondersteuning van kdm-aanpassing KDMRC=/etc/kde4/kdm/kdmrc BACKGROUNDRC=/etc/kde4/kdm/backgroundrc # als de configuratie is gewijzigd door kdmtheme of andere tools, gebruik geen magie als grep -q "^[[:space:]]*Theme=@ @@ToBeReplacedByDesktopBase@@@" ${KDMRC}; dan KDMOVERRIDEDIR=/etc/default/kdm.d KDMCFGDIR=/var/run/kdm KDMCFG=$KDMCFGDIR/kdmrc BACKGROUNDCFG=$KDMCFGDIR/backgroundrc DEFAULT_KDM_THEME=/usr/share/kde4/apps/kdm/themes/ariya test -x $DAEMON || exit 0 # uncomment, als u wilt dat automatische aanmelding runlevel-afhankelijk is #test "$runlevel" || { runlevel=`runlevel`; runlevel=${runlevel#* }; } #test "$runlevel" = 4 && ARG=-autolog || ARG=-noautolog # uncomment, als je heel veel debug-info in je syslog wilt #ARG="$ARG -debug 255" # we gebruiken een alternatief kdm-hoofdconfiguratiebestand ARG="$ARG -config $KDMCFG" # we genereren kdm-configuratiebestanden genkdmconf --in $KDMCFGDIR 1> /dev/null # we source overrides.  run-parts sorteert de lijst in een voorspelbare volgorde als [ -d "$KDMOVERRIDEDIR" ]; dan voor deel in $(run-parts --list "$KDMOVERRIDEDIR" 2>/dev/null || true); Doen .  "$part" gedaan bijv. # we updaten kdm-configuratiebestanden (alleen overschreven waarden) [ -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 "^[[:spatie:]]*Wallpaper=stripes.png" ${BACKGROUNDRC}; dan [ -n "$WALLPAPER" ] && [ -e "$WALLPAPER" ] && sed -i "s|^#\?Wallpaper=.*|Wallpaper=`readlink -f $WALLPAPER`|" $BACKGROUNDCFG fi # usetheme staat nu "standaard" aan, dus we moeten er zeker van zijn dat het thema niet ongeldig is ...
 sed -i "s|@@@ToBeReplacedByDesktopBase@@@|$DEFAULT_KDM_THEME|" ${KDMCFG} # autologin-overrides zijn nuttig voor live debian-omgevingen als [ -n "$AUTOLOGINUSER" ]; dan 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 } # Als we de daemon hebben geüpgraded, kunnen we het argument --exec niet gebruiken om # start-stop-daemon te starten, aangezien de inode zal zijn veranderd. Het risico hierbij is dat # in een situatie waarin de daemon is overleden, zijn pid-bestand niet is opgeschoond, en # een ander proces onder die pid draait, start-stop-daemon # signalen zal sturen naar een onschuldig proces. Dit lijkt echter een hoekzaak.
 # Dat is het leven!
 if [ -e $UPGRADEFILE ]; then SSD_ARGS="--pidfile $PIDFILE --startas $DAEMON" else SSD_ARGS="--pidfile $PIDFILE --exec $DAEMON" fi still_running () { if expr "$(cat /proc/$DAEMONPID/cmdline 2> /dev/null)" : "$DAEMON" > /dev/null 2>&1; then true else # als de daemon zijn eigen pid-bestand niet verwijdert, zullen we rm -f $PIDFILE $UPGRADEFILE false fi; } case "$1" in start) setup_config if [ -e $DEFAULT_DISPLAY_MANAGER_FILE ] && [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "$DAEMON" ]; then log_action_msg "K Display Manager (kdm) start niet; het is niet de standaard display manager."
 else log_daemon_msg "K Display Manager starten" "kdm" if start-stop-daemon --start --quiet $SSD_ARGS -- $ARG ; then log_end_msg 0 else log_action_end_msg 1 "al actief" fi fi ;; herstart) /etc/init.d/kdm stop if [ -f $PIDFILE ]; dan als still_running; sluit dan af 1 fi fi /etc/init.d/kdm start ;; reload) log_action_begin_msg "K Display Manager-configuratie opnieuw laden..."
 if start-stop-daemon --stop --signal 1 --quiet $SSD_ARGS; then log_action_end_msg 0 else log_action_end_msg 1 "kdm werkt niet" fi ;; geforceerd herladen) /etc/init.d/kdm herladen ;; stop) log_action_begin_msg "K Display Manager stoppen: kdm" als [ !  -f $PIDFILE]; then log_action_end_msg 0 " not running ($PIDFILE not found)" exit 0 else DAEMONPID=$(cat $PIDFILE | tr -d '[:blank:]') KILLCOUNT=1 if [ !  -e $UPGRADEFILE]; dan als start-stop-daemon --stop --quiet $SSD_ARGS; dan # geef de signaalbehandelaar van kdm even de tijd om op adem te komen sleep 1 else log_action_cont_msg " werkt niet" fi fi while [ $KILLCOUNT -le 5 ]; doe als still_running; kill dan $DAEMONPID else break fi sleep 1 KILLCOUNT=$(($KILLCOUNT + 1 )) done if still_running; then log_action_cont_msg "reageert niet op TERM-signaal (pid $DAEMONPID)" else rm -f $UPGRADEFILE fi fi log_action_end_msg 0;; status) status_of_proc -p "$PIDFILE" "$DAEMON" kdm && exit 0 || uitgang $?
Dit is wat het bestand op de andere pc heeft, maar ik kon het gisteravond niet zien, ik laat je mijn andere alternatief zien

De oplossing die ik toen vond, was om mijn eigen opstartscript te maken, dat wordt gebruikt voor KDM of een andere applicatie die we willen starten, die dit bevat:

#! /bin/sh PAD=/sbin:/bin . /lib/init/vars.sh . /lib/lsb/init-functions hoofdletter "$1" in start|"") /usr/bin/kdm ;; stop) # No-op ;; *) echo "Gebruik: kdm [start|stop|herstart]" >&2 exit 3 ;; dat C

Nu, om KDM automatisch te starten, is het noodzakelijk om het genoemde script te activeren, dus ik gebruik RCConf ervoor. En klaar. Ik raad echter aan om het origineel te gebruiken 😛


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   vicky zei

    Ik gebruik een alternatief voor kdm genaamd sddm.

    1.    levendig zei

      Hm. Ik kende haar niet.. Ik ga kijken.

    2.    levendig zei

      Stront!!! Je hebt GLIBC 2.14 nodig en in Debian heb ik 2.13 ¬_¬

  2.   st0rmt4il zei

    Ummm, ziet er goed uit :D.. elav, om andere omgevingen op te nemen en geldig gebruik te maken van dat script, hoeven we alleen maar de naam van de vensterbeheerder te wijzigen in degene die we willen gebruiken, toch?

    Groeten!

  3.   erdosain9 zei

    Hey.
    Hoewel het niets met het artikel zelf te maken heeft, wilde ik je vragen: kun je een "wat te doen na installatie van Wheezy" doen?
    Omdat ik wat problemen tegenkwam tijdens de installatie. Bijvoorbeeld:
    1-Hoewel het het Wi-Fi-netwerk grijpt om te installeren, is er na het voltooien van de installatie geen Wi-Fi-verbinding en zelfs geen programma om de netwerken te beheren. (Uiteindelijk heb ik het handmatig aangesloten vanaf de directe console... maar het leek me dat iedereen verbinding maakt met Wi-Fi terwijl het wordt geïnstalleerd en dan niet eens een netwerkbeheerder installeert... of zoiets...)
    2-Hoewel de installatie in de taal is die men kiest, wordt het systeem in het Engels geïnstalleerd. Ik heb geen idee hoe ik dat moet oplossen...

    En tja, niente piu... als je dit kunt uitbreiden met je ervaring en een bericht kunt plaatsen, zou dat erg nuttig voor me zijn hehe... (ik stel me ook anderen voor).
    Groeten!

    1.    levendig zei

      Hmm, welke desktopomgeving gebruik je? Ik denk KDE...

      1.    erdosain9 zei

        Je raadt het heel goed. Ja, ik gebruik KDE maar in werkelijkheid beland ik in de wereld van Debian... welke omgeving raden jullie aan?
        Daarvoor zat ik een tijdje in Crunchbang... en ik werd aangetrokken door hoe stabiel het was, ik veronderstelde dat omdat het gebaseerd was op Debian en daarom sprong ik op Debian... Ik koos KDE om te kiezen... welke zou je aanbevelen?
        En waar ik het over heb gebeurt alleen in KDE?

        Saludos y gracias

  4.   Jairo zei

    Hallo,
    Ik heb uw artikel gelezen en ik wil opmerken dat ik een probleem heb met piepen in Debian met KDE en ik weet niet of het hetzelfde is. Ik heb als een gek naar een oplossing gezocht en op forums gevraagd, maar niemand kan me vertellen waar het aan ligt. De fout is dat na het uitvoeren van Grub debian soms niet opstart omdat het op het zwarte scherm blijft staan ​​nadat deze tekstregel is verschenen (het is de derde):

    Wachten tot /dev volledig gevuld is

    Mijn computer is een ASUS K93SV-notebook
    Intel Core i7 2670QM
    de fout gebeurt niet altijd. wanneer het gebeurt, moet ik het afsluiten forceren en opnieuw beginnen.

    1.    levendig zei

      Een snelle Google-zoekopdracht leverde dit op:

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

      Vertel me of het je oplost.

      1.    Jairo zei

        Ik heb het hele bericht gelezen, maar ik kan mezelf er niet toe brengen het te doen omdat ik mijn menu.list heb gecontroleerd en het is totaal anders dan wat in dat gesprek wordt weergegeven.

  5.   cooper15 zei

    Deze Elav publiceert altijd interessante staven, ik heb dit probleem en daarom gebruik ik LightDM, wat overigens best goed werkt, maar laten we eens kijken of dit script (ik mis KDM) voor mij werkt, ik waardeer de bijdrage 😉