# O Manual do &kdm;

## 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

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

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

2. 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.

3. 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 login.

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 Login: 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 Login:. (Este recurso é uma imitação da caixa de login do IRIX).

- Uma caixa combinada Tipo de Sessão: 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 Login:, 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.

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

- 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 em telas locais) Um ítem Modo Console que termina o &X-Server; atualmente em execução e deixa-o sozinho com um login de console. O &kdm; retornará ao login gráfico se ninguém logar-se no console depois de algum tempo. Para fazer isto funcionar, você precisa usar a sintaxe local@<console> no arquivo `Xservers` (veja os comentários neste arquivo).

- (Opcionalmente) Um botão Desligar... que exibe a caixa de diálogo de 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/kde2/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 Centro de Controle do KDE (sob o menu Sistema Gerenciador de Login), que é descrita nos os arquivos de ajuda do &kcontrol;.

O restante deste capítulo descreve a configuração do &kdm; através do módulo do &kcontrol;, 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 &kcontrol; 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.

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

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 &kcontrol; removerá estes comentários do arquivo. Todas as opções disponíveis no &kdmrc; são abordadas em kdmrc.

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 cinco seções Aparência, Fonte, Fundo, Sessões, 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;.

O string de saudação é o título da tela de login. Se o string contiver a palavra `HOSTNAME` ela será traduzida para o nome da máquina sem o domínio em que o &kdm; está instalado. Isto é equivalente à configuração `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 do logotipo. Usando as configurações de Posição, você pode escolher entre centralizar o conteúdo da área de logotipo ou posicioná-la usando coordenadas fixas. 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. O padrão é Centrado. Se você escolher Especificar você poderá especificar a posição para o canto superior esquerdo da janela de login, em relação ao canto superior esquerdo da tela, nos campos rotulados X e Y respectivamente. Isto corresponde às chaves `GreeterPosFixed`, `GreeterPosX` e `GreeterPosY` 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.

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

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

- A fonte de Falha é usada quando um login falha.

- A fonte Padrão é usada em todos os outros lugares na janela de login.

Um exemplo de cada fonte pode ser visto na Caixa Exemplo.

#### Fundo

Aqui você pode mudar o fundo do ambiente que será exibido quando um usuário se loga. 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 tela.

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.

#### Sessões

Permitir Desligamento

Use esta caixa combinada 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ários no Console: e usuário Remoto:.

Comandos

Use estas 3 lacunas para definir o comando exato de desligamento.

O comando de desligamento padrão:

    /sbin/shutdown

O comando de reinício padrão:

    /sbin/reboot

Quando Mostrar opções de inicialização estiver habilitado, o &kdm; na reinicialização lhe mostrará as opções para o gerenciador de boot do lilo. Para este recurso funcionar, você precisa fornecer o caminho correto para seu comando `lilo` e o arquivo de mapa do lilo.

##### Tipos de sessão

Define que tipos de sessão devem estar acessíveis a partir da janela de login.

Para mais informações sobre este assunto, procure em `/etc/X11/xdm/Xsession` para encontrar seus arquivos de configuração do xdm. Também veja as páginas de manual do xdm, especialmente na seção PROGRAMAR SESSÃO.

Para adicionar um tipo de sessão, digite o seu nome na caixa intitulada Novo tipo, e clique em Adicionar novo.

Para remover uma sessão, selecione a sessão a partir da lista e clique em Remover.

#### 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:

Nenhum

- Não mostra nenhum usuários. Esta é a configuração mais segura, uma vez que um atacante deve então descobrir um nome de login válido bem como uma senha. Esta também é a opção preferencial se você mais do que um punhado de usuários na lista, ou a lista se torna por si só difícil de manejar.

Somente selecionados

- Mostra somente usuários que você tenha habilitado específicamente.

Não ocultos

- Permite-lhe selecionar uma lista de usuários que não devem ser mostrados, e todos os outros usuários serão listados.

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ê pode também habilitar a caixa de verificação Ordenar usuários, para que a lista de usuários seja ordenada alfabeticamente. Se isto estiver desabilitado, usuários aparecerão na ordem em que são listados no arquivo de senhas.

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.

As opções disponíveis para a Fonte de Imagem do Usuário são:

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.

##### Para mostrar (e ordenar) ou não mostrar usuários

Do lado direito da janela existem duas caixas de verificação:

Se Mostrar usuários estiver selecionado, você pode escolher se deseja mostrar imagens para usuários, ao invés de forçá-los a digitar seu nome de login.

Se Ordenar usuários estiver selecionado, então a lista de usuários será ordenada alfabeticamente na janela de login. Se estiver desabilitado, os usuários serão listados na mesma ordem em que aparecem nesta página. Se Mostrar usuários não estiver habilitado, isto não terá nenhum efeito.

##### Como determina que usuários mostrar e que usuários ocultar

Abaixo da caixa de imagem do usuário, e acima da caixa de verificação Mostrar usuários, está um conjunto de dois botões de opção.

- Mostrar somente usuários selecionados: Se esta opção estiver selecionada, somente usuários contidos na lista rotulada Usuários Selecionados, serão exibidos na janela de login. Se Mostrar usuários não estiver selecionado, isto não terá nenhum efeito.

- Mostrar todos os usuários menos usuários não-mostrar: Se esta opção estiver selecionada, todos os usuários serão listados, exceto aqueles usuários contidos na lista intitulada Não mostrar usuários. Se Mostrar usuários não estiver selecionado, isto não terá nenhum efeito.

##### Usuários selecionados

Esta página contém três caixas de listagem. A maior caixa de listagem à esquerda mostra todos os usuários do sistema que devem ser um usuário real.

A caixa de listagem superior direita mostra os usuários selecionados e a inferior direita mostra os usuários que não serão exibidos na janela de login.

Para mover um usuário de uma caixa de listagem para outra você clica no nome do usuário na caixa de listagem e clica >> para mover o usuário da caixa mais a esquerda para a caixa mais a direita ou << para mover o usuário no sentido inverso.

##### Imagens

Esta seção do manual somente se aplica se Mostrar usuários estiver selecionado. Caso contrário, esta caixa de imagem não terá nenhum efeito.

Cada usuário no sistema pode ser representado por uma imagem. A imagem para o usuário é mantida num arquivo chamado `$`KDEDIR`/share/apps/kdm/pics/users/$`USER`.xpm`. Se o usuário não tiver um arquivo correspondente, o arquivo `$`KDEDIR`/share/apps/kdm/pics/users/default.xpm` será usado.

Para atribuir uma nova imagem a um usuário apenas selecione o usuário em uma das caixas de listagem e arraste um arquivo de imagem para o botão de imagem à direita ou clique no botão de imagem e selecione uma nova imagem a partir do seletor de imagem.

Se nenhum usuário estiver atualmente selecionado, você será perguntado se deseja mudar a imagem padrão.

A substituição é realizada por um processo do &konqueror; logo se o arquivo de imagem já existir você será questionado se o &konqueror; deverá substituir a anterior. Se você confirmar a imagem será substituída - você NÃO precisa pressionar o botão Aplicar.

#### 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

Login automático fornecerá a qualquer um acesso a uma determinada conta de seu sistema sem realizar nenhuma autenticação. Você pode habilitá-lo usando a opção Habilitar login automático.

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

##### Login sem Senha

Usando este recurso, você permite determinados usuários logarem-se sem ter que fornecer suas senhas. Habilite este recurso usando a opção 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`.

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.

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.

