# O Manual do &kdm;

&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
Marcus Gama

    marcus.gama@gmail.com

Tradução
2000 &Neal.Crook;
2002 &Oswald.Buddenhagen;
2003 &Lauri.Watts;
2003-03-01
0.05.02

Esta documentação descreve o &kdm;, o Gerenciador de Tela do &kde;. O &kdm; é também conhecido como Gerenciador de Login.

KDE kdm xdm gerenciador de tela gerenciador de login

## Introdução

O &kdm; fornece uma interface gráfica que permite-lhe logar num sistema. Ele pede um login (nome do usuário) e senha, autentica o usuário e inicia uma sessão. O &kdm; é superior ao &xdm;, o Gerenciador de Tela do X, em diversos aspectos.

## Guia de Inicialização Rápida

Este é um guia de inicialização rápida para os usuários que se encaixam nas seguintes condições:

- O X está configurado e funcionando com o comando `startx` a partir da linha de comando.

- Cada usuário geralmente usará um único gerenciador de janelas ou ambiente desktop, e não mudará sua escolha muito freqüentemente, ou é mais fácil editar um arquivo de texto simples ao invés de mudar sua escolha.

Este cenário será suficiente para muitos ambientes onde um usuário único ou diversos usuários normalmente iniciam o computador e logam-se no seu ambiente preferido.

Configurando uma Sessão Padrão

- Criar ou abrir o arquivo `~/.xinitrc`

  Se você já possui um `~/.xinitrc` funcional, vá para o próximo passo

- Se ele ainda não existe, adicione uma linha ao `~/.xinitrc` para iniciar seu gerenciador de janelas ou ambiente desktop preferido.

  Para o &kde; você deve inserir:

      startkde

  Para outros gerenciadores de janelas ou ambientes desktop, você deve procurar em suas documentações pelo comando correto.

- Cria uma ligação como a seguinte:

      ln -s ~/.xinitrc ~/.xsession

Neste ponto, digitar ``startx`` na linha de comando deve iniciar o X com uma sessão &kde;. A próxima tarefa é testar o &kdm;.

Como root, digite ``kdm`` na linha de comando

Você deve ver uma janela de login, que é descrita mais completamente em .

Digitando seu nome de usuário normal e senha nos campos fornecidos, e deixando `padrão` selecionado como tipo de sessão deve agora abrir uma sessão &kde; para seu usuário.

Se você tiver outros usuários para configurar, você deve repetir o procedimento acima para cada um deles.

Este é um guia rápido para poder em poucos passos ter o gerenciador funcional. Você provavelmente desejará personalizar o &kdm; posteriormente, por exemplo, para ocultar os nomes das contas de sistema, para permitir sessões adicionais, e muito mais. Por favor, leia o resto deste manual para descobrir como fazer estas coisas.

## A Janela de Login

A interface com o usuário do &kdm; consiste de duas caixas de diálogo. A caixa de diálogo principal possui estes controles:

- Um campo Nome do usuário: para você inserir seu nome de usuário.

- Um campo de Senha: para você inserir sua senha.

- (Opcionalmente) uma imagem gráfica para cada usuário (por exemplo, uma fotografia digitalizada). Clicar na imagem é equivalente a digitar o nome de usuário associado à ela no campo Nome do usuário:. (Este recurso é uma imitação da caixa de login do &IRIX;).

- Uma caixa combinada Menu que permite ao &kdm; ser usado para iniciar sessões com vários gerenciadores de janelas ou ambientes de desktop instalados no sistema.

- (Opcionalmente) uma região à direita dos campos Nome do usuário:, Senha: e Tipo de Sessão: que pode ser usada para exibir tanto uma imagem estática como um relógio analógico.

- Um botão Entrar que valida a combinação nome de usuário/senha e tenta iniciar uma sessão do tipo selecionado.

- Um botão Limpar que limpa o texto dos campos Login e Senha.

- Um botão Menu que abre um menu de ações com os seguintes ítens:

  - (Em telas locais) Um ítem Reiniciar Servidor X que termina o &X-Server; atualmente em execução, inicia um novo e exibe o diálogo de login novamente. Você pode usar isto se o conteúdo da tela parece estar com algum problema.

  - (Em telas remotas) Um ítem Fechar Conexão que fecha a conexão com o servidor &XDMCP; ao qual está atualmente conectado. Se você obteve este servidor através de um buscador de máquina, isto trará de volta este buscador, caso contrário isto somente reiniciará o &X-Server; e trará de volta o diálogo de login novamente.

  - (Opcionalmente nas telas locais) Um item Modo de Console que termina o &X-Server; atualmente em execução e deixa-o de volta no login do console de texto. O &kdm; irá voltar para o login gráfico se ninguém se logar na console durante algum tempo.

- (Opcionalmente) Um botão Desligar que exibe a caixa de diálogo Desligar.

A caixa de diálogo Desligar exibe um conjunto de botões de opção que permitem que uma destas opções seja selecionada:

Desligar

  Desliga o sistema de uma maneira controlada, deixando-o pronto para desligar a força.

Reiniciar

  Desliga o sistema e reinicia. Para sistemas que usam o Lilo, uma caixa combinada opcional permite-lhe selecionar um sistema operacional em particular a ser usado para o reinício.

