Script pour démarrer KDM (au cas où ce ne serait pas le cas)

debianlight_kdm

Hier, j'ai réinstallé Debian Wheezy à partir de zéro avec mon dépôt KDE 4.10 personnalisé et je dois dire que si cela fonctionnait bien avant, cela fonctionne beaucoup mieux maintenant.

Le seul problème que j'ai eu était avec KDM, qui ne s'est apparemment pas bien installé, car il ne voulait pas démarrer automatiquement, quelque chose qui retient mon attention car j'ai fait la même installation, avec les mêmes référentiels sur l'autre PC et tout était va très bien.

En recherchant la cause du problème, j'ai découvert que le fichier /etc/init.d/kdm n'avait pas été créé, alors qu'il devrait contenir les éléments suivants :

#! / bin / sh -e ### BEGIN INIT INFO # Fournit: kdm # Required-Start: $ local_fs $ remote_fs # Required-Stop: $ local_fs $ remote_fs # Doit-démarrer: console-screen kbd acpid dbus hal krb5- kdc # Should-Stop: console-screen kbd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Gestionnaire d'affichage X pour KDE # Description: KDM gère une collection de serveurs X, qui peuvent être sur l'hôte local ou sur des machines distantes.
### END INIT INFO # /etc/init.d/kdm: démarrer ou arrêter le gestionnaire d'affichage X # Script initialement volé dans le package xdm # # description: K Display Manager # # importer les fonctions d'initialisation LSB. / lib / lsb / init-functions # définit la locale if [-r / etc / default / locale]; puis. / etc / default / locale export LANG LANGUAGE fi # pour démarrer kdm même s'il ne s'agit pas du gestionnaire d'affichage par défaut, remplacez # HEED_DEFAULT_DISPLAY_MANAGER par "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.pid UPGRADEFILE = / var / run / kdm.upgrade setup_config () {# paramètres pour prendre en charge la personnalisation de kdm KDMRC = / etc / kde4 / kdm / kdmrc BACKGROUNDRC = / etc / kde4 / kdm / backgroundrc # si la configuration est modifiée par kdmtheme ou d'autres outils , ne faites pas de magie si grep -q "^ [[: espace:]] * Thème = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC}; puis KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdmx / ariya-test4 / apps / apps kdde0 / thèmes $ DAEMON || exit 4 # décommenter, si vous voulez que la connexion automatique dépende du niveau d'exécution #test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel # *}; } #test "$ runlevel" = 255 && ARG = -autolog || ARG = -noautolog # décommenter, si vous voulez des tonnes d'informations de débogage dans votre syslog #ARG = "$ ARG -debug 1" # nous utilisons un autre fichier de configuration principal de kdm ARG = "$ ARG -config $ KDMCFG" # nous générons kdm fichiers de configuration genkdmconf --in $ KDMCFGDIR XNUMX> / dev / null # nous source les remplacements. run-parts trie la liste dans un ordre prévisible if [-d "$ KDMOVERRIDEDIR"]; puis pour partie dans $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); c. "$ part" done fi # nous mettons à jour les fichiers de configuration de kdm (uniquement les valeurs remplacées) [-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 si grep -q "^ [[: espace:]] * Fond d'écran = stripes.png" $ {BACKGROUNDRC}; puis [-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^ # \? Wallpaper =. * | Wallpaper =` readlink -f $ WALLPAPER` | " $ BACKGROUNDCFG fi # usetheme est maintenant activé "par défaut" donc nous devons nous assurer que le thème n'est pas invalide ...
sed -i "s|@@@ToBeReplacedByDesktopBase@@@|$DEFAULT_KDM_THEME|" ${KDMCFG} # Les substitutions de connexion automatique sont utiles pour un environnement Debian live if [ -n "$AUTOLOGINUSER" ]; then 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 } # Si nous avons mis à niveau le démon, nous ne pouvons pas utiliser l'argument --exec pour # démarrer-arrêter-le-démon puisque l'inode aura changé.  Le risque ici est que # dans une situation où le démon est mort, son fichier pid n'a pas été nettoyé, et # un autre processus s'exécute maintenant sous ce pid, start-stop-daemon enverra # des signaux à un processus innocent.  Cependant, cela semble être un cas particulier.
# C'est la vie!
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 # si le démon ne supprime pas son propre pidfile, nous allons rm -f $ PIDFILE $ UPGRADEFILE false fi; } case "$ 1" au début) setup_config if [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && ["$ HEED_DEFAULT_DISPLAY_MANAGER" = "true"] && ["$ (cat $ DEFAULT_DISPLAY_MANAGER_FILE)"! = "$ DAEMON"]; then log_action_msg "Ne démarre pas K Display Manager (kdm); ce n'est pas le gestionnaire d'affichage par défaut."
else log_daemon_msg "Démarrage de K Display Manager" "kdm" if start-stop-daemon --start --quiet $ SSD_ARGS - $ ARG; then log_end_msg 0 else log_action_end_msg 1 "déjà en cours d'exécution" fi fi ;; redémarrer) /etc/init.d/kdm stop if [-f $ PIDFILE]; puis si encore en cours d'exécution; puis quittez 1 fi fi /etc/init.d/kdm start ;; reload) log_action_begin_msg "Rechargement de la configuration de K Display Manager ..."
if start-stop-daemon --stop --signal 1 --quiet $ SSD_ARGS; then log_action_end_msg 0 else log_action_end_msg 1 "kdm ne fonctionne pas" fi ;; force-reload) /etc/init.d/kdm reload ;; stop) log_action_begin_msg "Arrêt de K Display Manager: kdm" si [! -f $ PIDFILE]; then log_action_end_msg 0 "pas en cours d'exécution ($ PIDFILE introuvable)" exit 0 else DAEMONPID = $ (cat $ PIDFILE | tr -d '[: vide:]') KILLCOUNT = 1 si [! -e $ UPGRADEFILE]; alors si start-stop-daemon --stop --quiet $ SSD_ARGS; alors # donnez au gestionnaire de signal de kdm une seconde pour reprendre son souffle. 1 else log_action_cont_msg "ne fonctionne pas" fi fi while [$ KILLCOUNT -le 5]; faire si still_running; then kill $ DAEMONPID else break fi sleep 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) done if still_running; then log_action_cont_msg "ne répond pas au signal TERM (pid $ DAEMONPID)" else rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; status) status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && exit 0 || quitter $?
;; *) echo "Utilisation : /etc/init.d/kdm {start|stop|restart|reload|force-reload|status}" exit 1 ;; esac exit 0
C'est ce que ledit fichier a sur l'autre PC, mais je n'ai pas pu le voir hier soir, je vous montre mon autre alternative

La solution que j'ai trouvée alors était de créer mon propre script de démarrage, qui est utilisé pour KDM ou toute autre application que nous voulons démarrer, qui contient ceci:

#! / bin / sh CHEMIN = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init-functions case "$ 1" au début | "") / usr / bin / kdm ;; stop) # No-op ;; *) echo "Utilisation: kdm [start | stop | restart]"> & 2 exit 3 ;; Cette c

Pour démarrer KDM automatiquement, il faut activer ce script ; j’utilise donc RCConf pour cela. Et voilà. Cependant, je recommande d’utiliser la version originale 


Ajouter comme source préférée dans Google