## Os Arquivos que o &kdm; Usa para Configuração

Este capítulo documenta os arquivo que controlam o comportamento do &kdm;. Muito deste comportamento pode também ser controlado a partir do módulo do &kcontrol;, mas nem tudo.

Os arquivos que você precisa editar são:

&kdmrc;

- O arquivo de configuração principal do &kdm;

&kdmrc-ref;

## Configurando seu sistema para usar o &kdm;

Este capítulo considera que seu sistema já está configurado para rodar o Sistema de Janelas X, 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 faze isto, emita 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 livro de mão, 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.

- Para o &RedHat;, edite o `/etc/inittab`, procure pelo string xdm e substitua-o com o &kdm; (incluindo todo caminho).

- 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

- Para o FreeBSD, edite o `/etc/ttys` e procure a linha parecida com esta:

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

  e edite-a para ficar assim:

      ttyv8   "/usr/local/bin/kdm -nodaemon"  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.

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 mais provável é que o ambiente usado no momento do boot difere do ambiente que você usou para testar na linha de comando. Se você estiver tentando fazer com que duas versões do KDE co-existam, tenha um cuidado particular para que as configurações que você uso para suas variáveis de ambiente `PATH` e `LD_LIBRARY_PATH` seja consistentes, e que os scripts de inicialização não se contraponham de alguma maneira.

## Suportando gerenciadores de janela múltiplos

A caixa de diálogo principal do &kdm; inclui uma caixa combinada Tipo de Sessão:, que permite-lhe selecionar um gerenciador de janela para usar na sua sessão. Este capítulo descreve as mudanças que você deve fazer para que seus arquivos de configuração possam suportar este recurso.

As opções que aparecem na caixa combinada Tipo de Sessão: são configuradas por entradas na seção `KDM` do &kdmrc;.

Quando você se loga usando o &kdm;, o script do shell `Xsession` é executado. O tipo de sessão que você selecionou é passado como um argumento de linha de comando. (o `Xsession` pode ser encontrado em `/etc/X11/xdm/` no Redhat e Mandrake, e em `/usr/X11R6/lib/X11/xdm/` no S.u.S.E.). Para fins de depuração, você deve encontrá-lo para adicionar esta linha ao `Xsession`:

    echo "$0 || $1 || $2"
    > $HOME/.Xsession_args

Como você procederá agora depende de como seu sistema normalmente inicia gerenciadores de janela. Aqui estão duas diferentes abordagens, com exemplos das mudanças que você deve fazer:

