Ontem reinstalei meu Debian Wheezy do zero com meu repositório personalizado do KDE 4.10 e devo dizer que, se já funcionava bem antes, agora funciona muito melhor.
O único problema que tive foi com o KDM, que aparentemente não instalou bem, porque não queria iniciar automaticamente, o que me chama a atenção porque fiz a mesma instalação, com os mesmos repositórios no outro PC e estava tudo bem .
Ao procurar a causa do problema, descobri que o arquivo /etc/init.d/kdm não havia sido criado, e ele deveria conter o seguinte:
#! / bin / sh -e ### BEGIN INIT INFO # Fornece: kdm # Required-Start: $ local_fs $ remote_fs # Required-Stop: $ local_fs $ remote_fs # Deve-iniciar: console-tela kbd acpid dbus hal krb5- kdc # Should-Stop: console-screen kbd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Breve descrição: gerenciador de exibição X para KDE # Descrição: KDM gerencia uma coleção de servidores X, que podem estar no host local ou em máquinas remotas.
### END INIT INFO # /etc/init.d/kdm: iniciar ou parar o gerenciador de exibição X # Script originalmente roubado do pacote xdm # # descrição: K Display Manager # # importar as funções de inicialização LSB. / lib / lsb / init-functions # define o local se [-r / etc / default / locale]; então. / etc / default / locale export LANG LANGUAGE fi # para iniciar o kdm mesmo se não for o gerenciador de exibição padrão, altere # HEED_DEFAULT_DISPLAY_MANAGER para "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 () {# parâmetros para suportar a personalização do kdm KDMRC = / etc / kde4 / kdm / kdmrc BACKGROUNDRC = / etc / kde4 / kdm / backgroundrc # se a configuração for alterada pelo kdmtheme ou outras ferramentas , não faça magia se grep -q "^ [[: espaço:]] * Theme = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC}; em seguida, KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDMiya_THEME = / kdm sharex / usdiya-kdiya / apps / test4 $ DAEMON || exit 0 # descomente, se você deseja que o logon automático seja dependente do nível de execução #test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel # *}; } #test "$ runlevel" = 4 && ARG = -autolog || ARG = -noautolog # descomente, se quiser toneladas de informações de depuração em seu syslog #ARG = "$ ARG -debug 255" # usamos um arquivo de configuração mestre kdm alternativo ARG = "$ ARG -config $ KDMCFG" # nós geramos kdm arquivos de configuração genkdmconf --in $ KDMCFGDIR 1> / dev / null # nós substituímos a fonte. run-parts classifica a lista em uma ordem previsível se [-d "$ KDMOVERRIDEDIR"]; então, por parte em $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); c. "$ part" pronto para atualizar os arquivos de configuração kdm (apenas valores substituídos) [-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 | ^ # \? Idioma =. * | Idioma = $ LANGUAGE |" $ KDMCFG if grep -q "^ [[: espaço:]] * Papel de parede = listras.png" $ {BACKGROUNDRC}; então [-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^ # \? Wallpaper =. * | Wallpaper =` readlink -f $ WALLPAPER` | " $ BACKGROUNDCFG fi # usetheme agora está ativado "por padrão", então precisamos ter certeza de que o tema não é inválido ...
sed -i "s|@@@ToBeReplacedByDesktopBase@@@|$DEFAULT_KDM_THEME|" ${KDMCFG} # As configurações de login automático são úteis para ambientes Debian em execução 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 } # Se atualizamos o daemon, não podemos usar o argumento --exec para # start-stop-daemon, pois o inode terá sido alterado. O risco aqui é que, em uma situação em que o daemon foi encerrado, seu arquivo PID não foi limpo e algum outro processo está agora em execução com esse PID, o start-stop-daemon enviará sinais para um processo inocente. No entanto, este parece ser um caso excepcional.
# É a vida!
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 # se o daemon não remover seu próprio pidfile, iremos rm -f $ PIDFILE $ UPGRADEFILE false fi; } case "$ 1" no início) setup_config if [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && ["$ HEED_DEFAULT_DISPLAY_MANAGER" = "true"] && ["$ (cat $ DEFAULT_DISPLAY_MANAGER_FILE)"! = "$ DAEMON"]; then log_action_msg "Não inicia o K Display Manager (kdm); não é o gerenciador de exibição padrão."
else log_daemon_msg "Iniciando o K Display Manager" "kdm" if start-stop-daemon --start --quiet $ SSD_ARGS - $ ARG; then log_end_msg 0 else log_action_end_msg 1 "já rodando" fi fi ;; reiniciar) /etc/init.d/kdm parar if [-f $ PIDFILE]; então, se ainda_correndo; então saia 1 fi fi /etc/init.d/kdm start ;; reload) log_action_begin_msg "Recarregando a configuração do 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 não está funcionando" fi ;; force-reload) /etc/init.d/kdm reload ;; parar) log_action_begin_msg "Parando o K Display Manager: kdm" if [! -f $ PIDFILE]; then log_action_end_msg 0 "não está em execução ($ PIDFILE não encontrado)" sair 0 else DAEMONPID = $ (cat $ PIDFILE | tr -d '[: em branco:]') KILLCOUNT = 1 if [! -e $ UPGRADEFILE]; então se start-stop-daemon --stop --quiet $ SSD_ARGS; então # dê ao manipulador de sinais do kdm um segundo para recuperar o sono 1 else log_action_cont_msg "não está executando" fi fi while [$ KILLCOUNT -le 5]; faça se ainda estiver executando; então matar $ DAEMONPID senão interromper fi sleep 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) feito se ainda estiver executando; então log_action_cont_msg "não está respondendo ao sinal TERM (pid $ DAEMONPID)" else rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; status) status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && exit 0 || sair $?
;; *) echo "Uso: /etc/init.d/kdm {start|stop|restart|reload|force-reload|status}" exit 1 ;; esac exit 0
A solução que encontrei então foi criar meu próprio script de inicialização, que é usado para KDM ou qualquer outro aplicativo que desejamos iniciar, que contém isto:
#! / bin / sh PATH = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init-functions case "$ 1" no início | "") / usr / bin / kdm ;; parar) # No-op ;; *) echo "Uso: kdm [start | stop | restart]"> & 2 exit 3 ;; aquele C
Agora, para iniciar o KDM automaticamente, é necessário ativar esse script, então eu uso o RCConf para isso. E é isso. No entanto, recomendo usar o original