Sessão X

Quando você inicia o Sistema de Janelas X (X Window System) no Debian, uma sessão X é criada. Existem alguns tipos diferentes de sessões X; esta página descreve a sessão X padrão do Debian e como trabalhar com ela.

As páginas man Xsession(5) e Xsession.options(5) oferecem descrições técnicas.

Iniciando uma sessão X no Debian

A maneira padrão de executar uma sessão X no Debian é executar startx de um login de console, ou entrar através de um GerenciadorDeExibição como o lightdm], gdm3]]]] ou xdm]]].

Alguns gerenciadores de exibição podem oferecer uma escolha de tipos de sessão. Se você selecionar algo diferente de uma sessão X no Debian, o restante desta página pode não se aplicar completamente.

Configuração

Configuração para todo o sistema

A configuração para todo o sistema da sessão X do Debian consiste principalmente em opções dentro do arquivo /etc/X11/Xsession.options, e scripts dentro do diretório /etc/X11/Xsession.d. Estes scripts são todos executados por um único shell /bin/sh, na ordem determinada pela classificação de seus nomes. Os(As) administradores(as) podem editar os scripts, embora precaução seja aconselhada se você não sentir-se confortável com programação shell.

O manual de referência Debian descreve como o padrão funciona:

  1. Se o(a) usuário(a) tem um arquivo ~/.xsessionrc, leia-o.

  2. Se uma sessão específica foi selecionada no gerenciador de exibição (GDM, KDM, WDM, LightDM, ...) , execute-a.
  3. Caso contrário, se o(a) usuário(a) tem um arquivo ~/.xsession ou ~/.Xsession, execute-o.

  4. Caso contrário, se o comando /usr/bin/x-session-manager existir, execute-o.

  5. Caso contrário, se o comando /usr/bin/x-window-manager existir, execute-o.

  6. Caso contrário, se o comando /usr/bin/x-terminal-emulator existir, execute-o.

Configuração de usuário(a)

A configuração de usuário(a) pode ser feita de algumas maneiras diferentes. A forma simples é criar um arquivo ~/.xsessionrc, que será usado por todos os tipos de sessão X. Ele é lido por um shell POSIX (/bin/sh, normalmente fornecido pelo dash). Evite usar recursos que não são suportados no POSIX sh.

Existem tipicamente três tipos de comandos que você pode usar neste arquivo:

Se você optar por executar um de seus arquivos de ponto de shell regulares (dotfile), certifique-se de que ele não usa recursos específicos do bash, recursos específicos do zsh, recursos específicos do0 ksh, etc.

Se optar por executar um programa cliente X, certifique-se de que ele termina rapidamente por conta própria (por exemplo, os comandos xmodmap, xset ou xsetbg), ou execute-o em segundo plano, terminando o comando com o operador do shell &. Observe também que, porque ~/.xsessionrc é lido muito cedo, quaisquer configurações que você colocar aqui podem ser substituídas pelo seu gerenciador de janelas ou pelo ambiente de trabalho mais tarde na sequência de login.

Se você selecionou uma sessão do GNOME, configurações adicionais serão lidas a partir do arquivo ~/.gnomerc, se existir.

Uma alternativa mais avançada é usar o arquivo ~/.xsession. Este arquivo, se existir, é usado em vez do sistema padrão x-session-manager ou do x-window-manager. Portanto, se usá-lo, você deve garantir que ele lança seu gerenciador de janela desejado (window manager - WM) ou seu ambiente de trabalho (desktop manager - DE).

Aqui está um exemplo bem simples de ~/.xsession:

xsetroot -solid gray
xmodmap -e "keysym Super_L = Multi_key"
xset s off; xset dpms 0 1800 0
exec fvwm

Tal como acontece com ~/.xsessionrc, qualquer aplicativo cliente X que você executar antes do WM ou DE deve ser naturalmente de curta duração, ou lançado explicitamente em segundo plano. O comando final no script deve ser um exec, que executa o comando de início do WM ou DE (se você não tem certeza de como definir isso, consulte a documentação do WM ou DE, ou fique com o mais simples ~/.xsessionrc).

Finalmente, note que o arquivo ~/.xsession só é lido se você estiver usando uma sessão X do Debian. Se fizer login com gdm3] e escolher uma sessão GNOME, o arquivo ~/.xsession será ignorado completamente (mas você ainda pode usar o ~/.xsessionrc).

Veja também


CategoryBootProcess CategoryDesktop