Script para iniciar o KDM (caso não inicie)

debianlight_kdm

Ontem eu reinstalei meu debian chiado com meu repositório personalizado de KDE4.10 e devo dizer que se 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 .

Procurando a causa do problema, detectei que o arquivo não foi criado /etc/init.d/kdm que deve ter isso dentro:

#! / 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} # substituições de logon automático são úteis para ambiente debian live if [-n "$ AUTOLOGINUSER"]; então 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 morreu, seu pidfile não foi limpo e # algum outro processo agora está sendo executado sob esse pid, o start-stop-daemon enviará # sinais para um processo inocente. No entanto, este parece ser um caso secundário.
 # É 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 $?
Isso é o que o dito arquivo tem no outro PC, mas não consegui ver ontem à noite, mostro minha outra alternativa

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 que o KDM inicie automaticamente, é necessário ativar o referido script, então uso RCConf para isso. E pronto. No entanto, eu recomendo usar o original 😛


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Vicky dito

    Estou usando uma alternativa ao kdm chamada sddm.

    1.    elav. dito

      Hmm. Eu não a conhecia .. Vou olhar.

    2.    elav. dito

      Porcaria !!! Ele precisa de GLIBC 2.14 e no Debian eu tenho 2.13 ¬_¬

  2.   st0rmt4il dito

    Hummm, parece bom: D .. elav, para incluir outros ambientes e fazer uso válido do dito script, só temos que mudar o nome do gerenciador de janelas que queremos usar certo?

    Saudações!

  3.   erdosaína9 dito

    Olá.
    Embora não tenha nada a ver com o artigo em si, gostaria de lhe perguntar: você poderia fazer um "o que fazer depois de instalar o Wheezy"?
    Porque tive alguns problemas ao instalá-lo. Por exemplo:
    1-Embora demore a rede Wi-Fi para se instalar, quando termina a instalação não há conexão Wi-Fi e nem mesmo um programa para gerenciar as redes. (Eu conectei no final manualmente do console direto ... mas me pareceu que alguém se conecta ao wi-fi durante a instalação e depois nem instala um gerenciador de rede ... ou algo assim ...)
    2-embora a instalação seja no idioma que você escolher, então o sistema é instalado em inglês? Não tenho ideia de como corrigir isso ...

    E bem, niente piu ... se você puder expandir isso com a sua experiência e fazer um post me serviria bem hehe ... (imagino outros também).
    Saudações !!!

    1.    elav. dito

      Hmm, qual ambiente de área de trabalho você usa? Eu acho KDE ..

      1.    erdosaína9 dito

        Você adivinhou muito bem. Sim, eu uso o KDE, mas na realidade estou caindo no mundo Debian ... que ambiente você recomenda?
        Antes eu estava no Crunchbang por um tempo ... e fui atraído pela forma como ele era estável, presumi que porque era baseado no Debian e é por isso que me joguei no debian ... Eu escolhi o KDE para escolher ... qual você recomendaria?
        E o que menciono acontece apenas no KDE?

        Saludos y gracias

  4.   Jairo dito

    Olá,
    Eu li seu artigo e quero comentar que tenho um problema de wheezy no Debian com o KDE e não sei se é o mesmo. Eu procurei como um louco por uma solução e perguntei em fóruns, mas ninguém pode me dizer o porquê. o erro é que depois de passar o Grub, às vezes o debian não inicia porque fica na tela preta depois que essa linha de texto aparece (é a terceira):

    Esperando que / dev seja totalmente preenchido

    Meu computador é um notebook ASUS K93SV
    Intel Core i7 2670QM
    o erro nem sempre acontece. Quando isso acontece, tenho que desligar e reiniciar à força.

    1.    elav. dito

      Uma rápida pesquisa no Google retornou isto para mim:

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

      Diga-me se isso resolve você.

      1.    Jairo dito

        Li todo o post, mas não me atrevo a fazer porque verifiquei meu menu.list e é completamente diferente do que aparece naquela conversa.

  5.   cooper15 dito

    Esse Elav sempre publicando sticks interessantes, estou com aquele problema e por isso estou usando o LightDM que por sinal funciona muito bem, mas vamos ver se esse script (KDM estranho) funciona para mim, agradeço a contribuição 😉