Reiniciar Servidor X

  Para e então reinicia o servidor X. Normalmente, você deve precisar usar esta opção se você mudou sua configuração do X11 de alguma maneira.

Modo Console

  Para o &X-Server; e retorna ao sistema no modo console. Este é obtido mudando o nível de execução para 3. Tipicamente, o gerenciador de sistema deve precisar usar esta opção antes de atualizar ou reconfigurar o software X11.

Pressionar o botão OK inicia a ação selecionada; pressionar o botão Cancelar retorna à caixa de diálogo principal do &kdm;.

## Configurando o &kdm;

Este capítulo considera que o &kdm; já esteja instalado e funcionando em seu sistema, e que você simplesmente deseja mudar seu comportamento de algum modo.

Quando o &kdm; se inicia, ele lê seu arquivo de configuração a partir da pasta `$KDEDIR/share/config/kdm/` (ele pode estar em `/etc/kde3/kdm/` ou em algum outro lugar no seu sistema).

O arquivo de configuração principal é o &kdmrc;; todos os outros arquivos são referenciados a partir dele e podem ser armazenados com qualquer nome e em qualquer lugar no sistema - mas normalmente colocá-los em outro lugar não faz muito sentido por razões óbvias (uma exceção particular é a referência aos arquivos de configuração de um &xdm; já instalado; - de fato quando um novo &kdm; é instalado, ele atualmente fará uso dessa possibilidade se ele encontrar um &xdm; já instalado).

Uma vez que o &kdm; deve ser executado antes de qualquer usuário estar logado, ele não é associado à nenhum usuário em particular. Por isso, não é possível ter arquivos de configuração específicos por usuário; todos os usuários compartilham o mesmo &kdmrc;. Em virtude disto a configuração do &kdm; só pode ser alterada por usuários que tenha acesso de escrita ao `$`KDEDIR`/share/config/kdm/kdmrc` (normalmente somente o administrador do sistema logado como root).

Você pode ver o arquivo &kdmrc; atualmente em uso no seu sistema, e você pode configurar o &kdm; editando este arquivo. Alternativamente, você pode usar a ferramenta de configuração gráfica fornecida pelo &kcontrolcenter; (sob o menu Administração do Sistema Gerenciador de Login), que é descrita nos os arquivos de ajuda do &kcontrolcenter;.

O restante deste capítulo descreve a configuração do &kdm; através do módulo do &kcontrolcenter;, e o próximo capítulo descreve as opções disponíveis no &kdmrc; propriamente dito. Se você somente precisa configurar para usuários locais, o módulo do &kcontrolcenter; deve atender todas as suas necessidades. Se você precisa configurar logins remotos, ou possui múltiplas sessões do &kdm; em execução, você precisará ler o restante da documentação.

&Thomas.Tanghus; &Thomas.Tanghus.mail;
&Steffen.Hansen; &Steffen.Hansen.mail;
&Mike.McBride; &Mike.McBride.mail;

### O Módulo do Gerenciador de Login do &kcontrolcenter;

Usando este módulo, você pode configurar o gerenciador de login gráfico do &kde;, o &kdm;. Você pode mudar como a tela de login se parece, que tem acesso usando o gerenciador de login e quem pode desligar o computador.

Todas as configurações serão gravadas no arquivo de configuração &kdmrc;, que em seu estado original possui muitos comentários para auxiliá-lo a configurar o &kdm;. Usar este módulo do &kcontrolcenter; removerá estes comentários do arquivo. Todas as opções disponíveis no &kdmrc; são abordadas em .

As opções listadas neste capítulo são referenciadas com suas equivalentes no &kdmrc;. Todas as opções disponíveis no módulo do &kcontrol; estão também disponíveis diretamente no &kdmrc;, mas o inverso não é verdadeiro.

Para organizar todas estas opções, este módulo é dividido em diversas seções Aparência, Fonte, Fundo, Usuários e Conveniência.

Você pode alternar entre as sessões usando as abas no topo da janela.

Se você não está atualmente logado como super-usuário, você precisará clicar o Botão Modo Administrador.... Você então deverá informar a senha do super-usuário. Inserir a senha correta permitirá à você modificar as configurações neste módulo.

#### Aparência

A partir desta página você pode mudar a aparência visual do &kdm;, o gerenciador de login gráfico do &kde;.

A Saudação: é o título da tela de login. Configurar isto é especialmente útil se você tem muitos usuários de servidores que podem logar-se. Você pode usar vários coringas descritos mais à frente com a chave correspondente `GreetString` no &kdmrc;.

Você pode então escolher entre mostrar a hora atual do sistema, um logotipo ou nada em especial na caixa de login. Faça sua escolha nos botões de opção rotulados Área de logotipo. Isto corresponde ao `LogoArea` no &kdmrc;

Se você escolher Exibir logotipo você pode agora escolher um logotipo:

- Arrastando um arquivo de imagem para o botão de imagem.

- Clicando no botão de imagem e selecionando uma nova imagem a partir do diálogo de seleção de imagem.

Se você não especificar um logotipo o padrão `$`KDEDIR`/share/apps/kdm/pics/kdelogo.xpm` será exibido.

Normalmente a caixa de login é centralizada na tela. Use as opções de Posição se você deseja que ela apareça em outra posição na tela. Você pode especificar a posição relativa (percentagem do tamanho da tela) para o centro da janela de login, relativos ao canto superior e esquerdo do monitor, nos campos rotulados X: e Y: respectivamente. Isto corresponde à chave `GreeterPos` no &kdmrc;.