- O gerenciador de janela é iniciado com comandos dentro do `Xsession`. Neste caso, você pode adicionar uma sentença case para iniciar o gerenciador de janela apropriado. O Mandrake Linux usa esta abordagem; aqui está um extrato do `Xsession`:

      # now, we see if xdm/gdm/kdm has asked for a specific environment
      case $# in
      1)
          case $1 in
              kde)
              source /opt/kde2/bin/kde1
              exec startkde
              ;;
              kde2)
              source /opt/kde2/bin/kde2
              exec startkde
              ;;
                  failsafe)
              exec xterm -geometry 80x24-0-0
              ;;
              default)
              ;;
              *)
              exec /bin/sh -c "$(/usr/sbin/chksession -x=$1)"
              ;;
           esac
      esac

- O gerenciador de janela é iniciado por outro script que é invocado pelo `Xsession`. Neste caso você deve ter certeza de que o parâmetro passado para o `Xsession` é passado para este outro script. Por exemplo, se o gerenciador de janela é iniciado deste modo:

      exec $startup

  você deve precisar mudá-lo para:

      exec $startup$@

  Tendo feito esta mudança, você pode rastrear seu caminho através da inicialização para encontrar o lugar onde o gerenciador de janela é iniciado. Uma abordagem usa o `xinitrc` para iniciar o gerenciador de janela; isto permite usar um arquivo `/etc/X11/xinit/xinitrc` para todo o sistema ou um arquivo `$HOME/.xinitrc` específico para cada usuário. Se você editar o `$HOME/.xinitrc`, você pode desejar salvar uma cópia em `/etc/skel`, de modo que ele seja automaticamente gerado em cada conta de usuário que você criar a partir de então. Aqui está um exemplo de `xinitrc` para um sistema usando esta abordagem:

      #!/bin/bash
      #
      # .xsession/.xinitrc
      #
      # choose a window manager
      #

      defaultwm=kde
      #set the window manager to $1 if it was supplied
      windowmgr=${1:-$defaultwm}

      #start the respective window managers
      case ${windowmgr} in
        kde|kwm|kdestart)
              WINDOWMANAGER=startkde
              ;;
        fvwm|fvwm2)
              WINDOWMANAGER=fvwm2
              ;;

        fvwm95)
              WINDOWMANAGER=fvwm95
              ;;

        *)    WINDOWMANAGER=windowmgr   # default for unknown wm's

      esac

      #
      # load resources
      #

      if [ -f /usr/X11R6/lib/X11/Xmodmap ]; then
          xmodmap /usr/X11R6/lib/X11/Xmodmap
      fi

      if [ -f ~/.Xmodmap ]; then
          xmodmap ~/.Xmodmap
      fi

      if [ -f ~/.Xdefaults ]; then
          xrdb -merge ~/.Xdefaults
      fi

      if [ -f ~/.Xresources ]; then
          xrdb -merge ~/.Xresources
      fi
      #
      # finally start the window manager
      #
      exec $WINDOWMANAGER

## 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.

## 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 livro de mão, aproveite a vantagem do fato do &kdm; ser fornecido sob os termos da Licença Pública GNU: 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 GNU GPL. 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 de cópia da 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/07/1998

- Documentação revisada para o KDE 2 por Neal Crooknac@forth.org. Última atualização em 07/07/2000

- Documentação estendida e revisada para o KDE 2.2 por Oswald Buddenhagenossi@kde.org. Última atualização em XX/07/2001

Direito de cópia 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 (C) Keith Packard.

Tradução de Marcus Gama marcus_gama@uol.com.br

&underFDL; &underGPL;

## Compilando e Instalando o kdm

O &kdm; é parte do projeto KDE. As diversas partes componentes do projeto KDE são divididas em seções, chamadas pacotes. O &kdm; é parte do pacote chamado kdebase. Você pode obter o código fonte do KDE a partir de CDs de várias distribuições Linux e BSD, ou baixando-os a partir de www.kde.org ou de seus espelhos. Se você tiver uma árvore de código fonte desatualizada, você pode usar um dos servidores cvsup do KDE para atualizá-la usando um mínimo da banda da rede.

Antes de compilar o kdebase, você deve compilar e instalar (nesta ordem) a versão 2 da biblioteca qt e os pacotes kdesupport do KDE (opcional) e o kdelibs.

Para compilar qualquer um dos acima, você já deve ter o Sistema de Janelas X instalado, junto com um compilador C++ XXXXXXXXXX - os aplicativos correspondentes para compilar a partir do CVS e as ferramentas de configuração GNU automake e autoconf.

Se os últimos parágrafos pareceram um idioma alienígena, então você veio parar numa Área Inapropriada deste livro de mão, ou você você precisa obter Muito Mais Experiência.

Se seu sistema satisfaz todos os pré-requisitos, você não terá nenhum problema na compilação e instalação do kdebase. O &kdm; é instalado na sua pasta `$KDEDIR/bin`.

`make `install`` NÃO sobrescreverá seus arquivos de configuração anteriores do &kdm;, incluindo o &kdmrc;.

## Glossário

saudação

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

entropia

...