Skripta za pokretanje KDM-a (u slučaju da nije)

debianlight_kdm

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
To je ono što navedena datoteka ima na drugom računaru, ali sinoć je nisam mogao vidjeti, pokazat ću vam svoju drugu alternativu

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 


Dodaj kao preferirani izvor na Googleu