Enquanto o estilo do &kde; depende das configurações do usuário logado, o estilo usado pelo &kdm; pode ser configurado usando as opções Estilo da Interface: e Esquema de Cores:. Isto corresponde às chaves `GUIStyle` e `ColorScheme` no &kdmrc; respectivamente.

Abaixo disto, você tem uma caixa combinada para escolher o idioma para sua caixa de login, correspondendo à configuração `Language` no &kdmrc;.

#### Fonte

A partir desta seção do módulo você pode escolher as fontes usadas na janela de login. Somente fontes disponíveis para todos os usuários aparecerão aqui, desconsiderando as fontes que você tenha instalado para uso por um usuário específico.

Você pode selecionar três estilos de fonte diferentes a partir da caixa combinada (Geral:, Falhas:, Saudação:). Quando você clica no botão Escolher... um diálogo aparece a partir do qual você pode selecionar as novas características para o estilo da fonte.

- A fonte Geral: é usada em todos os outros lugares na janela de login.

- A fonte de Falhas: é usada quando um login falha.

- A fonte de Saudação: é a fonte usada para o título (String de Saudação).

Você poderá também ativar a opção Usar anti-aliasing para fontes se você quiser fontes suavizadas na janela de login.

#### Fundo

Aqui você pode mudar o fundo do área de trabalho que será exibido antes de um usuário logar-se. Você pode ter uma cor simples ou uma imagem como fundo. Se você tiver uma imagem como fundo e selecionar centralizar, a cor de fundo selecionada será usada ao redor da imagem se ela não for grande o bastante para cobrir toda a área de trabalho.

As cores de fundo e efeitos são controlados por opções na aba rotulada Fundo e você seleciona uma imagem de fundo e suas opções de posicionamento na aba rotulada Papel de parede.

Para mudar a cor de fundo padrão, simplesmente clique nos botões de cores e selecione uma nova cor.

A caixa combinada acima dos botões de cores oferece-lhe diversos efeitos de gradiente. Escolha um da lista, e ele será exibido no pequeno monitor no topo da janela. Suas opções são:

Uniforme

  Escolhendo este modo, você seleciona uma cor (usando o botão de cor rotulado Cor 1), e todo o fundo será preenchido com esta única cor.

Padrão

  Escolhendo este modo, você seleciona duas cores (usando ambos os botões de cores).

  Você então seleciona um padrão clicando em Configurar. Isto abrirá uma nova janela de diálogo, que lhe dará a oportunidade de selecionar um padrão. Simplesmente clique num padrão de sua preferência, e então clique em OK, e o &kde; renderizará o padrão que você selecionou usando as duas cores selecionadas. Para mais informações sobre padrões, veja a seção Fundo: Adicionando, Removendo e Modificando Padrões.

Programa de Fundo

  Selecionando esta opção, você pode fazer com que o &kde; use um programa externo para determinar o fundo. Isto pode ser qualquer programa de sua escolha. Para mais informações sobre esta opção, veja a seção intitulada Fundo: Usando um programa externo.

Gradiente Horizontal

  Escolhendo este modo, você seleciona duas cores (usando ambos os botões de cores). O &kde; então iniciará com a cor selecionada em Cor 1 no lado esquerdo da tela, e lentamente a transformará na cor selecionada em Cor 2 de modo que ela apareça no lado direito da tela.

Gradiente Vertical

  Escolhendo este modo, você seleciona duas cores (usando ambos os botões de cores). O &kde; então iniciará com a cor selecionada em Cor 1 no lado superior da tela, e lentamente a transformará na cor selecionada em Cor 2 de modo que ela apareça no lado inferior da tela.

Gradiente em Pirâmide

  Escolhendo este modo, você seleciona duas cores (usando ambos os botões de cores). O &kde; então iniciará com a cor selecionada em Cor 1 em cada canto da tela, e lentamente a transformará na cor selecionada em Cor 2 conforme se move para o centro da tela.

Gradiente em Forma de Cruz

  Escolhendo este modo, você seleciona duas cores (usando ambos os botões de cores). O &kde; então iniciará com a cor selecionada em Cor 1 em cada canto da tela, e lentamente a transformará na cor selecionada em Cor 2 conforme se move para o centro da tela. A forma deste gradiente é diferente da do gradiente em pirâmide.

Gradiente Elíptico

  Escolhendo este modo, você seleciona duas cores (usando ambos os botões de cores). O &kde; então iniciará com a cor selecionada em Cor 2 no centro da tela, e lentamente a transformará na cor selecionada em Cor 1 conforme se move para os lados, num padrão elíptico.

O botão de configuração somente é necessário se você selecionar Programa de fundo ou Padrão. Nestes casos, outra janela aparecerá para configurar as opções específicas.

Papel de Parede

Inicialmente, para selecionar uma nova imagem de fundo clique na aba Papel de parede, então você pode selecionar uma imagem da caixa combinada rotulada Papel de parede ou selecionar Navegar... e selecionar um arquivo de imagem a partir de um selecionador de arquivo.

A imagem pode ser exibida em seis diferentes maneiras:

Sem papel de parede

  Nenhuma imagem é exibida. Apenas as cores de fundo.

