ConfiguracaoLXDE - UFSC/moodle-provas-livecd-provas GitHub Wiki

Configuração do ambiente gráfico LXDE

LXDE é um ambiente gráfico simples, rápido e leve, que tem como Window Manager padrão o OpenBox. O objetivo desta página é descrever todo o processo de personalização visual e funcional deste ambiente.

Mais informações

O LXDE no Ubuntu

O pacote lxde no Ubuntu 12.04 contém a versão 0.5.0 deste ambiente gráfico, o tema padrão que o acompanha tem um visual razoável, que pode ser consideravelmente melhorado realizando a instalação de alguns pacotes extras e fazendo alguns ajustes na interface. Ao mesmo tempo, existe uma distribuição baseada no Ubuntu, chamada Lubuntu, ela tem como ambiente gráfico o LXDE e vem configurado por padrão com um tema bastante atrativo. Felizmente este tema está disponível no repositório oficial do Ubuntu (repositório universe) no pacote lubuntu-artwork e lubuntu-icon-theme, este tema será usado como base para a personalização do ambiente gráfico do LiveCD. A arte do Lubuntu também pode ser obtida em http://lubuntublog.blogspot.com.br/p/artwork.html

Principais componentes do LXDE

lxpanel

É o aplicativo que funciona como dock na área de trabalho, nele estão localizados o menu principal, a lista de janelas abertas, atalhos e a bandeja do sistema, com os ícones de notificação de alguns aplicativos, como o controle de volume e gerenciador da conexão de rede. É instalado pelo pacote com o mesmo nome.

lxsession

É o aplicativo responsável por gerenciar a sessão ativa no X. É instalado pelo pacote com o mesmo nome e inclui também o aplicativo lxsession-logout, responsável por oferecer as opções de encerramento da sessão (Desligar, Reiniciar, etc.)

pcmanfm

É o gerenciador de arquivos padrão do LXDE.

openbox

É o gerenciador de janelas padrão do LXDE.

Atalhos de teclado

Atalhos úteis para testes, pois o LiveCD não tem arquivos de atalho para eles.

  • Ctrl + Alt + D : Abre o gerenciador de arquivos (pcmanfm)
  • Ctrl + Alt + T : Abre o emulador de terminal (lxterminal)

Configuração visual

Instalação dos pacotes necessários

Pressupõe-se que um servidor X já esteja instalado e configurado (Xorg).

apt-get install lxde lubuntu-artwork lubuntu-icon-theme dmz-cursor-theme murrine-themes gtk2-engines gtk2-engines-pixbuf --no-install-recommends

Descrição

  • lxde - Base do LXDE
  • lubuntu-artwork - Tema do Lubuntu, papel de parede, etc
  • lubuntu-icon-theme - Tema de ícones do Lubuntu
  • dmz-cursor-theme - Tema de cursores do mouse
  • murrine-themes - Temas para GTK
  • gtk2-engines - Pacote necessário para alguns aplicativos, sem ele são gerados diversos warnings no arquivo $HOME/.xsession-errors
  • gtk2-engines-pixbuf - Mesma situação do pacote anterior.

Arquivos de configuração

/etc/gtk-2.0/gtkrc

Define o tema padrão para aplicativos GTK, neste caso o tema escolhido foi o MurrinaAquaIsh, que é bonito e tem um bom contraste das fontes com os painéis.

Criar este arquivo com o seguinte conteúdo:

include "/usr/share/themes/MurrinaAquaIsh/gtk-2.0/gtkrc"

Este arquivo é bastante simples, o tema poderia ser alterado apenas mudando o caminho para um dos temas disponíveis em /usr/share/themes, desde que ele seja compatível com o gtk-2.0, mas é possível também testar de uma forma mais prática cada um dos temas instalados, utilizando o aplicativo gtk-chtheme (o pacote tem o mesmo nome), ele permite selecionar qualquer um dos temas instalado e testar na hora, o arquivo gtkrc gerado por ele é salvo em $HOME/.gtkrc-2.0, dessa forma pode-se escolher outro tema visualmente e identificar o caminho dele mais facilmente para fazer a alteração no /etc/gtk-2.0/gtkrc.

