Jučer sam ponovo instalirao svoj Debian Wheezy od nule sa mojim prilagođenim KDE 4.10 repozitorijem i moram reći da ako je prije dobro radilo, sada radi mnogo bolje.
Jedini problem koji sam imao bio je s KDM-om, koji se očito uopće nije dobro instalirao, jer nije želio da se automatski pokreće, nešto što privlači moju pažnju jer sam i ja radio istu instalaciju, s istim spremištima na drugom računaru i sve je bilo ide odlično.
Tokom traženja uzroka problema, otkrio sam da nije kreirana datoteka /etc/init.d/kdm , koja bi trebala sadržavati sljedeće:
#! / bin / sh -e ### POČNI INITIRATI INFORMACIJU: Obezbeđuje: kdm # Obavezno-Start: $ local_fs $ remote_fs # Obavezno-Stop: $ local_fs $ remote_fs # Treba-Start: ekran konzole kbd acpid dbus hal krb5- kdc # Treba zaustaviti: zaslon konzole kbd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Kratki opis: X display manager za KDE # Opis: KDM upravlja kolekcijom X servera, koji mogu biti na lokalnom hostu ili udaljenim mašinama.
### END INIT INFO # /etc/init.d/kdm: pokretanje ili zaustavljanje X menadžera zaslona # Skripta prvobitno ukradena iz xdm paketa # # opis: K Display Manager # # uvozi funkcije LSB init. / lib / lsb / init-functions # postavi lokalizaciju ako [-r / etc / default / locale]; onda. / etc / default / locale export LANG LANGUAGE fi # za pokretanje kdm-a, čak i ako to nije zadani upravitelj zaslona, promijenite # HEED_DEFAULT_DISPLAY_MANAGER u "false".
HEED_DEFAULT_DISPLAY_MANAGER = true 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.upgrade setup_config () {# parametara koji podržavaju prilagođavanje kdm-a KDMRC = / etc / kde4 / kdm / kdmrc BACKGROUNDRC = / etc / kde4 / kdm / backgroundrc # ako je konfiguraciju promijenio kdmtheme ili drugi alati , nemojte raditi magiju ako grep -q "^ [[: space:]] * Theme = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC}; zatim KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdmde / apps / kdmde / apps / kdmde / apps / kdmde / apps / kdmde / apps / kd test / apps / kdm kdde4 / themes $ DAEMON || izlaz 0 # nekomentirajte, ako želite da automatska prijava ovisi o nivou pokretanja #test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel # *}; } #test "$ runlevel" = 4 && ARG = -autolog || ARG = -noautolog # nekomentirajte, ako želite tone informacija o otklanjanju grešaka u vašem syslog-u #ARG = "$ ARG -debug 255" # koristimo alternativnu glavnu konfiguracijsku datoteku kdm ARG = "$ ARG -config $ KDMCFG" # generiramo kdm konfiguracijske datoteke genkdmconf --u $ KDMCFGDIR 1> / dev / null # zamjenjujemo izvor. run-parts sortira listu u predvidljivom redoslijedu ako [-d "$ KDMOVERRIDEDIR"]; zatim za dio u $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); c. "$ part" završen fi # ažuriramo konfiguracijske datoteke kdm (samo zamijenjene vrijednosti) [-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 | ^ # \? Jezik =. * | Jezik = $ LANGUAGE |" $ KDMCFG ako grep -q "^ [[: razmak:]] * Pozadina = pruge.png" $ {BACKGROUNDRC}; onda [-n "$ TAPETA"] && [-e "$ TAPETA"] && sed -i "s | ^ # \? Pozadina =. * | Pozadina =` readlink -f $ TAPETA` | " $ BACKGROUNDCFG fi # usetheme je sada uključen "po defaultu", tako da moramo biti sigurni da tema nije nevaljana ...
sed -i "s|@@@ZamjenaOd straneBazeRadneStorne@@@|$DEFAULT_KDM_THEME|" ${KDMCFG} # Prepisivanja automatske prijave su korisna za živo Debian okruženje if [ -n "$AUTOLOGINUSER" ]; then sed -i "s|^#\?OmogućavanjeAutomatskePrijave=.*|OmogućavanjeAutomatskePrijave=true|" $KDMCFG sed -i "s|^#\?OmogućavanjeAutomatskePrijave=.*|OmogućavanjeAutomatskePrijave=$AUTOLOGINUSER|" $KDMCFG fi [ -n "$AUTOLOGINDELAY" ] && sed -i "s|^#\?OdgodaAutomatskePrijave=.*|OdgodaAutomatskePrijave=$AUTOLOGINDELAY|" $KDMCFG [ -n "$AUTOLOGINAGAIN" ] && sed -i "s|^#\?AutoLoginAgain=.*|AutoLoginAgain=$AUTOLOGINAGAIN|" $KDMCFG [ -n "$AUTOLOGINLOCKED" ] && sed -i "s|^#\?AutoLoginLocked=.*|AutoLoginLocked=$AUTOLOGINLOCKED|" $KDMCFG fi return 0 } # Ako smo nadogradili daemon, ne možemo koristiti argument --exec za # pokretanje-zaustavljanje-daemona jer će se inode promijeniti. Rizik ovdje je da # u situaciji kada je daemon prestao s radom, njegov pidfile nije očišćen i # neki drugi proces sada radi pod tim pid-om, start-stop-daemon će poslati # signale nevinom procesu. Međutim, ovo izgleda kao sporan slučaj.
# C'est la vie!
ako [-e $ UPGRADEFILE]; onda 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; tada vrijedi else # ako demon ne ukloni vlastiti pidfile, mi ćemo rm -f $ PIDFILE $ UPGRADEFILE false fi; } slučaj "$ 1" u startu) setup_config if [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && ["$ HEED_DEFAULT_DISPLAY_MANAGER" = "true"] && ["$ (cat $ DEFAULT_DISPLAY_MANAGER_FILE)"] = = $ DAEMON zatim log_action_msg "Ne pokreće se K Display Manager (kdm); to nije zadani upravitelj prikaza."
else log_daemon_msg "Pokretanje K Display Managera" "kdm" ako start-stop-daemon --start --quiet $ SSD_ARGS - $ ARG; zatim log_end_msg 0 else log_action_end_msg 1 "već pokrenut" fi fi ;; restart) /etc/init.d/kdm zaustavi ako [-f $ PIDFILE]; onda ako still_running; zatim izađite iz 1 fi fi /etc/init.d/kdm start ;; ponovno učitavanje) log_action_begin_msg "Ponovno učitavanje K Display Manager konfiguracije ..."
ako je start-stop-daemon --stop --signal 1 --quiet $ SSD_ARGS; zatim log_action_end_msg 0 else log_action_end_msg 1 "kdm ne radi" fi ;; force-reload) /etc/init.d/kdm reload ;; stop) log_action_begin_msg "Zaustavljanje K menadžera ekrana: kdm" ako [! -f $ PIDFILE]; tada log_action_end_msg 0 "ne radi ($ PIDFILE nije pronađen)" izlaz 0 else DAEMONPID = $ (cat $ PIDFILE | tr -d '[: blank:]') KILLCOUNT = 1 if [! -e $ UPGRADEFILE]; onda ako start-stop-daemon --stop --quiet $ SSD_ARGS; zatim # dajte sekundu kdm-ovom rukovatelju signala da dođe do daha 1 else log_action_cont_msg "ne radi" fi fi dok [$ KILLCOUNT -le 5]; uradi ako still_running; zatim ubijte $ DAEMONPID inače prekinite fi sleep 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) gotovo ako still_running; tada log_action_cont_msg "ne reagira na TERM signal (pid $ DAEMONPID)" else rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; status) status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && exit 0 || izlaz $?
;; *) echo "Upotreba: /etc/init.d/kdm {start|stop|restart|reload|force-reload|status}" izlaz 1 ;; esac izlaz 0
Rješenje koje sam tada pronašao bilo je stvoriti vlastitu skriptu za pokretanje koja se koristi za KDM ili bilo koju drugu aplikaciju koju želimo pokrenuti, a koja sadrži ovo:
#! / bin / sh PATH = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init-functions slučaj "$ 1" u startu | "") / usr / bin / kdm ;; stop) # Ne-op ;; *) echo "Upotreba: kdm [start | stop | restart]"> & 2 izlaz 3 ;; da je C
Sada, da bi se KDM automatski pokrenuo, potrebno je aktivirati tu skriptu, pa za to koristim RCConf . I to je to. Međutim, preporučujem korištenje originalne verzije