Centrado

  A imagem será centralizada na tela. As cores de fundo estarão presentes em qualquer parte não coberta pela imagem.

Ladrilhado

  A imagem será duplicada até preencher todo o ambiente de trabalho. A primeira imagem será colocada no canto superior esquerdo da tela, e duplicada para baixo e para a direita.

Ladrilhado Centrado

  A imagem será duplicada até preencher todo o ambiente de trabalho. A primeira imagem será colocada no centro da tela, eduplicada para cima, para baixo, para a direita e para a esquerda.

Maxpect Centrado

  A imagem será colocada no centro da tela. Ela será então escalonada para preencher todo o ambiente de trabalho, mas não será mudada a proporção da imagem original. Isto fornecerá uma imagem que não estará distorcida.

Escalonado

  A imagem será escalonada para preencher o ambiente de trabalho. Ele será ajustada para preencher todos os quatro cantos.

#### Desligar

Permitir Desligamento

Use estas listas para escolher quem tem permissão para desligar a máquina:

- Ninguém: Ninguém pode desligar o computador usando o &kdm;. Você deverá logar-se, e executar um comando.

- Todos: Todos poderão desligar o computador usando o &kdm;.

- Somente Root: o &kdm; necessitará que a senha do root seja inserida antes de desligar o computador.

Você pode configurar de maneira independente quem terá permissão para desligar a máquina para usuário Local: e Remoto:.

Comandos

Use estas campos de texto para definir o comando exato de desligamento.

O comando padrão para Parar: é `/sbin/halt`. O comando padrão para Reiniciar: é `/sbin/reboot`.

Quando o Mostrar opções de boot está ativo, o &kdm; irá exibir as opções de boot para o gerenciador de boot LILO. Para este recurso funcionar, você precisa inserir as localizações corretas do seu comando `lilo` e do arquivo 'map' do LILO. Lembre-se que esta opção não está disponível em todos os sistemas operacionais.

#### Usuários

A partir daqui você pode mudar o modo como os usuários são representados na janela de login.

Você pode desabilitar totalmente a lista de usuários do &kdm; na seção Mostrar Usuários. Você pode escolher entre:

Mostrar Lista

  Só são mostrados os usuários que você ativou especificamente na lista ao lado

  Se não assinalar esta opção, não será mostrada qualquer lista. Esta é a forma mais segura, uma vez que um atacante teria aí que adivinhar um usuário válido além da sua senha. É também a forma ideal se você tiver muitos usuários para listar, uma vez que a lista propriamente dita não caberia toda na tela.

Seleção inversa

  Permite-lhe selecionar uma lista dos usuários que não deverão ser mostrados; todos os outros usuários serão então apresentados.

Independentemente dos usuários que você especificar pelo nome, você pode usar os UIDs de Sistema para especificar um intervalo de UIDs válidos que serão mostrados na lista. Por padrão usuários com id abaixo de 1000, que freqüentemente são usuários de sistema ou de serviço, e usuários com id acima de 65000, não são mostrados.

Você também pode ativar a opção Ordenar usuários, para que a lista apareça ordenada alfabeticamente. Se estiver desligada, os usuários irão aparecer pela ordem em que estão descritos no arquivo de senhas. O &kdm; irá também completar automaticamente os nomes dos usuários se você ativar a opção de Complementação Automática.

Se você escolher mostrar usuários, então a janela de login mostrará imagens (que você selecionou), de uma lista de usuários. Quando alguém estiver pronto para logar-se, ele pode selecionar seu nome de usuário/imagem, inserir sua senha, e ter então acesso ao sistema.

Se você permitir uma imagem do usuário, eles poderão configurar a fonte para estas imagens.

Você pode configurar a figura do administrador aqui, para cada usuário no sistema. Dependendo da ordem selecionada acima, usuários podem ser capazes de sobrepor-se a sua seleção.

Se você escolher não mostrar usuários, então a janela de login será mais tradicional. Usuários precisarão digitar seus nomes de usuário e senhas para obter acesso. Este é o modo recomendado se você possui muitos usuários neste terminal.

#### Conveniência

Na aba conveniência você pode configurar algumas opções para tornar a vida mais fácil para pessoas preguiçosas, como login automático ou login sem senha.

Por favor pense mais de duas vezes antes de usar estas opções. Cada opção na aba Conveniência serve muito bem para comprometer seriamente a segurança de seu sistema. Praticamente, estas opção somente devem ser usadas em ambientes não críticos, ⪚ um computador pessoal em sua casa.

##### Login Automático

A login automático irá dar acesso a qualquer um para uma determinada conta do seu sistema, sem efetuar nenhuma autenticação. Você poderá ativar esta opção em Habilitar login automático.

Você pode escolher a conta a ser usada para login automático na lista rotulada Usuário:.

##### Login sem Senha

Se usar esta funcionalidade, você poderá permitir a certos usuários logarem-se sem precisar inserir as suas senhas. Ative esta opção em Habilitar logins sem senha.

Abaixo desta opção você verá uma lista de usuários do sistema. Habilite o login sem senha para usuários específicos selecionando as caixas de verificação ao lado de seus nomes de login. Por padrão, este recurso está desabilitado para todos os usuários.

Novamente, esta opção deve ser usada somente num ambiente seguro. Se você habilitá-la num sistema muito público você deve tomar cuidado para que somente usuários com pesadas restrições de acesso possam logar-se sem senha, ⪚ guest.

