# O Manual do &kdm;

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

    marcus.gama@gmail.com

Tradução
2000
&Neal.Crook;
2002
2007
&Oswald.Buddenhagen;
2003
&Lauri.Watts;
&FDLNotice;
2007-12-07
0.06.00

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 áreas de trabalho
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

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 .

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 em janelas. A janela principal é composta por:

- Os elementos gráficos que lhe permitem autenticar-se. Quando método de autenticação "clássico" é escolhido, os elementos são:

  - 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 lista que contém entradas com o nome e a imagem gráfica de cada usuário (por exemplo, uma fotografia digitalizada). Ao clicar numa entrada da lista, o efeito é o mesmo que digitar o nome do usuário associado a essa imagem no campo Usuário:.

- (Opcionalmente) Uma região à direita ou acima da área de autenticação, que pode ser usada para mostrar uma imagem estática ou 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 Menu que abre um menu de ações com os seguintes itens:

  - (Opcionalmente) Um item para o Tipo de Sessão, no qual poderá escolher o tipo de sessão (ambiente de trabalho, gerenciador de janelas) a iniciar. Veja em como configurar os diferentes tipos de sessão.

  - (Opcionalmente) Um item para o Método de Autenticação, para mudar entre os vários métodos de autenticação, como o usuário+senha clássico, o cartão inteligente, biometria, &etc;. Os módulos de autenticação atuais são combinações de módulos do PAM e os módulos de interface correspondentes (plug-ins de conversação). Consulte a seção .

  - (Opcionalmente nas telas locais) Um item para Mudar de Usuário... que permite mudar entre diferentes sessões locais em execução nos diferentes terminais virtuais deste computador.

  - (Opcionalmente nas telas locais) Um item Reiniciar Servidor X que termina o &X-Server; atualmente em execução, inicia um novo e exibe novamente a janela de autenticação. Você poderá usar isto se o conteúdo da sua tela parecer bagunçado de alguma forma.

  - (Opcionalmente nas telas remotas) Um item Fechar Conexão que fecha a conexão ao servidor de &XDMCP; ao qual você está atualmente conectado. Se você foi para este servidor através de um seletor de máquinas, isto irá levá-lo novamente para esse seletor, caso contrário só irá reiniciar o &X-Server; e lançar novamente a janela de autenticação.

  - (Opcionalmente nas telas locais) Um item de Autenticação Remota que lhe mostra uma janela de seleção de máquinas, com os servidores de &XDMCP; a que um usuário consegue conectar remotamente.

  - (Opcionalmente nas telas locais) Um item Modo de Console que termina o &X-Server; atualmente em execução e entra na autenticação de console. Veja as seções e .

  - (Opcionalmente) Um botão Desligar... que mostra a janela para Desligar o computador.

A janela Desligar apresenta um conjunto de botões que permitem a execução de uma destas ações:

Desligar o Computador

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

Reiniciar o Computador

  Desliga o sistema e o reinicia. Para os sistemas que utilizam o Lilo ou o GRUB, pode ser usada uma lista opcional que lhe permite selecionar um sistema operacional para ser usado na inicialização.

Agendar...

  Se esta opção estiver ativa, você poderá usá-la para inserir uma janela de encerramento mais complexa. Veja mais detalhes em .

Pressionar o botão Cancelar, volta para a janela 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ê a sua configuração na pasta `$`KDEDIR`/share/config/kdm/` (ela poderá ser `/etc/kde4/kdm/` ou algo do gênero 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ê poderá ver o arquivo &kdmrc; que está em uso atualmente no seu sistema e poderá configurar o &kdm;, bastando para isso editar este arquivo. Em alternativa, você poderá usar a ferramenta de configuração gráfica oferecida pelo &kcontrolcenter; (situada em Administração do Sistema Gerenciador de Autenticação).

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 indicar nenhum logotipo, será exibido o padrão existente em `$`KDEDIR`/share/apps/kdm/pics/kdelogo.xpm`.

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ê poderá mudar o fundo da tela que irá aparecer antes de um usuário se autenticar. As opções são idênticas às descritas na configurações do fundo da tela, salvo algumas que não se aplicam no contexto do &kdm;.

#### 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, &eg; 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:.

A autenticação automática poderá ser suprimida pressionando imediatamente a tecla Shift logo que o &X-Server; muda para o modo gráfico e soltando-a logo que apareça o cursor da ampulheta do &kdm;.

##### 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, &eg; 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;

&theme-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/qt4
    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   "/opt/kde/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 que estão disponíveis, quando é executado. A instalação de um ambiente novo deverá torná-lo automaticamente disponível na janela principal do &kdm;, no submenu 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 ele 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 outros aplicativos.

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' (&eg; 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 (&eg; `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.

    O valor retornado contém estes itens:

    - Uma lista com as opções de inicialização (como descritas no próprio &kdm;).

    - A opção de inicialização padrão.

    - A opção de inicialização atual.

    A opção atual e a padrão são índices começando pelo zero na lista de opções de inicialização. Se alguma destas não estiver definida ou for indeterminada, é igual a -1.

  `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 desligamentos 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` (&eg;, 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 "Inicialização do FreeBSD indisponível."
        fi
      else
        echo "Opções de inicialização indisponíveis."
      fi
    else
      echo "Não é possível reiniciar o sistema."
    fi

## Outras fontes de informação

Uma vez que o &kdm; descende do &xdm;, a página de 'man' do xdm poderá fornecer mais algumas informações adicionais. Para os problemas relacionados com o X tente acessar as páginas do 'man' X e do startx. Se tiver dúvidas sobre o &kdm; que não sejam respondidas por este manual, aproveite o fato de que o &kdm; é distribuído segundo os termos da &GNU; Public License: veja o código-fonte.

## Créditos e Licença

O &kdm; é derivado de, e inclui código de, &xdm; © 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; &Steffen.Hansen.mail;

- 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 e 4.0 por &Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;. Última atualização em 7 de Dezembro de 2007

Direito autorais da documentação para &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook; e &Oswald.Buddenhagen;. Este documento também inclui muitas partes do manual do &xdm;, que é de © de © Keith Packard. O tema do formato da documentação é grandemente baseado no manual do GDM, que possui © de Martin K. Petersen, George Lebl, &RedHat;, Inc. e Sun Microsystems, Inc.

&underFDL;

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