/etc/xdg/lxsession/LXDE/desktop.conf

Configurações padrões do LXDE, baseadas nas configurações usadas pelo Lubuntu.

[Session]
window_manager=openbox-lxde

[GTK]
sNet/ThemeName=Lubuntu-default
sNet/IconThemeName=lubuntu
sGtk/FontName=Ubuntu 11
iGtk/ToolbarStyle=3
iGtk/ButtonImages=1
iGtk/MenuImages=1
iGtk/CursorThemeSize=18
iXft/Antialias=1
iXft/Hinting=1
sXft/HintStyle=hintslight
sXft/RGBA=rgb
sGtk/CursorThemeName=DMZ-White

[Mouse]
AccFactor=20
AccThreshold=10
LeftHanded=0

[Keyboard]
Delay=500
Interval=30

$HOME/.config/lxpanel/LXDE/config

Este arquivo é gerado pelo lxpanel quando ele é configurado através do painel acessível no menu do botão direito (Configurações do painel), aba Avançado, não é necessário alterar.

$HOME/.config/lxpanel/LXDE/panels/panel

Este arquivo também é gerado pelo lxpanel através das outras opções da tela de configuração Configurações do painel. As principais configurações nele, são:

  • A imagem de fundo da barra, parâmetro backgroundfile, deve apontar para /usr/share/lxpanel/images/lubuntu-background.png (aba Aparência).
  • A Cor personalizada deve ser desativada (aba Aparência).
  • Remover os plugins: Paginador da área de trabalho, Monitor de uso da CPU, e os Espaçadores que estiverem sobrando (aba Miniaplicativos do Painel).
  • Remover do plugin Barra de lançamento de aplicativos o ScreenLock, deixar apenas o Shutdown.
  • O relógio digital deve ser configurado com o seguinte Formato da dica: %c

$HOME/.config/openbox/lxde-rc.xml

Este arquivo pode ser gerado pelo configurador obconf, que é o configurador visual do OpenBox. As principais configurações a serem alteradas neste configurador são:

  • O tema padrão (aba Tema), tema recomendado: Natura.
  • A duração do clique duplo (aba Mouse), um valor entre 300 e 400 ms é o ideal, o padrão é 200 ms.
  • O número de áreas de trabalho deve ser reduzido para apenas 1 e a notificação desativada (aba Áreas de trabalho).

Neste arquivo é possível desativar o menu contextual que aparece ao clicar com o botão direito na área de trabalho e sobre a barra de título das janelas, para isso é necessário remover a action associada ao botão direito (Right), conforme descrito abaixo. Nele também é possível modificar e remover atalhos de teclado.

Desativar menu contextual da barra de título

Dentro do contexto <context name="Titlebar">, procurar <mousebind button="Right" action="Press"> e remover toda tag <action name="ShowMenu"> * </action>.

Desativar menu contextual da área de trabalho

Dentro do contexto <context name="Root">, procurar <mousebind button="Right" action="Press"> e remover toda tag <action name="ShowMenu"> * </action>.

Para essa opção funcionar completamente, o menu do gerenciador de janelas (OpenBox) deve estar ativado, essa opção é configurada nas Preferências da área de trabalho, aba Avançado e marcando a opção Mostrar o menu do gerenciador de janelas quando a área de trabalho for clicada. Essa opção é controlada pelo parâmetro show_wm_menu do arquivo de configuração do PCManFM , arquivo $HOME/.config/pcmanfm/LXDE/pcmanfm.conf, que é descrito abaixo.

Modificando os atalhos de teclado

No CD de provas não faz sentido ter alguns atalhos padrões do LXDE ativados, como a tecla de printscreen e atalhos para alternar as áreas de trabalho, portanto toda a seção <keyboard> </keyboard> pode ser substituída pela seguinte, que ativa somente os atalhos essenciais:

<code class="xml">
  <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for windows -->
    <keybind key="A-F4">
      <action name="Close"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow"/>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
      </action>
    </keybind>
    <!-- Launch Task Manager with Ctrl+Alt+Del -->
    <keybind key="A-C-Delete">
      <action name="Execute">
        <command>lxtask</command>
      </action>
    </keybind>
    <!-- Fast access to Terminal -->
    <keybind key="C-A-T">
      <action name="Execute">
        <command>lxterminal</command>
      </action>
    </keybind>
    <!-- Fast access to filemanager -->
    <keybind key="C-A-D">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>PCManFM</name>
        </startupnotify>
        <command>pcmanfm</command>
      </action>
    </keybind> 
  </keyboard>
</code>

$HOME/.config/pcmanfm/LXDE/pcmanfm.conf

Neste arquivo são configuradas as opções do gerenciador de arquivos e também o papel de parede da área de trabalho, através do parâmetro wallpaper, abaixo outras configurações necessárias:

# Desativa o automount do LXDE
[volume]
mount_on_startup=0
mount_removable=0
autorun=0

# Ativa o menu do OpenBox na área de trabalho
show_wm_menu=1

/usr/share/applications/lxde-logout.desktop

Atalho que é chamado pelo botão de logout do lxpanel, deve-se adicionar a tradução para português, adicionando a seguinte linha:

Name[pt_BR]=Desligar o computador

Patches

Esta seção contém informações sobre pacotes que precisam de patches para terem o comportamento desejado no LiveCD, como são programas escritos na linguagem de programação C, eles devem ser recompilados em uma máquina ou ambiente virtual que tenha a mesma versão do sistema de provas e a mesma arquitetura, seja ela 32-bit ou 64-bit, que é a forma mais simples, ou via cross-compiling. Abaixo é descrito o procedimento genérico, pois os patches são específicos para cada pacote, dessa forma, existe no repositório um shell script para geração automática de cada pacote.

Procedimento genérico de recompilação de um pacote deb:

# Instalar os pacotes necessários para recompilar um pacote deb
apt-get install build-essential fakeroot dpkg-dev

# Baixar o código fonte do pacote que será recompilado
apt-get source PACOTE

# Baixar e instalar as dependências de compilação do pacote
apt-get build-dep PACOTE

# Extrair o pacote
dpkg-source -x PACOTE-VERSION-REV.dsc

# Entrar no diretório extraído
cd PACOTE_DIR

# Aplicar o patch
patch ORIGINAL PATCH

# Compilar e gerar o pacote
dpkg-buildpackage -rfakeroot -b

lxsession-logout (pacote lxsession)

Este é o executável responsável por mostrar as opções de encerramento da sessão ao usuário: Encerrar sessão, Desligar, Reiniciar, Hibernar e Suspender, essas opções só aparecem se estiverem disponíveis no sistema e o usuário tiver poder para executá-las, ele é instalado pelo pacote lxsession. Infelizmente essas opções que aparecem não podem ser removidas via configuração, algumas até podem ser inibidas alterando arquivos de configuração do policyKit (veja detalhes aqui), como é o caso das opções Hibernar e Suspender, mas as demais opções só podem ser removidas aplicando-se patches ao código fonte do lxsession-logout e recompilando-o.

No LiveCD são necessárias apenas as opções Desligar e Cancelar, portanto as demais opções são desativadas pela aplicação dos patches que estão no repositório.

lxpanel (pacote lxpanel)

Este executável é a barra de tarefas do LXDE (dock em inglês), onde ficam os aplicativos abertos, atalhos e o relógio do sistema, ele é instalado pelo pacote lxpanel.

A maioria das suas opções podem ser configuradas no arquivo $HOME/.config/lxpanel/LXDE/panels/panel, porém uma das opções desejadas, que é desativar o menu que aparece ao clicar com o botão direito sobre ele, não está disponível, portanto este menu só pode ser desativado aplicando-se um *patch ao seu código fonte e recompilando-o. O patch está no repositório.

⚠️ **GitHub.com Fallback** ⚠️