Você pode também escolher que usuário é pré-selecionado quando o &kdm; inicia. O padrão é Nenhum, mas você pode escolher Anterior para fazer que o padrão do &kdm; seja o último usuário que se logou com sucesso, ou você pode Especificar um usuário em particular que sempre será selecionado na lista. Você pode também fazer com que o &kdm; coloque o foco no campo senha, de modo que quando você obter a tela de login do &kdm;, você possa inserir a senha imediatamente.

A opção Fazer re-login automático após falha do X permite-lhe pular o processo de autenticação quando seu servidor X acidentalmente travar.

&kdmrc-ref;

## Configurando seu sistema para usar o &kdm;

Este capítulo considera que seu sistema já está configurado para rodar o &X-Window;, e que você somente precisa reconfigurá-lo para permitir o login gráfico.

### Configurando o &kdm;

O que fundamentalmente controla se seu computador inicia com um login em terminal (modo console) ou com um login gráfico e o nível de execução padrão. O nível de execução é configurado pelo programa /sbin/init sob o controle do arquivo de configuração `/etc/inittab`. O nível de execução padrão usado pelos diferentes sistemas &UNIX; (e diferentes distribuições &Linux;) varia, mas se você der uma olhada em `/etc/inittab` o início dele deve ser algo como isto:

    # Default runlevel. The runlevels used by RHS are:
    # 0 - halt (Do NOT set initdefault to this)
    # 1 - Single user mode
    # 2 - Multiuser, without NFS
    # 3 - Full multiuser mode
    # 4 - unused
    # 5 - X11
    # 6 - reboot (Do NOT set initdefault to this)

    id:3:initdefault:

Tudo menos a última linha deste extrato são comentários. Os comentários mostram que o nível de execução 5 é usado para o X11 e que o nível de execução 3 é usado para modo multi-usuário sem o X11 (modo console). A linha final especifica que o nível de execução padrão do sistema é o 3 (modo console). Se seu sistema atualmente usa login gráfico (por exemplo, usando o &xdm;), seu nível de execução padrão deverá corresponder ao especificado para o X11.

O nível de execução com login gráfico (&xdm;) para algumas das distribuições comuns do &Linux; é:

- 5 para &RedHat; 3.x e superior, e para o &Mandrake;

- 4 para o Slackware

- 3 para o &SuSE;. 4.x e 5.x

O primeiro passo na configuração do seu sistema é certificar-se de que você pode iniciar o &kdm; a partir da linha de comando. Uma vez que isto esteja funcionando, você pode mudar sua configuração do sistema de modo que o &kdm; inicie automaticamente toda vez que você reiniciar seu sistema.

Para testar o &kdm; você deve primeiro trazer seu sistema para um nível de execução que não execute o &xdm;. Para fazer isto, execute um comando como este:

    /sbin/init 3

Ao invés do número `3` você deve especificar o nível de execução apropriado para o modo console no seu sistema.

Se seu sistema usa Módulos Plugáveis de Autenticação (PAM). que é normal em sistemas recentes &Linux; e &Solaris;, você deve verificar para que sua configuração do PAM permita login através do serviço nomeado `kde`. Se você usava anteriormente o &xdm; com sucesso, você não deve precisar fazer nenhuma mudança na configuração do seu PAM para permitir o uso do &kdm;. `/etc/pam.conf` ou `/etc/pam.d/kde`. Informações sobre configuração do PAM está fora do escopo deste manual, mas o PAM vem com uma documentação bastante elucidativa (dê uma olhada em `/usr/share/doc/*pam*/html`).

Agora é hora de você testar o &kdm; digitando o seguinte comando:

    kdm -nodaemon

Se você obtiver um diálogo de login do &kdm; e você for capaz de logar-se, as coisas estão indo bem. A principal coisa que pode dar errado aqui é que o lincador em tempo de execução pode não encontrar as bibliotecas compartilhadas do &Qt; ou &kde;. Se você tiver uma distribuição binária das bibliotecas do &kde;, certifique-se de que o &kdm; está instalado onde as bibliotecas acreditam que o &kde; está instalado e tente configurar alguma variável de ambiente para apontar para suas bibliotecas &kde; e &Qt;.

Por exemplo:

    export
    KDEDIR=/opt/kde
    export
    QTDIR=/usr/lib/qt2
    export
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    export
    LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib

Se você ainda não está tendo sucesso, tente iniciar o &xdm;, para ter certeza de que você não está sofrendo de um problema de configuração mais sério no X.

Quando você for capaz de iniciar o &kdm; com sucesso, você pode iniciar a substituição do &xdm; pelo &kdm;. Novamente, isto depende da sua distribuição.

- No caso do &RedHat;, edite o `/etc/inittab`, procure esta linha:

      x:5:respawn:/usr/X11/bin/xdm -nodaemon

  e substitua por:

      x:5:respawn:/opt/kde/bin/kdm

  Isto indica ao `init`(8) para reiniciar o &kdm; quando o sistema estiver no nível de execução ('runlevel') 5. Repare que o &kdm; não precisa da opção `-nodaemon`.

- Para o &Mandrake;, o nível de execução do X11 no `/etc/inittab` invoca um script do shell `/etc/X11/prefdm`, que é configurado para selecionar a partir de diversos gerenciadores de tela, incluindo o &kdm;. Certifique-se de que todos os caminhos estão corretos para sua instalação.

- Para o &SuSE;, edite o `/sbin/init.d/xdm` para adicionar uma primeira linha:

      . /etc/rc.config
      DISPLAYMANAGER=kdm
      export DISPLAYMANAGER

- No caso do FreeBSD, edite o `/etc/ttys` e encontre a seguinte linha:

      ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

  e mude-a para o seguinte:

      ttyv8   "/usr/local/bin/kdm"  xterm   on secure

- A maioria das outras distribuições são variações de uma destas acima.

Neste estágio, você pode testar o &kdm; novamente levando o seu sistema para o nível de execução que deve agora executar o &kdm;. Para fazer isto, digite um comando como este:

    /sbin/init 5

Ao invés do número `5` você deve especificar o nível de execução apropriado para executar o X11 em seu sistema.

O passo final é editar a entrada initdefault no `/etc/inittab` para especificar o nível de execução apropriado para o X11.

Antes de você fazer esta mudança, certifique-se de que você tem uma maneira de reiniciar seu sistema se algum problema ocorrer. Pode ser um disquete de emergência fornecido pelo sistema operacional de sua distribuição ou um disquete de emergência criado especialmente para isto, como o `tomsrtbt`. Ignore este aviso por conta e risco.

Isto normalmente exige mudar a linha:

    id:3:initdefault:

para

    id:5:initdefault:

Quando você reiniciar seu sistema, você deve terminar num diálogo de login gráfico do &kdm;.

Se este passo não for bem sucedido, o problema possível será que o ambiente usado durante a inicialização difere do ambiente que usou para testar na linha de comando. Se você está tentando fazer duas versões do KDE coexistam, tenha um cuidado especial com as configurações que fizer das suas variáveis de ambiente `PATH` e `LD_LIBRARY_PATH`, de modo que sejam consistentes e que os programas de inicialização não as modifiquem de alguma forma.

## Suportando gerenciadores de janela múltiplos

O &kdm; detecta a maioria dos gerenciadores de janelas e ambientes de trabalho quando ele é executado. Ao instalar um novo, ele se tornará disponível automaticamente no diálogo principal do &kdm; em Tipo de Sessão:.

Se você tiver um gerenciador de janelas muito recente, ou algo que o &kdm; não suporte, a primeira coisa que você deve verificar é que o aplicativo a ser executado deve estar no `PATH` e não deve ser renomeado durante a instalação para algo não esperado.

Se este aplicativo for tão novo que ainda não seja suportado pelo &kdm;, você pode simplesmente adicionar uma nova sessão.

As sessões são definidas em arquivos .desktop em `$`KDEDIR`/share/apps/kdm/sessions`. Você pode simplesmente adicionar um nome arquivo `.desktop` apropriado neste diretório. Os campos são:

    [Desktop Entry]
    Encoding=UTF-8 Isto é fixo para UTF-8 e
    pode ser omitido
    Type=XSession Isto é fixo para XSession e
    pode ser omitido
    Exec=nome do executável Passado para
    eval exec no shell Bourne
    TryExec=nome do executável Suportado
    mas não necessário
    Name=nome mostrado na lista de sessão do &kdm;

Existem também três sessões mágicas:

padrão

  A sessão padrão para o &kdm; é, normalmente, o &kde;, mas ela pode ser configurada pelo administrador de sistemas.

personalizada

  A sessão 'personalizada' irá executar o arquivo ~/.xsession do usuário, se existir.

failsafe

  O modo de 'emergência' irá rodar uma sessão muito simples e é apenas útil para fins de depuração.

Para sobrepor um tipo de sessão, copie o arquivo '.desktop' da pasta de dados para a pasta de configuração e altere-o de acordo com a sua vontade. Para remover os tipos de sessão fornecidos, você poderá ocultá-los com arquivos '.desktop' que contenham o texto "Hidden=true". Para as sessões 'mágicas' não existem arquivos '.desktop' padrão, mas o &kdm; finge que eles existem, permitindo assim que você os sobreponha como outro tipo qualquer. Eu espero que você já saiba então como adicionar um tipo novo de sessão, agora ;-)

## Usando o &kdm; para Logins Remotos (&XDMCP;)

O &XDMCP; é o padrão do Grupo Aberto, o Protocolo de Controle do Gerenciador de Terminal X. Ele é usado para configurar conexões entre sistemas remotos numa rede.

O &XDMCP; é útil sem situações de multi-usuário onde existem usuários em estações de trabalho e um servidor mais poderoso que pode fornecer os recursos para executar múltiplas sessões X. Por exemplo, o &XDMCP; é uma boa maneira de reusar computadores antigos - um computador Pentium ou mesmo 486 com 16 Mb de RAM é suficiente para executar o X propriamente dito, e usar o &XDMCP; como um computador que pode rodar uma sessão completa do moderno &kde; a partir de um servidor. No lado do servidor, uma vez que uma sessão simples do &kde; (ou outro ambiente) é iniciada, a execução de outra requer bem menos recursos extras.

No entanto, permitir outro método de login à sua máquina obviamente gera implicações de segurança. Você deve executar este serviço somente se você precisa permitir que Servidores X remotos iniciem o login de sessões em seu sistema. Usuários com um computador simples &UNIX; não devem precisar executar isto.

## Tópicos Avançados

### 'Sockets' de Comandos

Esta é uma funcionalidade que você poderá usar para controlar remotamente o &kdm;. É principalmente usada pelo &ksmserver; e pelo &kdesktop;, a partir de uma sessão em execução, mas poderá ser usada por outras aplicações.

Os 'sockets' são do domínio &UNIX; e estão nas sub-pastas da pasta indicada em `FifoDir`=. A sub-pasta é a chave de endereçamento e segurança; os 'sockets' têm todos o nome de arquivo `socket` e as permissões de arquivos `rw-rw-rw-` (0666). Isto deve-se ao fato de alguns sistemas não levarem em conta as permissões dos arquivos dos 'sockets'.

Existem dois tipos de 'sockets': o global (dmctl) e os que são usados por tela (dmctl-<ecrã>).

A sub-pasta do global pertence ao 'root', enquanto as sub-pastas por tela pertencem ao usuário que está na sessão ('root' ou o usuário autenticado). O grupo que possui as sub-pastas pode ser definido com o FifoGroup=, caso contrário é o 'root'. As permissões dos arquivos das sub-pastas são rwxr-x--- (0750).

Os campos de um comando são separados por tabulações (\t), enquanto os campos de uma lista são separados por espaços. Os espaços verdadeiros nos campos da lista são identificados por \s.

O comando termina numa mudança de linha (\n).

O mesmo se aplica às respostas. A resposta no caso de sucesso é ok, seguida provavelmente da informação desejada. A resposta, em caso de erro, é uma palavra do tipo 'errno' (⪚ perm, noent, &etc;), seguida de uma explicação mais descritiva.

Comandos globais:

`login` `tela` (now | schedule) usuário senha [argumentos_sessão]

  o usuário autenticado na tela indicada. Se for passado o parâmetro now , a sessão em execução possível é encerrada, caso contrário a autenticação é feita após a saída da sessão. Os argumentos da sessão são formatados como o tipo do 'printf' para o .dmrc. As chaves sem listas irão usar os valores previamente salvos.

Comandos por tela:

`lock`

  A tela é marcada como bloqueada. Se o &X-Server; travar neste estado, não será feita nenhum login automático, mesmo que a opção esteja ativa.

`unlock`

  Inverte o efeito do `lock` e ativa de novo o login automático.

`suicide`

  A sessão atualmente em execução é terminada de forma forçada. Não será tentado um login automático, embora seja agendado para execução um comando "login".

Comandos para todos os 'sockets'

`caps`

  Devolve uma lista das capacidades deste 'socket':

  &kdm;

    identifica o &kdm;, no caso de algum outro gerenciador de autenticação implementar também este protocolo

  list, lock, suicide, login

    O comando respectivo é suportado

  bootoptions

    O comando `listbootoptions` e o `=` para `shutdown` são suportados

  shutdown <lista>

    O `shutdown` é suportado e é permitido para os usuários indicados (por uma lista separada por vírgulas). O * corresponde a todos os usuários autenticados.

  nuke <lista>

    O encerramento forçado da sessão poderá ser efetuado para os usuários indicados.

  nuke

    O encerramento forçado da sessão poderá ser efetuado para todos os usuários

  reserve <número>

    As telas de reserva são configuradas e o número fica disponível neste momento

  `list` [all | alllocal]

    Devolve uma lista com todas as sessões em execução. Por padrão, todas as sessões ativas são listadas. Se for indicado o parâmetro all, as sessões passivas também são indicadas. Se for passado o alllocal, as sessões passivas também são listadas, mas as sessões remotas recebidas serão ignoradas.

    Cada item de sessão é uma lista, separada por vírgulas, de:

    - Nome da tela ou TTY

    - Nome do Terminal Virtual para as sessões locais

    - O nome do usuário logado, sendo vazio para as sessões passivas e para as sessões remotas externas (modo de seletor local)

    - O tipo de sessão ou <remote> para as sessões remotas externas, ou ainda vazio para as sessões passivas.

    - Um campo de Opções:

      - `*` para a tela que pertence ao 'socket' do pedido.

      - `!` para as sessões que não podem ser terminadas pelo 'socket' do pedido.

    Poderão ser adicionados campos novos no futuro.

  `reserve` [tempo em segundos]

    Inicia uma tela de login de reserva. Se ninguém se logar dentro do período de tempo indicado (um minuto, por padrão), a tela é removida novamente. Quando a sessão na tela terminar, a tela é também removida.

    Só é permitido nos 'sockets' das telas locais e no 'socket' global.

  `ativate` (vt|tela)

    Muda para um VT (terminal virtual) em particular. O VT pode tanto ser indicado diretamente (⪚ vt3) como pela tela que o usa (eg; :2).

    Só é permitido nos 'sockets' das telas locais e no 'socket' global.

  `listbootoptions`

    Lista as opções de boot disponíveis.

  `shutdown` (reboot | halt) [=bootchoice] (ask|trynow|forcenow|schedule|início (-1|fim (force|forcemy|cancel))))

    Faz um pedido de encerramento do sistema, seja um reinício (reboot) ou um encerramento total (halt/poweroff).

    Poderá ser indicada uma opção do SO para a próxima inicialização na lista que é devolvida pelo `listbootoptions`

    Os encerramentos pedidos nos 'sockets' por tela são executados quando a sessão atual nessa tela terminar. Esse pedido poderá disparar uma janela que peça a confirmação e/ou autenticação

    O início é a hora para a qual o encerramento fica agendado. Se começar por um sinal de mais, a hora atual é adicionada. O zero corresponde à execução imediata.

    O fim é a última hora a que o encerramento deverá ser executado, se existirem sessões ativas em execução. Se começar por um sinal de mais, a hora final é adicionada. O -1 corresponde a uma espera infinita. Se ainda não tiver atingido o fim e existirem sessões ativas, o &kdm; poderá fazer uma das seguintes coisas:

    - cancel - desiste do encerramento

    - force - encerra incondicionalmente

    - forcemy - desliga imediatamente, se todas as sessões ativas pertencerem ao usuário que fez o pedido. Apenas para os 'sockets' por tela.

    O início e o fim são indicados em segundos desde o início da contagem do &UNIX; ('epoch').

    O trynow é um sinónimo para 0 0 cancel, o forcenow para 0 0 force e o schedule para 0 -1.

    O ask tenta um encerramento imediato e interage com o usuário, se existirem sessões ativas. Só para os 'sockets' por tela.

  `shutdown cancel` [local|global}

    Cancela um encerramento escalonado. O 'socket' global cancela sempre o encerramento pendente, enquanto os 'sockets' por tela cancelam por padrão o seu pedido em fila de espera.

  `shutdown status`

    Devolve uma lista com informações sobre os encerramentos.

    Os itens são uma lista, separada por vírgulas, de:

    - (global|local) - encerramento pendente vs. em espera. Um item local pode ser devolvido apenas para um 'socket' por tela.

    - (halt|reboot)

    - start

    - end

    - ("ask"|"force"|"forcemy"|"cancel")

    - O ID numérico do usuário que fez o pedido, sendo -1 para o 'socket' global.

    - A opção de SO do próximo boot ou "-" para nenhuma.

    Novos campos poderão ser adicionados mais tarde

Existem duas formas de usar os 'sockets':

- Conectar-se diretamente a eles. A FifoDir é exportada como $`DM_CONTROL`; o nome dos 'sockets' por tela através do $`DISPLAY`.

- Usando o comando `kdmctl` (⪚, a partir de um 'shell script'). Tente o `kdmctl` `-h` para descobrir mais.

Aqui está um programa de exemplo que reinicia para o FreeBSD:

    if kdmctl | grep -q shutdown; then
      IFS=$'\t'
      set -- `kdmctl listbootoptions`
      if [ "$1" = ok ]; then
            fbsd=$(echo "$2" | tr ' ' '\n' | sed -ne 's,\\s, ,g;/freebsd/I{p;q}')
            if [ -n "$fbsd" ]; then
          kdmctl shutdown reboot "=$fbsd" ask > /dev/null
            else
              echo "Boot para FreeBSD indisponível."
            fi
      else
        echo "Opções de boot indisponíveis."
      fi
    else
      echo "Não é possível reiniciar o sistema."
    fi

## Outras fontes de informação

Uma vez que o &kdm; é um descendente do &xdm;, a página de manual do &xdm; pode fornecer informações básicas úteis. Para problemas relacionados ao X tente as páginas de manual do X e startx. Se você tiver questões sobre o &kdm; que não tiverem sido respondidas neste manual, aproveite-se do fato do &kdm; ser fornecido sob os termos da Licença Pública &GNU; Licença Geral Pública: dê uma olhada no código fonte.

## Créditos e Licença

O &kdm; é derivado de, e inclui código de, &xdm; (C) Keith Packard, MIT X Consortium.

&kdm; 0.1 foi escrito por &Matthias.Ettrich;. Versões posteriores até o &kde; 2.0.x foram escritas por &Steffen.Hansen;. Alguns novos recursos para o &kde; 2.1.x e uma grande reescrita para o &kde; 2.2.x foi feita por &Oswald.Buddenhagen;.

Outras partes do código do &kdm; possuem direitos de cópia por seus autores, e são licenciadas sob os termos da GP&GNU;L. A qualquer um é permitido mudar o &kdm; e redistribuir o resultado desde que os nomes dos autores sejam mencionados.

O &kdm; necessita da biblioteca &Qt;, que possui direito autorais para Troll Tech AS.

Contribuidores da documentação:

- Documentação escrita por &Steffen.Hansen; stefh@dit.ou.dk

- Documentação estendida por Gregor Zumsteinzumstein@ssd.ethz.ch. Última atualização em 09 de Agosto de 1998

- Documentação revisada para o &kde; 2 por &Neal.Crook; &Neal.Crook.mail;. Última atualização em 06 de Agosto de 2000

- Documentação estendida e revisada para o &kde; 2.2 por &Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;. Última atualização em Agosto de 2001

Direito autorais da documentação para &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook; e &Oswald.Buddenhagen;. Este documento também inclui muitas partes da página de manual do &xdm;, que é de © para Keith Packard.

&underFDL; &underGPL;

## Glossário

saudação

  A saudação é o diálogo de login, &ie; a parte do &kdm; que o usuário vê.

entropia

  A entropia de um sistema é a medida de sua imprevisibilidade. Isto é usado durante a geração de números aleatórios.