# GNOME Desktop System Administration Guide

## Utilizar o GConf

A informação neste capítulo descreve como utilizar o GConf para gerir as preferências dos utilizadores.

### Introdução ao GConf

O GConf simplifica a administração de preferências dos utilizadores do Ambiente de Trabalho GNOME. O GConf permite aos administradores de sistema realizar o seguinte:

- Definir valores obrigatórios em determinadas preferências para todos os utilizadores. Desta forma, os administradores dos sistemas podem controlar se os utilizadores podem ou não actualizar determinadas preferências.

- Definir valores por omissão em preferências específicas para todos os utilizadores.

- Utilizar valores sugeridos em preferências que estão especificadas em ficheiros de definição para preferências.

- Consultar a documentação de cada preferência.

O GConf também notifica as aplicações quando o valor de uma preferência é alterado, localmente ou numa rede. Desta forma, quando alterar uma preferência, todas as aplicações que utilizam a preferência serão imediatamente actualizadas.

O GConf tem os seguintes componentes:

- Um repositório de preferências dos utilizadores.

- Um daemon, `gconfd-2`.

- Uma ferramenta de linha de comando, `gconftool-2`.

### Repositório GConf

Cada preferência no repositório do GConf é expressa como um par chave-valor. Uma chave de preferência GConf é um elemento no repositório que corresponde à preferência numa aplicação. Por exemplo, a chave de preferência `/apps/gnome-session/options/show_splash_screen` corresponde à opção Apresentar ecrã de logotipo ao iniciar sessão na ferramenta de preferências Sessões. O interface de utilizador do Ambiente de Trabalho GNOME não contém todas as chaves de preferências existentes no repositório do GConf. Por exemplo, a ferramenta de preferências Painel não contém uma opção que corresponda à chave `/apps/panel/global/tooltips_enabled`.

O repositório está estruturado tal como um sistema de ficheiros hierárquico simples. O repositório contém o seguinte:

- Directórios que correspondem a aplicações que utilizam o repositório do GConf. Por exemplo, o sistema de ficheiros contém o directório `/apps/metacity`.

- Subdirectórios que correspondem a categorias de preferências. Por exemplo, o sistema de ficheiros contém o directório `/apps/metacity/general`.

- Ficheiros especiais que listam as chaves de preferências no directório, e contêm informação sobre as chaves. Por exemplo, um ficheiro que contém informação sobre as chaves relacionadas com as preferências de proxy HTTP encontra-se no directório `/system/http_proxy`.

- Um directório `/schemas` que contém ficheiros que descrevem todas as chaves de preferências.

As chaves de preferências normalmente têm valores simples tais como expressões, números ou listas de expressões e números. O formato da chave da preferência no repositório depende do módulo de processamento que é utilizado para ler o repositório. O seguinte é um exemplo da chave de preferência `/desktop/gnome/interface/font_name` quando é utilizado o módulo de processamento Extensible Markup Language (XML) para ler o repositório:

    <entry name="font_name" mtime="1038323555" muser="user123" type="string">
    <stringvalue>Sans 10</stringvalue></entry>

Quando este guia se refere a uma chave de preferência, o caminho para a chave é adicionado ao nome da chave. Por exemplo, a chave de preferência de `font_name` no subdirectório `/desktop/gnome/interface` é referenciada como `/desktop/gnome/interface/font_name`.

#### Bases de Configuração do GConf

O repositório do GConf contém um conjunto de localizações de armazenamento denominadas bases de configuração. As bases de configuração estão listadas no ficheiro de caminhos GConf. A localização do ficheiro de caminhos do GConf é `/etc/gconf/`gconf-version-number`/path`. Cada utilizador tem um ficheiro de caminhos. O ficheiro de caminhos especifica a seguinte informação para cada base de configuração:

- O módulo de processamento a utilizar para ler o repositório.

- As permissões do repositório.

- A localização do repositório.

O ficheiro de caminhos do GConf também contém instruções de `inclusão`. Por omissão, o conteúdo do ficheiro de caminhos do GConf é o seguinte:

    xml:readonly:/etc/gconf/gconf.xml.mandatory
    include /etc/gconf/2/local-mandatory.path
    include "$(HOME)/.gconf.path"
    include /etc/gconf/2/local-defaults.path
    xml:readwrite:$(HOME)/.gconf
    xml:readonly:/etc/gconf/gconf.xml.defaults

Quando o GConf procura por um valor de preferência, o GConf lê as bases de configuração pela ordem especificada no ficheiro de caminhos. A seguinte tabela descreve as bases de configuração no ficheiro de caminhos:

Base de Configuração | Descrição
Obrigatório | As permissões nesta base de configuração estão definidas apenas para leitura. Os utilizadores não podem alterar os valores nesta base, pelo que as preferências na base são obrigatórias.
Utilizador | Esta base de configuração está armazenada no directório `.gconf` dentro do directório pessoal do utilizador. Quando o utilizador define uma preferência, a informação da nova preferência é adicionada a esta localização. Pode utilizar o Editor de Configuração para alterar a base de configuração do utilizador.
Omissão | Esta base de configuração contém as definições por omissão das preferências.

A sequência das bases de configuração no ficheiro de caminhos assegura que as preferências obrigatórias se sobrepõem às definições de preferências do utilizador. A sequência também assegura que as preferências do utilizador se sobrepõem às preferências por omissão. Isto é, GConf aplica as preferências pela seguinte ordem de prioridade:

1. Preferências obrigatórias

2. Preferências especificadas pelo utilizador

3. Preferências por omissão

As instruções de `inclusão` no ficheiro de caminhos do GConf permite aos administradores dos sistemas especificar outras bases de configuração.

Base de Configuração Incluída | Descrição
`/etc/gconf/2/local-mandatory.path` | Utilize esta base de configuração para armazenar valores de preferências obrigatórios para um determinado sistema.
`$(HOME)/.gconf.path` | O utilizador especifica a localização da base de configuração na pasta pessoal, num ficheiro denominado `.gconf.path`.
`/etc/gconf/2/local-defaults.path` | Utilize esta base de configuração para armazenar valores de preferências por omissão para um determinado sistema.

#### Esquemas GConf

Um esquema GConf é um termo agregador para uma chave de esquema GConf e um objecto de esquema GConf. A tabela seguinte descreve chaves e objectos de esquemas e a relação entre estes itens e chaves de preferências:

Item | Descrição
Chave de preferência | Um elemento no repositório GConf que corresponde a uma preferência numa aplicação.
Chave de esquema | Uma chave que armazena um objecto de esquema para uma chave de preferência.
Objecto de esquema | Um elemento numa base de configuração que contém informação sobre uma chave de preferência, tal como os seguintes: O nome da aplicação que utiliza a chave de preferência. O tipo do valor requerido para a chave de preferência, por exemplo um número inteiro, boleana, etc. Um valor por omissão para a chave da preferência. Documentação abreviada sobre a chave da preferência.

A tabela seguinte dá exemplos de uma chave de preferência, uma chave de esquema e um objecto de esquema:

Item | Exemplo
Chave de preferência | `/desktop/gnome/interface/font_name`
Chave de esquema | `/schemas/desktop/gnome/interface/font_name`
Objecto de esquema |
    <schema>
      <applyto>/desktop/gnome/interface/font_name</applyto>
      <key>/schemas/desktop/gnome/interface/font_name</key>
      <owner>gnome</owner>
      <type>string</type>
      <default>Sans 10</default>
      <locale name="C">
        <short>Default font</short>
          <long>Name of the default font used by gtk+.</long>
      </locale>
    </schema>

Pode associar uma chave de esquema com uma chave de preferência. Por exemple, a chave `/desktop/gnome/interface/font_name` inclui uma chave de esquema:

    <entry name="font_name" mtime="1034873859"
    schema="/schemas/desktop/gnome/interface/font_name"/>

Quando associa uma chave de esquema com uma chave de preferência, a preferência utiliza o valor sugerido que está especificado no objecto de esquema da chave de esquema. O valor sugerido está contido no elemento `<default>` do objecto de esquema. Por omissão, todas as chaves de preferências na base de configuração por omissão estão associadas a chaves de esquemas.

Tipicamente, os esquemas estão armazenados em bases de configuração por omissão.

#### Ficheiros de Definição do Esquema GConf

Os esquemas são gerados a partir de ficheiros de definição de esquemas. Um ficheiro de definição de esquema define as características de todas as chaves numa aplicação específica. Ficheiros de definição de esquemas têm a extensão `.schemas`.

Os ficheiros de definição de esquemas estão contidos no directório `/etc/gconf/schemas`. Pode utilizar os ficheiros de definição de esquemas para criar uma nova base de configuração.

Alguns ficheiros de definição de esquemas correspondem muito aproximadamente a uma parte do interface de utilizador do Ambiente de Trabalho GNOME. Por exemplo, `system_http_proxy.schemas` corresponde à ferramenta de preferências de Proxy de Rede. Outros ficheiros de definição de esquema contêm chaves de preferências que não estão acessíveis no interface de utilizador do Ambiente de Trabalho GNOME. Por exemplo, a chave `/apps/panel/global/tooltips_enabled` não está acessível no interface de utilizador.

Parte do interface de utilizador do Ambiente de Trabalho GNOME contém preferências que representam chaves de preferências em mais do que um ficheiro de definição de esquema. Por exemplo, a ferramenta de preferências Atalhos de Teclado contém preferências que representam chaves dos ficheiros `panel-global-config.schemas` e `metacity.schemas`.

### Daemon do GConf

O daemon GConf denomina-se `gconfd-2`. O daemon GConf notifica as aplicações quando o valor de uma preferência é alterado. Por exemplo, poderá seleccionar apenas apresentar ícones nas barras de ferramentas na ferramenta de preferências Menus & Barras de Ferramentas. Ao seleccionar esta opção na ferramenta de preferências, as barras de ferramentas de todas as aplicações abertas são actualizadas instantaneamente. O daemon GConf pode funcionar localmente, ou numa rede.

É iniciada uma instância do daemon GConf para cada utilizador. O daemon GConf não tem que gerir problemas complexos tais como autenticação e segurança de dados. Quando o daemon GConf é iniciado, o daemon lê o ficheiro de caminhos do GConf. O daemon GConf gere todos os acessos entre as aplicações e as bases de configuração.

Quando uma aplicação pede o valor de uma chave de preferência, o daemon procura nas bases de configuração de seguinte forma:

1. Procura o valor da chave de preferência em cada base de configuração, na ordem especificada no ficheiro de caminhos. Se o valor for encontrado, devolve o valor.

2. Se o valor não for encontrado, procura a chave de esquema que corresponde à chave da preferência em cada base de configuração, pela ordem especificada no ficheiro de caminhos.

3. Se a chave do esquema for encontrada, verifica o valor da chave do esquema.

4. Se o valor da chave do esquema for um objecto de esquema, devolve o valor sugerido no elemento `<default>` do objecto de esquema.

O daemon GConf também faz cache de valores de chaves de preferências. Todas as aplicações utilizam esta cache, pelo que as aplicações apenas necessitam de aceder às bases de configuração uma vez.

Para terminar o daemon GConf, execute o seguinte comando:

    gconftool-2 --shutdown

### Ferramenta de Linha de Comando GConf

O GConf incluí uma ferramenta de linha de comando, `gconftool-2`. Pode utilizar o comando `gconftool-2` para realizar as seguintes tarefas:

- Definir os valores das chaves.

- Apresentar os valores das chaves.

- Instalar esquemas a partir de ficheiros de definição de esquemas, ao instalar uma aplicação.

Por exemplo, utilize o seguinte comando para apresentar os valores de todas as chaves contidas no directório `/desktop/gnome` e seus subdirectórios.

    gconftool-2 --recursive-list /desktop/gnome

Abaixo estão listadas algumas das opções que pode utilizar com o comando `gconftool-2`. Para opções de linha de comando detalhadas, consulte man:gconftool-2(1).

### Opções do Comando gconftool-2

`--all-dirs`

- Lista todos os subdirectórios de um directório especificado.

`--all-entries`

- Apresenta todos os valores de todas as chaves num directório especificado.

`--config-source=`base-de-configuração``

- Utilize esta opção em conjunto com a opção `--direct` para especificar uma base de configuração a utilizar. Caso não especifique uma base de configuração com esta opção, o comando executará todas as bases de configuração indicadas no ficheiro de caminhos.

`--direct`

- Utilize esta opção em conjunto com a opção `--config-source` para aceder directamente a uma base de configuração. Quando utiliza esta opção, o GConf contorna o servidor. Certifique-se que o daemon do GConf, o `gconfd-2`, não se encontra em execução, antes de utilizar esta opção.

`--dump`

- Gera uma lista que contém todas as chaves de preferências contidas num directório de repositório do GConf que especifique. A lista contém as descrições XML de todas as chaves. A lista está contida num elemento `<gconfentryfile>`.

  Por exemplo, pode redireccionar o resultado desta opção para gerar um ficheiro que lista todas as chaves relacionadas com a sua configuração do painel. Pode utilizar a opção `--load` com este ficheiro.

`--get`

- Apresenta o valor de uma chave de preferência que especifique. Também apresenta os valores dos elementos no objecto de esquema de uma chave de esquema que especificar.

`--help`

- Apresenta uma mensagem de ajuda sobre o comando `gconftool-2`, e as opções que pode utilizar com o comando `gconftool-2`.

`--load=`ficheiro``

- Utilize esta opção para definir o valor de chaves de preferências no directório actual numa base de configuração com os valores contidos no ficheiro especificado. O ficheiro que especificar deverá conter descrições XML das chaves, num elemento `<gconfentryfile>`.

`--long-desc=`descrição``

- Utilize esta opção em conjunto com a opção `--set-schema` para especificar a descrição detalhada de uma chave de esquema.

`--makefile-install-rule`

- Instala ficheiros de definição de esquemas de aplicações.

`--owner=`dono``

- Utilize esta opção em conjunto com a opção `--set-schema` para especificar o dono de uma chave de esquema.

`--recursive-list`

- Apresenta os valores de todas as chaves de preferências em todos os subdirectórios do directório que especificar.

`--recursive-unset`

- Repõe todos os valores de todas as chaves de preferências, em todos os subdirectórios de um directório, dos valores do utilizador para os valores indicados na base de configuração por omissão.

`--set`

- Define o valor de uma chave de preferência, e escreve o valor na base de configuração do utilizador. Utilize a opção `--type` em conjunto com a opção `--set` para especificar o tipo de dados do valor que deseja definir. Por exemplo, o comando seguinte define o valor da chave `/apps/gnome-terminal/profiles/Default/background_color` na base de configuração do utilizador:

      gconftool-2 \
        --set "/apps/gnome-terminal/profiles/Default/background_color" \
        --type string "#000000"

  Pode também utilizar a opção `--direct` e a opção `--config-source` em conjunto com a opção `--set` para escrever um valor noutra base de configuração.

`--set-schema`

- Define o valor de um atributo numa chave de esquema, e escreve esse valor na base de configuração por omissão.

  Utilize as seguintes opções em conjunto com a opção `--set-schema` para especificar o atributo que deseja actualizar:

  - `--type`

  - `--short-desc`

  - `--long-desc`

  - `--owner`

  Por exemplo, o comando seguinte define a descrição abreviada da chave de esquema para a chave `/apps/gnome-terminal/profiles/Default/background_color`:

      gconftool-2 \
        --set-schema  "/schemas/apps/gnome-terminal/profiles/Default/background_color" \
        --short-desc "Cor de fundo por omissão da consola"

`--short-desc=`descrição``

- Utilize esta opção em conjunto com a opção `--set-schema` para especificar uma descrição abreviada para uma chave de esquema.

`--shutdown`

- Termina o daemon GConf.

`--type=`tipo-dados``

- Utilize esta opção para especificar o tipo de dados quando definir o valor de uma chave de preferência. Pode também utilizar esta opção quando definir o valor de um atributo numa chave de esquema. Esta é uma lista dos tipos de dados válidos:

  - `bool`

  - `float`

  - `int`

  - `list`

  - `pair`

  - `string`

`--unset`

- Redefine o valor de uma chave de preferência, lendo das definições do utilizador para aplicar na base de configuração por omissão.

`--usage`

- Apresenta uma breve mensagem de ajuda sobre o comando `gconftool-2`, e as opções que pode utilizar com o comando `gconftool-2`.

### Definir Valores de Preferências

Pode definir um valor obrigatório ou um valor por omissão para uma chave de preferência. Antes de alterar valores de preferências obrigatórios ou por omissão de utilizadores, certifique-se de que o daemon do GConf não se encontra em execução para nenhum utilizador. Certifique-se de que todos os utilizadores terminaram as suas sessões antes de alterar os valores das suas preferências.

Para definir um valor obrigatório ou um valor por omissão de uma chave de preferência, utilize o comando `gconftool-2`, da seguinte forma:

    gconftool-2 --direct \
      --config-source base-de-configuração \
      --type tipo-dados \
      --set chave-preferência valor

Por exemplo, para definir `wwwproxy.xyz.com` como o endereço de proxy HTTP obrigatório, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type string \
      --set /system/http_proxy/host wwwproxy.xyz.com

O utilizador não conseguirá contornar ou alterar o valor desta preferência.

Pode também utilizar o comando `gconftool-2` para definir valores por omissão. Por exemplo, para definir o número de áreas de trabalho por omissão como cinco, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type int \
      --set /apps/metacity/general/num_workspaces 5

O utilizador poderá alterar o valor desta preferência.

Antes de alterar valores de preferências obrigatórios ou por omissão dos utilizadores, certifique-se de que todos terminaram as suas sessões.

### Definir Preferências Gerais

As secções seguintes descrevem como definir valores obrigatórios ou por omissão para preferências gerais.

#### Definir as Preferências da Proxy HTTP

Para definir preferências de proxy HTTP, tem de alterar os valores das chaves de preferências na localização `/system/http_proxy/`. Por exemplo, para definir um valor obrigatório para o endereço de proxy HTTP, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type string \
      --set /system/http_proxy/host nome-proxy

Para definir um valor por omissão para o endereço de proxy HTTP, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type string \
      --set /system/http_proxy/host nome-proxy

Pode também definir outras preferências relacionadas com a proxy HTTP. Para informações sobre outras preferências relacionadas com a proxy HTTP, consulte o ficheiro de definição de esquema `system_http_proxy.schemas`.

#### Definir Preferências do Gestor de Impressão

Para definir as preferências do gestor de impressão, deverá alterar os valores das chaves de preferências na localização `/apps/gnome-print-manager`. Por exemplo, se não desejar que os utilizadores visualizem os trabalhos de impressão dos outros utilizadores, defina um valor obrigatório da seguinte forma:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type bool \
      --set /apps/gnome-print-manager/show_all_jobs false

Para definir um valor por omissão para esta preferência, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type bool \
      --set /apps/gnome-print-manager/show_all_jobs false

Pode também definir outras preferências de gestão de impressão. Para informações sobre outras preferências relacionadas com a gestão de impressão, consulte o ficheiro de definição de esquema `gnome-print-manager.schemas`.

#### Definir o Número de Áreas de Trabalho

Para definir um número obrigatório de áreas de trabalho, utilize o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type int \
      --set /apps/metacity/general/num_workspaces inteiro

Para definir um número por omissão de áreas de trabalho, utilize o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type int \
      --set /apps/metacity/general/num_workspaces inteiro

Pode também definir outras preferências do seu gestor de janelas. Para informação sobre outras preferências do gestor de janelas, consulte o ficheiro de definição de esquema `metacity.schemas`.

#### Definir Preferências de Acessibilidade de Teclado

Para definir preferências de acessibilidade de teclado, deverá alterar os valores das chaves de preferências na localização `/desktop/gnome/accessibility/keyboard`. Por exemplo, se deseja definir um valor obrigatório para activar as funcionalidades de acessibilidade, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type bool \
      --set /desktop/gnome/accessibility/keyboard/enable true

Para definir um valor por omissão para esta preferência, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type bool \
      --set /desktop/gnome/accessibility/keyboard/enable false

Pode também definir outras preferências de acessibilidade de teclado. Para informações sobre outras preferências de acessibilidade de teclado, consulte o ficheiro de definição de esquema `desktop_gnome_accessibility_keyboard.schemas`.

#### Definir Preferências de Atalhos de Teclado

Para definir preferências de atalhos de teclado, deverá alterar os valores das chaves de preferências na localização `/apps/metacity/global_keybindings`. Por exemplo, poderá querer que os utilizadores apenas utilizem o atalho de teclado Alt F3 para abrir o diálogo de Executar Aplicação. Para definir este valor obrigatório, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type string \
      --set /apps/metacity/global_keybindings/panel_run_dialog '<Alt>F3'

Pode também definir outras preferências de atalhos de teclado. Para informação sobre outras preferências de atalhos de teclado, consulte o ficheiro de definição de esquema `metacity.schemas`.

#### Definir Preferências de Painel e Objectos de Painel

O ficheiro `panel-default-setup.entries` especifica os seguintes detalhes dos painéis no Ambiente de Trabalho GNOME:

- Número de painéis.

- Tipos de painéis.

- Propriedades dos painéis.

- Conteúdo dos painéis.

A configuração de painéis individuais e de objectos de painel é uma tarefa complexa. Para configurar painéis individuais e objectos de painel, terá primeiro de compreender a estrutura do ficheiro `panel-default-setup.entries`. Para mais informação sobre o ficheiro `panel-default-setup.entries`, consulte a secção seguinte.

Para definir preferências de painéis individuais e objectos de painel, terá de definir os valores de várias preferências numa base de configuração. A forma mais simples de definir os valores de preferências de painel é utilizar o comando `gconftool-2` com as opções `--dump` e `--load`. Para mais informação sobre como definir preferências de painéis e objectos de painel, consulte gconf-3.

##### Especificar Painéis Individuais e Objectos de Painel

O ficheiro `panel-default-setup.entries` contém secções que especificam painéis e o conteúdo de painéis. O ficheiro `panel-default-setup.entries` especifica valores de chaves de esquema. O ficheiro `panel-default-setup.entries` encontra-se no directório `/etc/gconf/schemas`.

O ficheiro `panel-default-setup.entries` encontra-se estruturado da seguinte forma:

1. Chaves que especificam a estrutura geral de painéis, applets, e outros objectos de painel no Ambiente de Trabalho GNOME. As seguintes chaves especificam o número de painéis, objectos de painel, e applets que surgem no Ambiente de Trabalho GNOME:

   - `/apps/panel/default_setup/general/toplevel_id_list`

   - `/apps/panel/default_setup/general/object_id_list`

   - `/apps/panel/default_setup/general/applet_id_list`

   As chaves também atribuem identificadores a cada painel, objecto de painel, e applet. Por exemplo, a seguinte amostra de `panel-default-setup.entries` especifica que é visível um painel no Ambiente de Trabalho GNOME:

       <entry>
         <key>toplevel_id_list</key>
         <schema_key>/schemas/apps/panel/general/toplevel_id_list</schema_key>
         <value>
           <list type="string">
             <value>
               <string>bottom_panel</string>
             </value>
           </list>
         </value>
       </entry>

   No ficheiro `panel-default-setup.entries`, o identificador `bottom_panel` identifica o painel inferior.

2. Chaves que especificam as propriedades dos painéis. As chaves de propriedades dos painéis estão estruturadas da seguinte forma:

       /apps/panel/default_setup/toplevels/panel-name/panel-property-key

   Por exemplo, a chave `/apps/panel/default_setup/toplevels/bottom_panel/size` especifica o tamanho do painel inferior.

3. Chaves que especificam os objectos de painel, as propriedades dos objectos de painel, e os painéis em que os objectos residem. Por exemplo, a seguinte amostra de `panel-default-setup.entries` especifica o objecto Menu Principal no lado esquerdo do painel inferior:

       <entrylist base="/apps/panel/default_setup/objects/main_menu">
         <entry>
           <key>object_type</key>
           <schema_key>/schemas/apps/panel/objects/object_type</schema_key>
           <value>
             <string>menu-object</string>
           </value>
         </entry>
         <entry>
           <key>toplevel_id</key>
           <schema_key>/schemas/apps/panel/objects/toplevel_id</schema_key>
           <value>
             <string>bottom_panel</string>
           </value>
         </entry>
         <entry>
           <key>position</key>
           <schema_key>/schemas/apps/panel/objects/position</schema_key>
           <value>
             <int>0</int>
           </value>
         </entry>
         <!-- Possibly more entry elements -->
       </entrylist>

4. Chaves que especificam as applets, as preferências das applets, e os painéis em que as applets residem. Por exemplo, a seguinte amostra de `panel-default-setup.entries` especifica a applet de Lista de Janelas, no painel inferior:

       <entrylist base="/apps/panel/default_setup/applets/window_list">
         <entry>
           <key>object_type</key>
           <schema_key>/schemas/apps/panel/objects/object_type</schema_key>
           <value>
             <string>bonobo-applet</string>
           </value>
         </entry>
         <entry>
           <key>toplevel_id</key>
           <schema_key>/schemas/apps/panel/objects/toplevel_id</schema_key>
           <value>
             <string>bottom_panel</string>
           </value>
         </entry>
         <entry>
           <key>position</key>
           <schema_key>/schemas/apps/panel/objects/position</schema_key>
           <value>
             <int>2</int>
           </value>
         </entry>
         <!-- Possibly more entry elements -->
         <entry>
           <key>bonobo_iid</key>
           <schema_key>/schemas/apps/panel/objects/bonobo_iid_type</schema_key>
           <value>
             <string>OAFIID:GNOME_WindowListApplet</string>
           </value>
         </entry>
       </entrylist>

   O OAFIID é um identificador único de uma applet. Para saber o OAFIID de uma applet específica, consulte o ficheiro `.server` dessa applet no directório `/usr/lib/bonobo/servers`. Por exemplo, o seguinte excerto de `GNOME_Wncklet_Factory.server` indica o OAFIID da applet Lista de Janelas (Window List):

       <oaf_server iid="OAFIID:GNOME_WindowListApplet"
       type="factory" location="OAFIID:GNOME_Wncklet_Factory">

##### Definir Preferências De Painéis Individuais e Objectos de Painel

Para definir as preferências de um painel e os seus objectos realize os seguintes passos:

1. Inicie uma sessão no GNOME, e configure os painéis da forma desejada.

2. Utilize a opção `--dump` com a ferramenta de linha de comando `gconftool-2` para gerar um ficheiro que contenha a descrição XML da sua configuração do painel. A opção `--dump` gera uma lista que contém todas as chaves de preferências contidas num directório de repositório GConf por sí especificado.

   Por exemplo, o seguinte comando cria uma descrição XML da configuração por omissão do painel num ficheiro denominado `configuracao-meu-painel.entries`:

       gconftool-2 --dump /apps/panel > configuracao-meu-painel.entries

3. Abra o ficheiro `configuracao-meu-painel.entries` num editor de texto e altere o ficheiro conforme desejado.

   Por exemplo, poderá desejar alterar a localização dos ficheiros que definem os iniciadores. De seguida apresenta-se um excerto de um ficheiro gerado com a opção `--dump`:

       <entry>
         <key>objects/object_16/launcher_location</key>
         <schema_key>/schemas/apps/panel/objects/launcher_location</schema_key>
         <value>
           <string>hadjaha-00adce02f7.desktop</string>
         </value>
       </entry>

   No exemplo acima, poderá desejar alterar a referência a `hadjaha-00adce02f7.desktop` para outro ficheiro de definição de iniciador que esteja disponível de forma global.

   Quando gera uma configuração de painel com a opção `--dump`, as posições dos objectos de painel são posições absolutas. Poderá desejar alterar as posições dos objectos de painel de posições absolutas para posições relativas. O objecto mais à esquerda do painel tem um valor de `position` igual a `0`. O objecto seguinte tem um `position` de `1`, e em diante. Se desejar que as posições dos objectos sejam relativas em relação ao lado direito do painel, defina o valor da chave `right_stick` como `true`.

4. Utilize a opção `--load` com a ferramenta de linha de comando `gconftool-2` para definir os valores da base de configuração por omissão para serem os valores constantes no ficheiro `my-panel-setup.entries`. Por exemplo, o seguinte comando define os valores das chaves na base de configuração por omissão como sendo o das respectivas chaves em `my-panel-setup.entries`:

       gconftool-2 --direct \
         --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
         --load my-panel-setup.entries

### Definir as Preferências de Aparência e Comportamento

As secções seguintes descrevem como atribuir valores obrigatórios ou por omissão a preferências de aparência e comportamento.

#### Definir Preferências de Fontes

Para definir as preferências de fontes, deverá alterar os valores de duas chaves. A tabela seguinte lista as chaves a alterar, e a parte do interface de utilizador a que as chaves correspondem:

Localização GConf | Componente de Interface de Utilizador
/desktop/gnome/interface/font_name | Ferramenta de preferências de Fonte, opção Fonte de aplicação
/apps/nautilus/preferences/desktop_font | Ferramenta de preferências de Fonte, opção Fonte do ambiente de trabalho

Por exemplo, para definir `Sans 12` como a fonte de aplicação obrigatória, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type string \
      --set /desktop/gnome/interface/font_name "Sans 12"

Para definir `palatino 12` como a fonte por omissão dos objectos do ambiente de trabalho, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type string \
      --set /apps/nautilus/preferences/desktop_font "palatino 12"

#### Definir Preferências do Fundo da Área de Trabalho

Para definir as preferências de fundo do ambiente de trabalho, deverá alterar os valores das chaves de preferências na localização `/desktop/gnome/background`. Por exemplo, para definir uma imagem de fundo obrigatória, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type string \
      --set /desktop/gnome/background/picture_filename ficheiro.png

Para definir um valor por omissão para esta preferência, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type string \
      --set /desktop/gnome/background/picture_filename ficheiro.png

Pode também definir outras preferências de fundos. Para informação sobre outras preferências de fundos, consulte o ficheiro de definição de esquema `desktop_gnome_background.schemas`.

#### Definir Preferências da Imagem de Logotipo

Para definir as preferências da imagem de logotipo, deverá alterar o valor das chaves de preferências na localização `/apps/gnome-session/options/`. Por exemplo, se não quiser que os utilizadores vejam a imagem de logotipo, defina um valor obrigatório da seguinte forma:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
      --type bool \
      --set /apps/gnome-session/options/show_splash_screen false

Para definir um valor por omissão para esta preferência, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
      --type bool \
      --set /apps/gnome-session/options/show_splash_screen false

Pode também definir outras preferências da imagem de logotipo. Para informação sobre outras preferências de imagem de logotipo, consulte o ficheiro de definição de esquema `gnome-session.schemas`.

### Repor Valores de Preferências por Omissão

Para repor os valores de preferências por omissão a um utilizador, execute o seguinte comando:

    gconftool-2 --direct \
      --config-source base-configuracao-utilizador \
      --recursive-unset

Substitua `base-configuracao-utilizador` pela base de configuração no directório `.gconf` da pasta pessoal do utilizador.

Este comando repõe os valores de todas as chaves de preferências, em todos os subdirectórios, anulando as definições do utilizador e repondo as omissões constantes na base de configuração por omissão.

## Personalizar Menus

A informação neste capítulo descreve como o Ambiente de Trabalho GNOME implementa os menus e como os poderá personalizar.

### Introdução aos Menus

O Ambiente de Trabalho GNOME implementa os menus de acordo com a especificação de menus XDG. Ao suportar esta especificação, o GNOME permite-lhe:

- Facilmente personalizar a hierarquia do seu menu. Pode editar um pequeno número de ficheiros para personalizar a hierarquia do seu menu. Não necessita de alterar as aplicações ou mover ficheiros.

- Instalar aplicações facilmente. Não necessita de indicar informação sobre a hierarquia de menus às aplicações, ao instalá-las.

- Configurar os menus de forma a que os utilizadores não os consigam alterar.

Os menus no Ambiente de Trabalho GNOME utilizam os seguintes componentes:

- Ficheiros de definição de menus

- Ficheiros de definição de iniciadores

- Ficheiros de definição de directórios

### Ficheiros de Definição de Menus

Os ficheiros menu definem a hierarquia de menus a utilizar na barra de menu do GNOME. Ao alterar estes ficheiros, poderá personalizar os menus de todos os utilizadores, ou apenas um utilizador dependendo da localização do ficheiro `applications.menu` que alterar.

Os ficheiros de menu devem residir em `$XDG_CONFIG_DIRS/menus/applications.menu`. Se `$XDG_CONFIG_DIRS`

$XDG_CONFIG_DIRS é a variável de ambiente definida na especificação de directório base XDG.

não estiver definida, então o caminho por omissão `/etc/xdg` será utilizado. Tal implica que a versão especificada pelo utilizador poderá estar localizada em `$XDG_CONFIG_HOME/menus/applications.menu` que é procurado primeiro. Se `$XDG_CONFIG_HOME` não estiver definida, será utilizado o caminho por omissão `~/.config`. Os directórios que surgirem primeiro em `$XDG_CONFIG_DIRS` têm precedência caso existam vários ficheiros `applications.menu`. O primeiro ficheiro encontrado é utilizado e os ficheiros subsequentes serão ignorados.

Caso esteja confuso sobre a ordem em que os caminhos são procurados, verifique a lista seguinte indicando a ordem de resolução para os ficheiros `applications.menu`:

1. Procurar em cada directório constante em `$XDG_CONFIG_HOME` com vista a encontrar `menus/applications.menu`. Se `$XDG_CONFIG_HOME` não estiver definida, por omissão apontará para o directório `~/.config/`.

2. Procurar em cada directório constante em `$XDG_CONFIG_DIRS` com vista a encontrar `menus/applications.menu`. Se `$XDG_CONFIG_DIRS` não estiver definida, por omissão apontará para o directório `/etc/xdg/`.

3. Utiliza o primeiro ficheiro `applications.menu` encontrado.

Pode observar um exemplo de um ficheiro `.menu` em example-menu. Neste exemplo, o menu de nível de topo denomina-se `Applications`, que é especificado utilizando o elemento `<Name>`. O menu `Applications` contém um único submenu, mas são permitidos vários submenus. Cada submenu poderá também ter um elemento `<Include>`. O objectivo do elemento `<Include>` é o de realizar um filtro sobre o conjunto de definições de iniciadores disponíveis utilizando regras de equivalência.

Por exemplo, o elemento `<Category>` é uma regra de equivalência básica que selecciona uma definição de iniciador apenas se a chave `Categories` contiver o conteúdo do elemento `<Category>`. No exemplo, o menu `Accessories` irá incluir uma definição de iniciador apenas se contiver Utility mas não System na chave "Categories". Para mais informações sobre a chave "Categories", consulte menustructure-desktopentry.

#### Exemplo de um ficheiro `.menu`

    <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
     "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
    <Menu>
      <Name>Applications</Name>
      <Directory>Applications.directory</Directory>

      <!-- Ler as localizações padrão de ficheiros .directory e .desktop -->
      <DefaultAppDirs/>
      <DefaultDirectoryDirs/>

      <!-- Submenu Acessórios (Accessories) -->
      <Menu>
        <Name>Accessories</Name>
        <Directory>Accessories.directory</Directory>
        <Include>
          <And>
            <Category>Utility</Category>
            <Not>
              <Category>System</Category>
            </Not>
          </And>
        </Include>
      </Menu> <!-- Fim do Accessories -->

      <!-- possivelmente mais submenus -->

    </Menu> <!-- Fim do Applications -->

menustructure-xmlmenu descreve alguns dos elementos dos ficheiros `.menu`. Para uma descrição mais detalhada, consulte a especificação de menu XDG.

### Elementos do Ficheiro de Definição de Menu

Elemento | Descrição
`<Menu>` | O elemento raiz que poderá conter elementos `<Menu>` encadeados que definem submenus. A forma como estes elementos são encadeados determina a estrutura do menu.
`<Name>` | Especifica o nome do menu. Todos os elementos `<Menu>` têm de conter um elemento `<Name>`.
`<Directory>` | Especifica o nome do ficheiro de definição de directório que especifica o nome, comentário, e ícone do menu. Se este elemento não estiver especificado, é utilizado o elemento `<Name>` para apresentar o nome do menu. Por omissão, os ficheiros `.directory` são procurados na localização `$XDG_DATA_DIRS/desktop-directories/` tal como definido na especificação de menu XDG.
`<DefaultAppDirs>` | Esta é uma instrução que indica que todas as definições de iniciadores disponíveis em `$XDG_DATA_DIRS/applications/` deverão ser analisadas. Se esta instrução não for incluída, então estas localizações não serão analizadas em busca de definições de iniciadores.
`<DefaultDirectoryDirs>` | Esta é uma instrução que indica que todas as definições de directórios disponíveis em `$XDG_DATA_DIRS/desktop-directories/` deverão ser analisadas. Se a instrução não estiver incluída, estas localizações não serão analisadas em busca de definições de directórios.
`<Include>` | Contém uma lista de regras de equivalência com base nas quais são gerados os conteúdos de menus. Poderá incluir as regras de equivalência `<Filename>`, `<Category>`, `<And>`, `<Or>`, `<Not>`, ou `<All>`. Se estiver presente mais do que uma regra, será feito um OR lógico destas por forma a que definições de iniciadores que respeite qualquer uma das regras seja incluído.
`<Exclude>` | O oposto de `<Include>` visto que qualquer definições de iniciadores que tenha equivalência neste elemento será excluído do conjunto anterior de elementos incluídos. Por esta razão, este elemento deverá surgir após o elemento `<Include>`.
`<Filename>` | Uma regra de equivalência que selecciona um definição de iniciador quando o Desktop File-Id equivale ao conteúdo do elemento `<Filename>`.
`<Category>` | Uma regra de equivalência que selecciona um definição de iniciador quando a chave Categories equivale ao conteúdo do elemento `<Category>`.
`<And>` | Uma regra de equivalência que selecciona um definição de iniciador quando são seleccionadas pelo todas as regras de equivalência encadeadas do elemento `<And>`.
`<Or>` | Uma regra de equivalência que selecciona um definição de iniciador quando são seleccionadas pelo qualquer de entre as regras de equivalência encadeadas do elemento `<Or>`.
`<Not>` | Uma regra de equivalência que não selecciona um definição de iniciador quando são seleccionadas pelo qualquer de entre as regras de equivalência encadeadas do elemento `<Not>`.
`<All>` | Uma regra de equivalência que selecciona todos os definições de iniciadores.

### Ficheiros de Definição de Iniciador

Um ficheiro de definição de iniciador é um ficheiro de dados que disponibiliza informação sobre um item num menu. O ficheiro de definição de iniciador especifica os detalhes do item tais como o nome, comando a executar, um ícone, etc. Também contém palavras-chave que determinam a localização do item na hierarquia de menus.

Desktop entry files must reside in the `$XDG_DATA_DIRS/applications` directory and must have a `.desktop` file extension. If `$XDG_DATA_DIRS`

$XDG_DATA_DIRS é a variável de ambiente definida na especificação de directório base XDG.

is not set, then the default path is `/usr/share` is used. This also implies that user specific desktop entries may be located at `$XDG_DATA_HOME/applications` which is searched first. If `$XDG_DATA_HOME` is not set, then the default path `~/.local/share` is used. Desktop entries are collected from all directories in the `$XDG_DATA_DIRS` environment variable. Directories which appear first in `$XDG_DATA_DIRS` are given precedence when there are several `.desktop` files with the same name.

O seguinte é um exemplo de um ficheiro de definição de iniciador:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Calculator
    Name[fr]=Calculatrice
    ...
    Comment=Perform calculations
    Comment[fr]=Effectue des calculs compliqués
    ...
    Exec=gcalctool
    Icon=accessories-calculator
    Terminal=false
    Type=Application
    StartupNotify=true
    Categories=GNOME;GTK;Utility;Calculator

menustructure-TBL-7 descreve as chaves mais importantes nos ficheiros de definição de iniciadores. Para obter mais informações sobre os ficheiros de definição de iniciadores, consulte a Especificação de Definição de Iniciadores XDG.

### Chaves de Definição de Iniciador

Chave de Definição de Iniciador | Descrição
`Categories (Categorias)` | Especifica as palavras-chave que descrevem o item. As palavras-chave são separadas por pontos-e-vírgula (;). Para ver uma lista das palavras-chave de categoria mais comuns, consulte a especificação de definição de iniciador em http://www.freedesktop.org/Standards/menu-spec Ficheiros de Definição de Menu mapeiam definições de iniciadores para menus utilizando regras de equivalência sobre as chaves de Categorias.
`Comment (Comentário)` | Especifica uma descrição breve do item. O comentário é apresentado como uma dica de menu quando se coloca o rato sobre o item no menu.
`Encoding (Codificação)` | Especifica a codificação do ficheiro de definição de iniciador.
`Exec (Executar)` | Especifica o comando a executar quando selecciona o item no menu.
`Icon (Ícone)` | Especifica o nome do ficheiro de um ícone que represente o item. Não especifica o caminho do ficheiro, nem a extensão do mesmo.
`MimeType (Tipo MIME)` | Especifica os tipos MIME que a aplicação é capaz de manipular.
`Name (Nome)` | Especifica o nome do item. Este nome é apresentado no item no menu.
`NoDisplay (Não Apresentar)` | Esta opção significa Esta aplicação existe, mas não deve ser visível nos menus.
`Terminal (Consola)` | Especifica se o comando que consta na chave `Exec` deve ser executado numa janela de consola. Se o valor for `true` (verdadeiro) o comando será executado numa janela de consola. Se o comando não criar uma janela onde correr, o valor desta chave terá de ser `true`.
`Type (Tipo)` | Especifica o tipo de item. Este valor é um dos seguintes: `Application` (Aplicação): Um item que inicia uma aplicação. `Link` (Atalho): Um item que é um atalho para um ficheiro, pasta, ou um recurso remoto (tal como um servidor FTP, uma página web, uma partilha Windows...). `FSDevice` (Dispositivo de Sistema de Ficheiros): Um item que representa um dispositivo de sistema de ficheiros. `Directory` (Directório): Um item que representa um Directório.

Para mais informações sobre chaves nos ficheiros de definição de iniciadores, consulte a especificação de definição de iniciador no seguinte URL:

        http://www.freedesktop.org/Standards/desktop-entry-spec

Iniciadores de painel e objectos de área de trabalho também utilizam ficheiros de definição de iniciador. Os ficheiros de definição de iniciador em painéis e objectos de área de trabalho disponibilizam a mesma informação que os itens num menu. Por exemplo, os ficheiros de definição de iniciador disponibilizam o comando a executar quando o utilizador selecciona o iniciador ou objecto.

### Ficheiros de Definição de Directório

Um ficheiro de definição de directório é um ficheiro de dados que disponibiliza informação sobre um menu. O ficheiro de definição de directório especifica detalhes do meni tais como o seu nome, a sua dica, e o ícone. Os ficheiros de definição de directório têm a extensão `.directory`.

Ficheiros de definição de directório têm de residir no directório `$XDG_DATA_DIRS/desktop-directories`. Se `$XDG_DATA_DIRS` não estiver definida, será utilizado o caminho por omissão `/usr/share`. Tal implica que definições de directório definidas pelos utilizadores poderão residir em `$XDG_DATA_HOME/desktop-directories` que é analisado primeiro. Se `$XDG_DATA_HOME` não estiver definida, será utilizado o caminho por omissão `~/.local/share`. Definições de directórios são recolhidas de todos os directórios constantes na variável de ambiente `$XDG_DATA_DIRS`. Directórios que surjam primeiro em `$XDG_DATA_DIRS` têm precedência caso existam vários ficheiros `.directory` com o mesmo nome.

O seguinte é um exemplo de ficheiro de definição de directório:

    [Desktop Entry]
    Name=Graphics
    Name[pt]=Gráficos
    ...
    Comment=Graphics applications
    Comment[pt]=Aplicações de gráficos
    ...
    Icon=gnome-graphics
    Type=Directory
    Encoding=UTF-8

menustructure-TBL-15 descreve as chaves mais importantes nos ficheiros de definição de directórios.

### Chaves de Definição de Directório

Chave de Definição de Directório | Descrição
`Name (Nome)` | Especifica o nome do menu. Este nome é apresentado no menu.
`Comment (Comentário)` | Especifica uma descrição abreviada do menu. O comentário é apresentado como uma dica quando se coloca o rato sobre o menu.
`Icon (Ícone)` | Especifica o nome de ficheiro do ícone que representa o menu. Não especifica o caminho para o ficheiro, nem a extensão do mesmo.
`Type (Tipo)` | Especifica o tipo de menu. O valor desta chave é sempre `Directory`.

### Editar os Menus de Sistema

Pode editar os ficheiros de configuração de menus e os ficheiros de dados dos menus manualmente para personalizar os menus.

#### Adicionar Menus

Para adicionar um menu para todos os utilizadores, realize os seguintes passos:

1. Crie um ficheiro de definição de directório para o item que deseja adicionar. Coloque o ficheiro no directório `$XDG_DATA_DIRS/desktop-directories`. Para mais informações sobre os ficheiros de definição de directórios, consulte menustructure-14.

2. Localize o ficheiro `$XDG_CONFIG_DIRS/menus/applications.menu`.

3. No ficheiro `.menu`, adicione um elemento `<Menu>` para o novo menu. Para mais informações sobre os ficheiros `.menu`, consulte menustructure-13.

4. Crie um elemento `<Name>` sob o `<Menu>`. O conteúdo do elemento deverá ser o nome do menu.

5. Crie um elemento `<Directory>` sob o `<Menu>`. O conteúdo do elemento deverá ser o nome do ficheiro de definição de directório.

6. Consulte menustructure-4 para informação sobre como adicionar um item a um menu.

Da próxima vez que o utilizador iniciar uma sessão, o menu deverá surgir na barra de menu.

##### O Menu Não É Visível?

Caso não tenha especificado quaisquer regras de equivalência no elemento `<Include>`, ou se a regra não tiver tido equivalência com qualquer uma das definições de iniciador, o menu não será visível na barra de menu.

#### Adicionar um Item a um Menu

Para adicionar um item a um menu para todos os utilizadores, execute os seguintes passos:

1. Crie um ficheiro de definição de iniciador para o item que deseja adicionar. Para mais informações sobre ficheiros de definição de iniciador, consulte menustructure-desktopentry.

2. Coloque o ficheiro de definição de iniciador na pasta `$XDG_DATA_DIRS/applications`.

3. Localize o ficheiro `$XDG_CONFIG_DIRS/menus/applications.menu`.

4. Certifique-se de que um elemento `<Menu>` contém um elemento `<Include>` com uma regra de equivalência que selecciona o ficheiro de definição de iniciador criado no passo 1.

Da próxima vez que o utilizador iniciar uma sessão, o item de menu estará na localização especificada.

#### Editar as Propriedades de um Menu

Para editar as propriedades de um menu para todos os utilizadores, realize os seguintes passos:

1. Localize o ficheiro `$XDG_CONFIG_DIRS/menus/applications.menu`.

2. Procure a entrada `<Menu>` neste ficheiro que corresponder ao menu que deseja alterar. Tome nota do nome do ficheiro de definição de directório contido no elemento `<Directory>`.

3. Localize o ficheiro de definição de directório deste menu. Altere o conteúdo para alterar as propriedades do menu. Para mais informações sobre os ficheiros `.directory`, consulte menustructure-14.

#### Editar um Item de Menu

Para editar um item de menu, realize os seguintes passos:

1. Localize o ficheiro de definição de iniciador no directório `$XDG_DATA_DIRS/applications` que corresponde ao item de menu.

2. Edite o ficheiro de definição de iniciador para alterar as propriedades do item de menu. Para mais informações sobre ficheiros de definição de iniciadores, consulte menustructure-desktopentry.

#### Apagar um Item de um Menu

Para apagar um item de um menu para todos os utilizadores:

1. Localize o ficheiro `$XDG_CONFIG_DIRS/menus/applications.menu`.

2. Procure a entrada `<Menu>` neste ficheiro que contém o ficheiro de definição de iniciador que deseja apagar.

3. Insira um elemento `<Exclude>` após a etiqueta de fecho do elemento `<Include>`. Certifique-se de que esta está dentro do elemento `<Menu>` determinado no passo 2.

4. Insira a regra de equivalência de nome de ficheiro em `<Filename>` como um subelemento de `<Exclude>` para excluir especificamente um ficheiro de definição de iniciador.

Da próxima vez que o utilizador iniciar uma sessão, o item de menu não será apresentado no menu. menustructure-deleteitem demonstra como isto é feito no ficheiro `applications.menu`. A definição de iniciador `dasher.desktop` é explicitamente excluída do menu de acessibilidade.

##### Apagar um Item de um Menu

    <!-- ... -->

      <Menu>
        <Name>Accessibility</Name>
        <Directory>Accessibility.directory</Directory>
        <Include>
          <And>
            <Category>Accessibility</Category>
            <Not><Category>Settings</Category></Not>
          </And>
        </Include>
        <Exclude>
          <Filename>dasher.desktop</Filename>
        </Exclude>
      </Menu>

    <!-- ... -->

### Editar Menus de Utilizadores e Juntar Menus

Pode utilizar a seguinte aplicação do Ambiente de Trabalho GNOME para editar os menus dos utilizadores:

- Editor de Menus do GNOME

Encontra-se disponível um editor de menus simples com o qual os utilizadores podem editar os seus menus. Para mais informações, consulte Trabalhar Com Menus no Manual de Utilização do GNOME. Em alternativa, pode criar e editar manualmente um ficheiro de menu do utilizador.

Para criar manualmente um menu personalizado para um utilizador, tem de existir o ficheiro `$XDG_CONFIG_HOME/menus/applications.menu`. Caso `$XDG_CONFIG_HOME` não esteja definida, será utilizado o directório por omissão `~/.config`. Visto esta ser a primeira localização onde é procurado o ficheiro `applications.menu`, ganha precedência sobre todos os restantes ficheiros de menu.

Os menus dos utilizadores podem conter todos os elementos descritos em menustructure-13. Para uma lista completa dos elementos permitidos, consulte a especificação de menu XDG.

Visto que os ficheiros de menu dos utilizadores ganham precedência sobre o ficheiro de menu do sistema, irá substituir completamente o menu de sistema excepto se explicitamente juntar o menu de sistema. Informação sobre juntar menus está disponível nas seguintes subsecções.

#### Juntar o Menu de Sistema

Muitas vezes, um utilizador apenas deseja adicionar ou remover itens do menu para além do menu de sistema padrão. Para suportar alterações isoladas deste tipo, recomenda-se que utilize o elemento `<MergeFile>` com o atributo `type="parent"` dentro do ficheiro `applications.menu` do utilizador.

O elemento `<MergeFile>` permite que um menu seja junto com o conteúdo do ficheiro de menu do utilizador. Quando especifica o atributo `type="parent"`, o conteúdo do elemento `<MergeFile>` são ignorados e o ficheiro `applications.menu` seguinte no directório `$XDG_CONFIG_DIRS/menus` é utilizado para a junção.

##### Especificações Antigas

Especificações antigas não incluiam o atributo `type` e apenas requeriam que a localização do ficheiro de menu fosse junta como sendo o conteúdo do elemento `<MergeFile>`. Assim, poderá ainda ver uma localização especificada no conteúdo de `<MergeFile>`, mesmo quando `type="parent"`.

A junção é realizada da seguinte forma:

- Os filhos do elemento `<Menu>` raiz no ficheiro de menu junto

  O ficheiro de menu junto refere-se ao `applications.menu` seguinte no directório `$XDG_CONFIG_DIRS/menus`.

  são substituídos pelo elemento `<MergeFile>` no ficheiro de menu base.

- Todos os elementos `<Menu>` filhos com o mesmo nome são consolidades num único elemento `<Menu>`. Tal é realizado acrescentando todos os elementos filhos de cada elemento `<Menu>` com o mesmo nome na última ocorrência do elemento de menu.

menustructure-systemmerge apresenta um exemplo de um ficheiro de menu do utilizador a juntar explicitamente o ficheiro de menu do sistema.

##### Juntar o Menu de Sistema

    <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
     "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">

    <Menu>
      <Name>Applications</Name>
      <MergeFile type="parent">/etc/xdg/menus/applications.menu</MergeFile>
      <Menu>
        <Name>Accessibility</Name>
        <Exclude>
          <Filename>dasher.desktop</Filename>
        </Exclude>
      </Menu>
    </Menu>

#### Juntar Menus Arbitrários

Ficheiros de menu arbitrários podem ser juntos de forma semelhante ao dos menus de sistema. A diferença é que o atributo `type` tem de ser definido como `path` ou ser excluído do elemento `<MergeFile>` por forma a realizar este tipo de junção.

A junção é realizada da mesma forma excepto que a localização do ficheiro de junto é especificada no conteúdo do elemento `<MergeFile>`.

## Instalar Temas

Este capítulo descreve os temas, as definições disponíveis no Ambiente de Trabalho GNOME para temas, como instalar opções das configurações de temas, e como criar uma opção personalizada.

### Introdução aos Temas

Um tema é um grupo de definições coordenadas que especifica a aparência visual de uma parte do Ambiente de Trabalho GNOME. Os utilizadores podem seleccionar temas para alterar a aparência do Ambiente de Trabalho GNOME.

Um tema contém definições que afectam diferentes partes do Ambiente de Trabalho GNOME, como sendo:

Controlos

- A definição de controlos de um tema determina a aparência visual das janelas, painéis e applets. A definição de controlos também determina a aparência visual dos itens do interface GNOME-base que surgem nas janelas, painéis e applets, tais como menus, ícones, e botões. Algumas das opções de definição de controlos que estão disponíveis foram criadas para necessidades especiais de acessibilidade. Os utilizadores podem seleccionar uma opção para as definições dos controlos na secção Controlos na ferramenta de preferências Tema.

Moldura da janela

- A definição de moldura da janela de um tema determina apenas a aparência das molduras em volta das janelas. Os utilizadores podem escolher uma opção para a definição da moldura da janela na secção Margem da Janela da ferramenta de preferências Tema.

Icon (Ícone)

- A definição de ícones de um tema determina a aparência dos ícones em painéis e no fundo da área de trabalho. Os utilizadores podem seleccionar uma opção para a definição de ícone na secção Ícones da ferramenta de preferências Tema.

### Ficheiro de Índice do Tema

Cada tema tem um ficheiro de índice que define as características do tema. O nome do ficheiro de índice é `/usr/share/themes/`theme-name`/index.theme`.

O seguinte é um ficheiro de índice de tema exemplificativo:

    [Desktop Entry]
    Type=X-GNOME-Metatheme
    Name=High Contrast Large
    Name[pt]=Alto Contraste Grande
    Comment=Large black-on-white text and icons
    Comment[pt]=Texto e ícones grandes em preto sobre branco
    Encoding=UTF-8

    [X-GNOME-Metatheme]
    GtkTheme=HighContrastLargePrint
    IconTheme=HighContrast
    MetacityTheme=Atlanta
    ApplicationFont=sans 18

A tabela seguinte descreve as chaves no ficheiro de índice de tema:

### Chaves no Ficheiro de Índice de Tema

Chave do Ficheiro de Índice | Descrição
`Type (Tipo)` | Especifica que este tema determina a aparência de várias opções de tema, tais como controlos, molduras das janelas, e ícones.
`Name (Nome)` | O nome do tema. Este é o nome do tema que é apresentado na ferramenta de preferências Tema.
`Comment (Comentário)` | Uma breve descrição do tema. Este é o texto que é apresentado sob o nome do tema na ferramenta de preferências de Tema.
`GtkTheme` | Corresponde às definições de controlos na ferramenta de preferências Tema. Especifica que opção de definição de controlos aplicar às janelas, painéis e applets.
`IconTheme` | Corresponde à definição de ícones na ferramenta de preferências de Tema. Especifica que opção de definição de ícones aplicar nos painéis e no fundo da área de trabalho.
`MetacityTheme` | Corresponde à definição de moldura de janela na ferramenta de preferências de Tema. Especifica que opção de definição de moldura de janela aplicar às janelas.
`ApplicationFont` | Corresponde à definição de fonte de aplicações na ferramenta de preferências de Fonte.

### Instalar uma Nova Opção de Controlo

Pode adicionar uma nova opção das definições de controlos na ferramenta de preferências de Tema. As opções de controlos residem no directório `/usr/share/themes`. A estrutura típica de uma opção de controlo no sistema de ficheiros é a seguinte:

Ficheiro de opção

- `/usr/share/themes/`nome-da-opção`/gtk-2.0/gtkrc`

Ficheiros de imagem

- `/usr/share/themes/`nome-da-opção`/pixmaps/*.*`

Normalmente, é fornecida uma nova opção para a definição de controlos como um ficheiro `.tar.gz`. Para instalar a nova opção de controlos, realize o unzip do ficheiro `.tar.gz`, depois o untar do ficheiro `.tar` para dentro do directório `/usr/share/themes`.

Os utilizadores podem instalar as suas próprias opções para a definição dos controlos. Se um utilizador instalar uma opção, esta é armazenada no directório `$HOME/.themes`.

### Para Instalar Uma Nova Opção de Moldura de Janela

Pode adicionar uma nova opção para a definição de moldura de janela utilizando a ferramenta de preferências Tema. Opções de moldura de janela residem no directório `/usr/share/themes/`option-name`/metacity-1`. A estrutura típica de uma opção de moldura de janela no sistema de ficheiros é a seguinte:

Ficheiro de opção

- `/usr/share/themes/`nome-da-opção`/metacity-1/metacity-theme-1.xml`

Ficheiros de imagem

- `/usr/share/themes/`nome-da-opção`/metacity-1/*.*`

Normalmente, é fornecida uma nova opção para a definição de moldura de janela como um ficheiro `.tar.gz`. Para instalar a nova opção de moldura de janela, realize o unzip do ficheiro `.tar.gz`, depois o untar do ficheiro `.tar` para dentro do directório `/usr/share/themes`.

Os utilizadores podem instalar as suas próprias opções para a definição de molduras de janela. Se um utilizador instalar uma opção, esta é armazenada no directório `$HOME/.themes`.

### Para Instalar uma Nova Opção de Ícones

Pode adicionar uma nova opção para a definição de ícones utilizando a ferramenta de preferências Tema. Opções de ícones residem no directório `/usr/share/icons/`option-name``. A estrutura típica de uma opção de ícones no sistema de ficheiros é a seguinte:

Ficheiro de opção

- `/usr/share/icons/`nome-da-opção``

Ficheiros de imagem

- `/usr/share/icons/`nome-da-opção`/icons/*.*`

Normalmente, é fornecida uma nova opção para a definição de ícones como um ficheiro `.tar.gz`. Para instalar a nova opção de ícones, realize o unzip do ficheiro `.tar.gz`, depois o untar do ficheiro `.tar` para dentro do directório `/usr/share/icons`.

Os utilizadores podem instalar as suas próprias opções para a definição de ícones. Se um utilizador instalar uma opção, esta é armazenada no directório `$HOME/.icons/`option-name``.

### Instalar Ícones para Temas

O Ambiente de Trabalho GNOME disponibiliza vários temas que foram desenhados para utilizadores com necessidades visuais especiais. Por exemplo, alguns dos temas foram desenhados para utilizadores com visão reduzida. Várias versões dos ícones poderão ser necessárias para que o ícone seja apresentado adequadamente em cada tema.

Poderá ter de instalar um novo ícone para uma aplicação. Quando instala um novo ícone, tem de criar várias versões do ícone, para que este seja correctamente apresentado nos temas. Tem de criar várias versões dos seguintes tipos de ícones:

- Ícones que são utilizados dentro das aplicações do Ambiente de Trabalho GNOME.

- Ícones que são utilizados internamente pelas aplicações GTK+, ou ícones base do GTK+.

Quando instala um novo ícone, tem de criar várias versões do mesmo, para que este seja correctamente apresentado nos temas. Pode criar os ícones em vários formatos, por exemplo o formato Portable Network Graphic (PNG). O tamanho sugerido para ícones para o ambiente de trabalho é 48 pixels por 48 pixels. Com base neste tamanho, a maioria dos temas consegue redimensionar os ícones.

Quando instalar um novo ícone, cria as seguintes versões em 48 pixel por 48 pixel do mesmo:

- Ícone normal

- Ícone de baixo contraste

- Ícone de contraste elevado

- Ícone de contraste elevado invertido

Se possível, crie também versões de 16 pixel por 16 pixel de cada um dos ícones acima, para temas que não requeiram impressão de grande tamanho.

Instale os ícones na localização dos ficheiros de imagem que está especificada para o tema em themes-3 ou themes-5. Por exemplo, para adicionar ícones ao tema HighContrastLargePrint, adicione os ícones ao directório `/usr/share/themes/HighContrastLargePrint/pixmaps`. Adicione referências aos ícones nos ficheiros de temas relevantes. Por exemplo, para adicionar ícones ao tema HighContrastLargePrint, adicione referências aos ícones ao ficheiro `/usr/share/themes/HighContrastLargePrint/gtk-2.0/gtkrc`. Altere o ficheiro `gtkrc` do tema para associar o ícone com o identificador de ícone base do GTK.

Para mais informações sobre como criar ícones para iniciadores de aplicações e para painéis, consulte http://www.freedesktop.org/Standards/icon-theme-spec.

### Para Criar uma Opção Personalizada de Controlo

Se as opções para as definições de controlos não se adequam às necessidades dos seus utilizadores, pode criar opções de controlos personalizadas. Para as criar, realize os seguintes passos:

1. Crie uma estrutura de directórios para a opção no directório `/usr/share/themes`. Utilize a mesma estrutura de directórios utilizada por outras opções. Por exemplo, para criar uma opção denominada SmallPrint, crie os seguintes directórios:

   - `/usr/share/themes/SmallPrint`

   - `/usr/share/themes/SmallPrint/gtk-2.0`

2. Localize o ficheiro `gtkrc` que mais se aproxima de corresponder às necessidades dos seus utilizadores. Copie o ficheior para o directório `gtk-2.0` da sua nova opção.

3. Abra o ficheiro `gtkrc` num editor de texto, e altere os atributos dos elementos de interface de acordo com as suas necessidades.

4. Se a nova opção incluir imagens, instale as images da nova opção no directório `pixmaps` da sua nova opção. Se a nova opção utilizar imagens de outra opção, não necessita de criar cópias das imagens para a sua nova opção. Em vez disso, assegure-se de que a referência às imagens na entrada `pixmap_path` do ficheiro `gtkrc` está correcta.

Os utilizadores podem agora seleccionar a nova opção para as definições de controlos.

Para mais informações sobre os ficheiros `gtkrc`, consulte http://developer.gnome.org/doc/API/2.0/gtk/index.html.

## Configurar Fontes

Este capítulo descreve como configurar fontes no Ambiente de Trabalho GNOME.

### Introdução à Configuração de Fontes

O Ambiente de Trabalho GNOME utiliza a biblioteca de configuração e personalização de fontes `fontconfig`. A biblioteca `fontconfig` consegue utilizar todos os tipos de fontes, incluíndo fontes PostScript Type 1 e TrueType.

A biblioteca `fontconfig` fornece uma lista de todas as fontes disponíveis num sistema com o Ambiente de Trabalho GNOME. Para criar esta lista, o `fontconfig` procura nos directórios especificados no ficheiro `/etc/fonts/fonts.conf`. Para ver todas as fontes disponíveis num sistema, aceda à localização `fonts:///` no gestor de ficheiros do seu sistema.

Para mais informações sobre a biblioteca `fontconfig`, consulte o seguinte URL:

          http://freedesktop.org/software/fontconfig

### Substituição de Fonte

A biblioteca `fontconfig` realiza substituição de fontes quando fontes inteiras, ou caracteres individuais, não existem. Se o sistema necessita de apresentar uma fonte que não se encontra disponível, `fontconfig` tenta apresentar outra, semelhante. Por exemplo, se uma página web pedir a apresentação da fonte Verdana, e essa fonte não estiver instalada no sistema, `fontconfig` apresenta uma fonte semelhante, tal como a Helvetica. A lista de fontes semelhantes está definida no ficheiro `/etc/fonts/fonts.conf`.

Se o sistema necessitar de apresentar um caracter que não existe na fonte seleccionada, `fontconfig` tenta apresentar o caracter noutra fonte semelhante. Por exemplo, poderá seleccionar a Bitstream Vera Sans como sendo a fonte da aplicação Editor de Texto. A família de fontes Bitstream Vera não inclui caracteres Cirílicos. Caso abra um documento que contenha caracteres Cirílicos, o Editor de Texto utilizará uma fonte semelhante que inclua os caracteres Cirílicos.

A biblioteca `fontconfig` também define nomes alternativos (ou alcunhas) para fontes, por exemplo, `serif`, `sans-serif`, e `monospace`. Quando selecciona um dos nomes alternativos de uma fonte, o sistema utiliza a primeira fonte que estiver definida nesse nome alternativo em `/etc/fonts/fonts.conf`.

### Para Adicionar uma Fonte para Todos os Utilizadores

Para adicionar para todos os utilizadores, realize os seguintes passos:

1. Copie o ficheiro da fonte para um dos directórios indicados no ficheiro `/etc/fonts/fonts.conf`. Normalmente, as fontes estão armazenadas no directório `/usr/share/fonts/`.

2. A biblioteca `fontconfig` actualiza a lista de fontes automaticamente. Se a lista de fontes não for actualizada, execute o seguinte comando:

       fc-cache nome-directório

### Para Adicionar uma Fonte para um Utilizador Específico

Para adicionar uma fonte para um utilizador específico, realize os seguintes passos:

1. Copie o ficheiro da fonte para o directório `$HOME/.fonts` do utilizador. Se arrastar o ficheiro de fonte para a localização `fonts:///` no gestor de ficheiros, o ficheiro de fonte é copiado para o directório `$HOME/.fonts`.

2. A biblioteca `fontconfig` actualiza a lista de fontes automaticamente. Se a lista de fontes não for actualizada, execute o seguinte comando:

       fc-cache nome-directório

## Tipos MIME

Este capítulo descreve como as aplicações detectam os tipos MIME, como registar tipos MIME, e como adicionar aplicações ao Ambiente de Trabalho GNOME.

O propósito deste capítulo é o de simplificar para um administrador a compreensão de como configurar diferentes partes da base de dados MIME e dar uma visão geral do sistema MIME. Assim sendo, não iremos entrar em detalhes quando tal não for necessário. Para os detalhes mais profundos, recomenda-se que consulte a especificação XDG de informação mime partilhada.

### Introdução aos Tipos MIME

Um tipo de Extensão Multi-propósito de Correio pela Internet [MIME] identifica o formato de um ficheiro. Aplicações tais como um navegador de Internet e aplicações de email utilizam o tipo MIME de um ficheiro para decidir que acções realizar sobre o mesmo. Por exemplo, uma aplicação de email pode utilizar o tipo MIME para detectar o formato de um anexo e seleccionar o visualizador adequado ao ficheiro, tal como abrir um documento de texto com o gedit.

Outro exemplo é o gestor de ficheiros Nautilus que necessita de saber o tipo MIME de um ficheiro para realizar as seguintes tarefas:

- Abrir o ficheiro na aplicação adequada.

- Apresentar uma expressão que descreve o tipo de ficheiro.

- Apresentar um ícone adequado para representar o ficheiro.

- Apresentar uma lista de outras aplicações que podem abrir o ficheiro.

Os tipos MIME foram originalmente propostos como um standard para identificar o corpo de uma mensagem e-mail. Agora, muitos sistemas utilizam os tipos MIME para identificar o formato de quaisquer ficheiros no sistema de ficheiros. Os tipos MIME são compostos por um tipo de media de topo seguido de um identificador de subtipo, separados por uma barra, `/`. Um exemplo de um tipo MIME é `image/jpeg`. O tipo de media neste exemplo é `image` e o identificador de subtipo é `jpeg`. O tipo de media de topo é suposto ser uma categorização genérica sobre o conteúdo do ficheiro, enquanto que o identificador de subtipo é suposto identificar especificamente o formato do ficheiro.

Actualmente existem oito tipos de media aprovados pela IANA [Autoridade de Atribuição de Nomenclaturas da Internet]. Estes oito tipos de media são

- aplicação
- audio
- imagem
- mensagem
- modelo
- múltiplas-partes
- texto
- vídeo

. Existem muitos subtipos para cada tipo de media; para mais informações, consulte os Tipos de Media MIME na página web da IANA.

A implementação dos tipos MIME no GNOME adere à especificação XDG de informação mime partilhada. Esta especificação disponibiliza as seguintes vantagens:

- Localizações padrão para todos os ficheiros relacionados MIME.

- Uma forma padronizada para as aplicações registarem informação sobre um novo tipo MIME.

- Uma forma padronizada para obter o tipo MIME de um ficheiro.

- Uma forma padronizada para obter informação sobre um tipo MIME.

O resto do capítulo descreve os ficheiros e directórios que compõem a base de dados MIME, detalhes sobre os ficheiros de código-fonte XML, como criar ou alterar tipos MIME, como registar aplicações como manipuladores de determinados tipos MIME e, finalmente, como adicionar uma aplicação ao Ambiente de Trabalho GNOME.

### A Base de Dados MIME

A base de dados MIME é uma colecção de ficheiros que compõem:

- O conjunto de tipos MIME conhecidos

- O método para determinar o tipo MIME de um ficheiro

- Meta informação sobre um tipo MIME, tal como a descrição legível por humanos a utilizar quando se apresentam ficheiros deste tipo.

#### Localização

Como administrador, o primeiro e mais importante passo para compreender o sistema MIME é aprender a localização onde estão armazenados estes ficheiros. Desde que foi escrita a primeira versão (ainda rascunho) da especificação XDG de informação mime partilhada pelo X Desktop Group, que esta utiliza a especificação XDG de directórios base. É altamente recomendado que se familiarize com esta especificação, visto também ser importante para outras tarefas de administração de sistemas tais como editar menus. Um breve resumo da localização dos directórios relacionados com a especificação MIME é apresentado abaixo.

A base de dados MIME é criada a partir do conjunto de ficheiros localizados nos directórios `$XDG_DATA_HOME/mime` e `$XDG_DATA_DIRS/mime`. Se estas variáveis de ambiente não estiverem definidas, os valores por omissão serão `~/.local/share` e `/usr/local/share:/usr/share`, respectivamente. Tal como pode ser visto a partir do valor por omissão de `$XDG_DATA_DIRS`, cada variável de ambiente é na verdade uma lista de directórios separados por vírgulas. A base de dados do utilizador em `$XDG_DATA_HOME/mime` tem precedência sobre a base de dados de sistema em `$XDG_DATA_DIRS/mime`, caso sejam encontradas definições conflituantes. De forma similar à especificação XDG de mime partilhado, ir-nos-emos referir, ao longo do resto deste documento, a este conjunto de directórios como `<MIME>`.

Por exemplo, assumindo caminhos por omissão para as variáveis de ambiente, Ler `<MIME>/text/plain.xml` significa ler os seguintes ficheiros:

- `~/.local/share/mime/text/plain.xml`

- `/usr/local/share/mime/text/plain.xml`

- `/usr/share/mime/text/plain.xml`

#### Conteúdo

O seguinte é uma lista de directórios e ficheiros que se podem encontrar dentro da base de dados MIME, juntamente com breves descrições:

`<MIME>/packages/`

- Este directório contém um número indeterminado de ficheiros XML, cada um descrevendo uma colecção de tipos MIME. Por omissão, o ficheiro `freedesktop.org.xml` é instalado no directório `/usr/share/mime/packages`. Este ficheiro contém todos os tipos MIME por omissão que são largamente reconhecidos e utilizados.

  Aplicações que disponibilizam informação sobre novos tipos MIME deverão instalar aqui um único ficheiro XML novo. Dependendo do prefixo onde a aplicação é instalada, irá criar o ficheiro no subdirectório `/mime/package` de um dos directórios indicados em `$XDG_DATA_HOME:$XDG_DATA_DIRS`. Por exemplo, uma aplicação instalada em `/usr/bin` deverá instalar um novo ficheiro XML de código no directório `/usr/share/mime/packages`. Para mais informações sobre os ficheiros XML no directório `packages`, consulte mimetypes-source-xml.

`<MIME>/`MEDIA`/`SUBTIPO`.xml`

- Estes directórios e ficheiros são gerados automaticamente a partir da colecção de ficheiros XML de origem que estão no directório `<MIME>/packages/` pela aplicação update-mime-database. Por exemplo, para cada elemento `mime-type` no ficheiro `/usr/share/mime/packages/freedesktop.org.xml`, é criado um directório em `/usr/share/mime/` com o tido de media do tipo MIME. É criado um ficheiro XML nesse directório com o identificador de subtipo desse tipo MIME. O conteúdo do ficheiro de XML criado inclui comentários (e traduções destes), designações de subclasses e alcunhas (nomes alternativos).

  ##### Exemplo: o ficheiro `/usr/share/mime/text/plain.xml`

      <?xml version='1.0' encoding='utf-8'?>
      <mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="text/plain">
      <!--Created automatically by update-mime-database. DO NOT EDIT!-->
        <comment>plain text document</comment>
        <!-- possibly more translations -->
        <comment xml:lang="es">documento de texto sencillo</comment>
        <comment xml:lang="eu">testu soileko dokumentua</comment>
        <comment xml:lang="fi">perustekstiasiakirja</comment>
        <comment xml:lang="pt">documento de texto simples</comment>
        <!-- possibly more translations -->
      </mime-type>

  Este ficheiro é gerado pela aplicação update-mime-database, utilizando o ficheiro XML de origem por omissão `freedesktop.org.xml`.

`<MIME>/globs`

- Contém uma linha com um tipo mime e um padrão glob, separado por uma vírgula. Ficheiros que tenham equivalência ao padrão glob são consideradas como sendo do tipo MIME especificado antes da vírgula. Existem regras especiais sobre como é feita a equivalência dos nomes de ficheiros ao padrão glob; para mais detalhes consulte a especificação XDG de mime partilhado.

  Este ficheiro é também gerado pela aplicação update-mime-database, utilizando o ficheiro XML de origem por omissão `freedesktop.org.xml`.

`<MIME>/magic`

- Um ficheiro binário que contém informação sobre como resolver tipos MIME inspeccionando o conteúdo do ficheiro. Normalmente isto consiste numa ou mais regras tais como verificar a existência da expressão `%PDF-` no byte offset 0 no ficheiro; se encontrada, atribuir-lhe o tipo MIME `application/pdf`.

  Este ficheiro é também gerado pela aplicação update-mime-database.

`<MIME>/XMLnamespaces`

- Contém um mapeamento dos nomes de espaços XML para tipos MIME. Cada linha contém três campos, o nome do espaço, o localName (nome local) e o tipo MIME. Cada campo é separado por um espaço. Se o localName for vazio, existirão dois espaços entre o nome do espaço e o tipo MIME.

  Este ficheiro é também gerado pela aplicação update-mime-database.

`<MIME>/aliases`

- Contém uma lista de alcunhas (ou nomes alternativos) para cada tipo MIME. Uma alcunha é simplesmente um tipo MIME que por vezes é conhecido por outro tipo. Para cada linha neste ficheiro existem dois campos: o primeiro é a alcunha, o segundo é o tipo MIME. Os campos são separados por um espaço.

  Este ficheiro é também gerado pela aplicação update-mime-database.

`<MIME>/subclasses`

- Contém uma lista de tipos MIME com subclasses MIME e o seu tipo MIME pai. Citando a especificação XDG de mime partilhado:

  > Um tipo é uma subclasse de outro tipo se uma qualquer instância do primeiro tipo for também uma instância do segundo. Por exemplo, todos os ficheiros image/svg são também ficheiros text/xml, text/plain e application/octet-stream. Subclasses são segundo o formato, e não segundo a categoria dos dados (por exemplo, não existe nenhuma classe 'folha de cálculo genérica' que todas as folhas de cálculo herdem).

  O formato deste ficheiro é semelhante ao do ficheiro `aliases` (alcunhas). Cada linha contém dois campos, onde o primeiro é o tipo MIME da subclasse e o segundo é o tipo MIME pai. Cada campo está separado por um espaço.

  Este ficheiro é também gerado pela aplicação update-mime-database.

#### Actualizar a Base de Dados MIME

Compreender como actualizar a base de dados MIME é importante para os administradores que desejem adicionar novos tipos MIME ao sistema, ou alterar informação sobre um tipo MIME. A aplicação update-mime-database destina-se a este fim.

Por exemplo, se uma aplicação instalar informação sobre um novo tipo MIME em `/usr/share/mime/packages/diff.xml`, então a update-mime-database deverá ser executada com o parâmetro `/usr/share/mime`.

    # update-mime-database /usr/share/mime
    ***
    * A actualizar a base de dados MIME em /usr/share/mime...
    ***

A base de dados MIME é actualizada analisando-se todos os ficheiros XML de origem no directório `<MIME>/packages`.

### Os ficheiros XML de origem

Localizados no directório `<MIME>/packages`, estes ficheiros XML disponibilizam toda a informação sobre os tipos MIME que é instalada na base de dados pela aplicação update-mime-database. Existem algumas regras sobre o próprio ficheiro XML:

- Tem de especificar o nome de espaço como sendo `http://www.freedesktop.org/standards/shared-mime-info`

- O elemento raiz tem de ser `mime-info`

- Podem ser especificados zero ou mais elementos `mime-type` como filhos do elemento `mime-info`. O atributo `type` é utilizado para especificar o tipo MIME que está a ser definido.

Por omissão, o ficheiro `freedesktop.org.xml` é instalado no directório `packages` num dos caminhos `<MIME>` (normalmente `/usr/share/mime/packages`).

mimetypes-mimeinfo-elements dá uma descrição abreviada de cada um dos elementos que podem ocorrer como filhos do elemento `mime-type`.

### Child elements of `<mime-type>`

Elemento (e atributos) | Descrição
`<glob pattern="`*.xyz`">` | Este elemento especifica um padrão glob a ser utilizado sobre os nomes de ficheiros. Se o nome tiver equivalência, é-lhe atribuído o tipo MIME do elemento pai `mime-type`. O atributo `pattern` é obrigatório.
`<magic priority="`50`">` | Este elemento contém uma lista de elementos `match` como seus filhos. O atributo `priority` é opcional, e especifica uma prioridade entre 0 e 100, sendo 100 a prioridade de equivalência mais elevada. Cada elemento filho `match` tem três atributos obrigatórios: `type` `offset` `valor` e um quarto atributo opcional, `mask`. Para detalhes sobre estes atributos, consulte especificação XDG de informação mime partilhada.
`<alias type="`media`/`subtipo`">` | Este elemento define uma alcunha para o elemento pai `mime-type`. Uma alcunha é simplesmente um tipo MIME que é por vezes conhecido como outro tipo. Por exemplo, `application/x-pdf` é uma alcunha do tipo MIME `application/pdf`.
`<sub-class-of type="`media`/`subtipo`">` | Este elemento define o elemento pai de `mime-type` como uma subclasse do tipo MIME especificado no atributo `type`. Por exemplo, `image/svg` é uma subclasse do tipo MIME `text/xml`, `text/plain`, e `application/octet-stream`.
`<comment xml:lang="`configuração regional`">` | Este elemento apresenta uma descrição legível por humanos do tipo MIME. Podem existir zero ou mais ocorrências deste elemento desde que cada um contenha um valor único para o atributo `xml:lang`.
`<root-XML namespaceURI="`espaço de nome`" localName="">` | Se o ficheiro é considerado um ficheiro XML, este elemento ajuda a classifica-lo mais detalhadamente utilizando os atributos `namespaceURI` e `localName` , ambos obrigatórios. O atributo `namespaceURI` é o nome de espaço do documento, e `localName` é o nome do elemento raiz do documento. Se `localName` estiver presente mas o seu valor for vazio, o elemento raiz poderá ter um qualquer nome, mas o nome de espaço terá de ser equivalente.

A forma mais fácil de compreender estes ficheiros é observando um exemplo. Copiando da especificação XDG de mime partilhada, mimetypes-source-xml-example apresenta o conteúdo de um ficheiro XML de origem denominado `diff.xml`. Este exemplo define o tipo MIME `text/x-diff`. Existem múltiplos elementos `comment` que apresentam um nome humanamente legível para o tipo MIME num número de vários idiomas. Este tipo MIME tem ambas as regras de equivalência através de padrões glob e através da utilização de inspecção de conteúdo (mais conhecido como regras `mágicas`). Qualquer ficheiro com a extensão `.diff` ou `.patch` serão considerados deste tipo MIME. Adicionalmente qualquer ficheiro cujo conteúdo comece pela expressão especificada no atributo `value` do elemento `match`, irá ser considerado do tipo MIME `text/x-diff`.

A ordem em que os padrões glob e regras mágicas são aplicados está para lá do âmbito deste documento. Para detalhes sobre isso, consulte a especificação XDG de informação mime partilhada.

#### Exemplo de um ficheiro XML de origem: `diff.xml`

    <?xml version='1.0'?>
    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
      <mime-type type="text/x-diff">
        <comment>Differences between files</comment>
        <comment xml:lang="pt">Diferenças entre ficheiros</comment>
        <!-- more translated comment elements -->
        <magic priority="50">
          <match type="string" offset="0" value="diff\t"/>
          <match type="string" offset="0" value="***\t"/>
          <match type="string" offset="0" value="Common subdirectories: "/>
        </magic>
        <glob pattern="*.diff"/>
        <glob pattern="*.patch"/>
      </mime-type>
    </mime-info>

### Alterar tipos MIME

Os ficheiros de origem XML instalados no directório `<MIME>/packages` pelas aplicações nunca deverão ser alterados manualmente. Em vez disso, deverá ser alterado o ficheiro `Overrides.xml`. Este tem precedência sobre todos os outros ficheiros XML instalados no mesmo directório `packages`. Caso seja o autor de uma aplicação, esta regra não se aplica. Deverá criar um novo ficheiro de origem XML e colocá-lo no directório `<MIME>/packages` apropriado (a sua `Makefile` tratará disto, claro).

Pode alterar a base de dados MIME para todos os utilizadores no sistema ou para um utilizador específico, dependendo da localização do ficheiro que alterar. Para alterar a base de dados para todos os utilizadores, altere o ficheiro `Overrides.xml` no directório `$XDG_DATA_DIRS/mime/packages`. Para alterar para apenas um utilizador específico, altere o ficheiro `Overrides.xml` no directório `$XDG_DATA_HOME/mime/packages`.

Após realizadas as alterações, terá sempre de executar a aplicação update-mime-database, indicando a localização do directório da base de dados MIME como primeiro parâmetro.

#### Adicionar ou Alterar Tipos MIME

Para adicionar um ou mais tipos MIME para todos os utilizadores:

1. Crie ou altere um ficheiro de origem XML `Overrides.xml` existente, contendo as definições dos tipos MIME. Para mais informações, consulte mimetypes-source-xml.

2. Coloque o ficheiro `Overrides.xml` no directório `/usr/share/mime/packages`.

3. Actualize a base de dados MIME executando update-mime-database com a conta de administrador.

       update-mime-database /usr/share/mime

Para adicionar um ou mais tipos MIME para um utilizador específico, siga os mesmos passos, mas coloque o seu ficheiro `Overrides.xml` no directório `~/.local/share/mime/packages`. Adicionalmente, execute o update-mime-database com `~/.local/share/mime/packages` como primeiro parâmetro.

#### Verificar as Alterações

Após ter realizado uma alteração à base de dados MIME e actualizado o seu conteúdo, pode verificar que as alterações tomaram efeito utilizando a aplicação gnomevfs-info. Esta aplicação imprime o tipo MIME e outra informação útil sobre um ficheiro.

Executar o gnomevfs-info sobre um ficheiro SVG dá-lhe o resultado abaixo. Notará que a aplicação por omissão para este tipo MIME é `eog.desktop`; Iremos discutir as aplicações por omissão em mimetypes-registering.

    $ gnomevfs-info mime-diagram.svg
    Nome              : mime-diagram.svg
    Tipo              : Normal
    Tipo MIME         : image/svg+xml
    Apl. omissão      : eog.desktop
    Tamanho           : 14869
    Blocos            : 32
    Tam. blocos I/O   : 4096
    Local             : SIM
    SUID              : NÃO
    SGID              : NÃO
    Pegajoso          : NÃO
    Permissões        : 600644
    Contagem Atalhos  : 1
    UID               : 1000
    GID               : 100
    Data de acesso    : Qua Fev 22 18:24:47 2006
    Data de alteração : Qua Fev 22 18:24:42 2006
    Data de mudança   : Qua Fev 22 18:24:42 2006
    Nº dispositivo    : 775
    Nº Inode          : 297252
    Permite ler       : SIM
    Permite escrever  : SIM
    Executável        : NÃO
    $

mimetypes-newtype-example apresenta os passos necessários para criar um novo tipo MIME e depois verificar as alterações utilizando o gnomevfs-info.

#### Exemplo `application/x-newtype`

Para criar (ou sobrepor) um tipo MIME e verificar as alterações:

1. Crie um ficheiro novo, vazio, na sua pasta pessoal denominado `testing.xyz`.

2. Utilize o gnomevfs-info sobre o ficheiro para detectar o seu tipo MIME.O tipo MIME deste ficheiro deverá ser detectado como `text/plain` pois não existem padrões glob nem regras mágicas que façam equivalência

   Quando nenhum padrão glob nem regra mágica equivale a um ficheiro, este é resolvido para o tipo MIME `text/plain` se contiver dados de texto ou `application/octet-stream` se contiver dados binários. Se o ficheiro estiver vazio, por omissão será `text/plain`.

   .

3. Crie (ou altere) o ficheiro `Overrides.xml` tal como descrito em mimetypes-addmodify com o conteúdo indicado em mimetypes-overrides-xml.

4. Actualize a base de dados utilizando o update-mime-database.

5. Utilize o gnomevfs-info para verificar que a sua alteração tomou efeito. Deverá ver o tipo MIME do ficheiro `testing.xyz` detectado como `application/x-newtype`.

       $ gnomevfs-info testing.xyz | grep MIME
       MIME type         : application/x-newtype
       $

##### Ficheiro `Overrides.xml`

    <?xml version='1.0' encoding='utf-8'?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
      <mime-type type="application/x-newtype"><comment>new mime type</comment><glob pattern="*.xyz"/></mime-type>
    </mime-info>

### Registar Aplicações para Tipos MIME

Registar aplicações para gerir tipos MIME é bastante simples. As aplicações são registadas criando-se uma chave `MimeType` no seu ficheiro de definição de iniciador `.desktop` com uma lista de cada tipo MIME separado por ponto-e-vírgula. A chave `MimeType` apenas deve ser utilizada em ficheiros `.desktop` cuja chave `Type` tenha o valor `Application`. Para mais informações sobre os ficheiros `.desktop`, consulte menustructure-desktopentry.

Apos criar ou alterar um ficheiro de definição de iniciador `.desktop`, tem de actualizar a base de dados de aplicações utilizando a aplicação update-desktop-database (muito semelhante à update-mime-database, excepto que não recebe um parâmetro). Isto irá criar um ficheiro `mimeinfo.cache` no subdirectório `applications` de cada directório em `$XDG_DATA_HOME:$XDG_DATA_DIRS`. O ficheiro de cache é necessário para que todos os ficheiros `.desktop` não tenham de ser analisados apenas por causa da chave `MimeType`, já que isto causa I/O de disco desnecessário.

Aplicações por omissão para utilizar com tipos MIME específicos devem ser especificadas num ficheiro denominado `defaults.list`. Este ficheiro localiza-se no subdirectório `applications` de cada directório em `$XDG_DATA_HOME` e `$XDG_DATA_DIRS`. O formato deste ficheiro consiste no tipo MIME, o símbolo `=` e o ID do Ficheiro de Iniciador (que é o nome do ficheiro de definição de iniciador). mimetypes-registering-example é um pequeno exemplo de um ficheiro `defaults.list` no directório `~/.local/share/applications` de um utilizador.

#### O ficheiro `defaults.list` de um utilizador

    [Default Applications]
    application/pdf=evince.desktop
    text/html=epiphany.desktop
    text/plain=gedit.desktop
    image/jpeg=eog.desktop
    image/png=eog.desktop
    text/xml=gedit.desktop

#### Especificação XDG de Definição de Iniciador

Como registar tipos MIME de aplicações é parte da especificação XDG de definição de iniciador, e não da especificação XDG de informação mime partilhada.

### Adicionar uma Aplicação ao Ambiente de Trabalho GNOME

Para adicionar uma aplicação ao Ambiente de Trabalho GNOME, realize os seguintes passos:

1. Adicione um item de menu para a aplicação. Para mais informações sobre como adicionar um item a um menu, consulte menustructure-2.

2. Adicione um ícone para a aplicação em `/usr/share/icons/`theme-name`/`icon-size`/apps`. Para mais informações sobre ícones e temas, consulte themes-11.

3. Se a aplicação utilizar um novo tipo MIME, adicione um ficheiro XML de origem à base de dados MIME. Para mais informações, consulte mimetypes-modifying.

4. Se a aplicação utilizar um novo tipo MIME, adicione um ícone para o tipo MIME a `/usr/share/icons/`theme-name`/`icon-size`/mimetypes`. Para mais informações sobre ícones e temas, consulte themes-0.

5. Para associar a aplicação a um tipo MIME, inclua a chave `MimeType` no seu ficheiro `.desktop`. Para mais informações, consulte mimetypes-registering.

## Configurar o Protector de Ecrã

Este capítulo descreve como definir as preferências do protector de ecrã. Este capítulo também disponibiliza informação sobre como alterar os ecrãs que estão disponíveis para o protector de ecrã.

### Introdução ao Protector de Ecrã

Um protector de ecrã é uma aplicação que substitui a imagem no ecrã quando este não está a ser utilizado. A aplicação de protecção de ecrã do Ambiente de Trabalho GNOME é o gnome-screensaver. As secções seguintes descrevem como definir as preferências da aplicação gnome-screensaver, e como alterar os temas que estão disponíveis para o protector de ecrã.

### Definir as Preferências do Protector de Ecrã

Todas as preferências e definições do protector de ecrã estão armazenadas no GConf.

Para alterar as preferências do protector de ecrã, os utilizadores podem utilizar a ferramenta de preferências Protecção de Ecrã. Para informações sobre preferências do protector de ecrã, consulte o Guia do Utilizador do Ambiente de Trabalho GNOME.

Os utilizadores podem também executar o comando `/usr/bin/gnome-screensaver-preferences` para abrir o diálogo de Preferências do Protector de Ecrã.

Para configurar as definições por omissão do protector de ecrã e a política para todos os utilizadores, altere as definições na Fonte de Configuração por Omissão do GConf.

Para configurar definições obrigatórias e políticas para todos os utilizadores, altere as definições na Fonte de Configurações Obrigatórias do GConf.

### Alterar os Temas do Protector de Ecrã

A aplicação de protecção de ecrã permite aos utilizadores seleccionar um ou mais temas de protecção. Um protector de ecrã é uma aplicação que apresenta imagens no ecrã do urilizador quando este não está a ser utilizado. Os temas do protector de ecrã disponíveis estão listados na ferramenta de preferências Protector de Ecrã.

Para adicionar um novo tema de protector de ecrã, copie o ficheiro executável do motor do tema de protecção para um qualquer local no seu PATH ou para o directório executável do motor do tema de protecção. O directório do motor de protecção de ecrã do seu sistema poderá ser determinado utilizando o seguinte comando:

    pkg-config --variable=privlibexecdir gnome-screensaver

De seguida, adicione um ficheiro `.desktop` para o tema ao directório de temas do protector de ecrã. O directório de temas do protector de ecrã do seu sistema pode ser determinado utilizando o seguinte comando:

    pkg-config --variable=themesdir gnome-screensaver

No campo Exec do ficheiro `.desktop` inclue todos os argumentos necessários à execução do tema do protector de ecrã em ecrã completo, em vez de numa janela. Por exemplo, alguns motores de temas de protecção de ecrã antigos poderão necessitar que inclua a opção `-root` para apresentar o protector de ecrã a ocupar o ecrã completo.

A infra-estrutura de Protecção de Ecrã implementa temas de acordo com a especificação XDG de menu. Ao suportar esta especificação, o GNOME permite-lhe:

- Personalizar os temas facilmente. Pode editar um pequeno número de ficheiros para personalizar os temas disponíveis. Não tem de alterar as suas aplicações nem mover ficheiros.

- Instalar temas facilmente. Não tem de fornecer informação sobre o sistema ao instalar os temas.

- Configurar o sistema por forma a que os utilizadores não possam alterar os temas.

Para mais informações, consulte menustructure-0.

## Gestão de Sessões

Este capítulo apresenta uma introdução à gestão de sessões, e descreve como definir as omissões de uma sessão. O capítulo também contém informação sobre sessões e scripts de início de sessão.

### Introdução às Sessões

Uma sessão decorre entre a altura em que um utilizador inicia uma sessão no Ambiente de Trabalho GNOME e o momento em que a termina. O gestor de sessões é iniciado após o Login Manager autenticar o utilizador. O gestor de sessões permite ao utilizador gerir a sessão. Por exemplo, um utilizador pode gravar o estado de uma sessão e regressar a essa sessão da próxima vez que iniciar uma sessão.

No mínimo, as seguintes aplicações correm em sessão:

- O gestor de sessões, `gnome-session`.

- O daemon de definições X GConf, `gnome-settings-daemon`.

- A aplicação gnome-panel, que executa os painéis no Ambiente de Trabalho GNOME.

- O gestor de janelas Metacity.

### Omissões das Definições de Sessão

A tabela seguinte lista os ficheiros que contêm informação por omissão da sessão:

Ficheiro | Descrição
`/usr/share/gnome/default.session` | Ficheiro da sessão por omissão. Os detalhes por omissão da sessão são armazenados neste ficheiro.
`$HOME/.gnome2/session` | Ficheiro de sessão do utilizador. Quando um utilizador altera a sessão, os detalhes são armazenados neste ficheiro.

Para definir detalhes por omissão de sessão para todos os utilizadores, altere o ficheiro de sessão por omissão.

Para repor as definições de sessão por omissão para um utilizador, apague o ficheiro de sessão do seu directório pessoal. Se não existir nenhum ficheiro de sessão do utilizador, estão a ser utilizadas as definições por omissão de `/usr/share/gnome/default.session`.

Para gravar a sessão actual como sessão por omissão, os utilizadores podem executar o comando `gnome-session-save`.

## Sistema de Ajuda

Este capítulo descreve o sistema de Ajuda no Ambiente de Trabalho GNOME.

### Introdução ao Sistema de Ajuda

O Ambiente de Trabalho GNOME apresenta a ajuda no navegador de ajuda Yelp. Para mais informações, consulte o Navegador de Ajuda Yelp no Guia do Utilizador do Ambiente de Trabalho GNOME.

Os documentos base da ajuda são ficheiros XML. Os ficheiros XML são escritos segundo a definição de tipo de documento (DTD) DocBook XML Version 4.1.2. Os ficheiros XML DocBook são convertidos em HTML utilizando folhas de estilo instaladas com o gnome-doc-utils e o HTML é apresentado no navegador de ajuda. Para mais informações sobre o DocBook XML, consulte o seguinte URL:

          http://www.oasis-open.org/docbook/xml

O sistema de Ajuda utiliza os ficheiros da Arquitectura de Metadados em Código Aberto (OMF), e um sistema de catalogação. As secções seguintes descrevem os ficheiros OMF e o sistema de catalogação.

### Ficheiros OMF

O ficheiro XML de cada manual tem um ficheiro OMF associado. O ficheiro OMF contém informação sobre o manual que é utilizada pelo navegador de Ajuda. Os ficheiros OMF têm a extensão `.omf`.

Quando instala uma aplicação, o processo de instalação coloca um ficheiro OMF num directório de ficheiros OMF. Se um documento de Ajuda tem um ficheiro OMF associado num directório de ficheiros OMF, o documento de Ajuda é apresentado no navegador de Ajuda.

Os ficheiros OMF contêm informações sobre documentos de Ajuda tais como:

- A localização do ficheiro XML do documento de Ajuda

- O título do documento de Ajuda

- Uma categoria de assunto a que o documento de Ajuda pertença.

Para mais informações sobre como criar ficheiros OMF, consulte Escrever Ficheiros OMF para o Scrollkeeper.

### Sistema de Catalogação ScrollKeeper

O ScrollKeeper é um sistema de catalogação de documentação. A sua função principal é gerir a informação que está em ficheiros OMF para o navegador de ajuda. Quando instala uma aplicação, o ficheiro OMF é copiado para o directório ``$prefix`/share/omf/`<application-name>``.

O ScrollKeeper constroi uma tabela de conteúdos a partir da colecção de ficheiros OMF contidos nos directórios especificados no ficheiro ``$prefix`/etc/scrollkeeper.conf`. Este ficheiro normalmente consiste numa única linha com a `OMF_DIR` definida como uma lista de directórios separados por vírgulas, a procurar recursivamente.

    OMF_DIR=/usr/share/omf:/usr/local/share/omf:/opt/gnome2/share/omf:/opt/kde/omf

O ScrollKeeper contém uma hierarquia de categorias de assuntos aos quais um documento de ajuda pode pertencer. A categoria de assunto do documento no ficheiro OMF determina a localização do documento na tabela de conteúdos apresentada pelo navegador de ajuda.

A hierarquia de categorias de assuntos é definida no ficheiro ``$prefix`/scrollkeeper/Templates/`<lang>`/scrollkeeper_cl.xml`. A categoria de assunto de um documento tem de corresponder a uma categoria especificada neste ficheiro.

Para mais informações sobre o sistema do Scrollkeeper, visite a página web http://scrollkeeper.sourceforge.net/.

Se o ficheiro de XML do documento de ajuda for movido para uma nova localização, a localização que consta no ficheiro OMF tem de ser actualizada.

## Melhorar o Desempenho

Este capítulo descreve como melhorar o desempenho do Ambiente de Trabalho GNOME.

### Introdução à Melhoria do Desempenho

Este capítulo lista várias preferências cusa definição pode alterar para melhorar o desempenho do Ambiente de Trabalho GNOME. Pode utilizar o comando `gconftool-2` para definir o valor das preferências dos utilizadores. Os comandos de exemplo neste capítulo mostram como definir valores na fonte de configuração de utilizadores.

Pode também utilizar as opções `--direct` e `--config-source` para definir valores obrigatórios ou por omissão para as preferências. Pode também utilizar o comando `gconftool-2` num script para definir os valores de várias preferências. Para mais informações sobre o comando `gconftool-2` e as opções disponibilizadas por este, consulte gconf-0.

### Reduzir a Utilização de CPU

Esta secção descreve preferências que pode definir para reduzir a utilização de CPU feita pelo Ambiente de Trabalho GNOME.

#### Utilizar as Opções de Temas que Requerem Menos Recursos de CPU

Algumas das opções dos temas para as molduras das janelas lêem imagens para desenhar as molduras. Outras opções utilizam técnicas mais simples para desenhar a moldura das janelas.

A opção de moldura de janelas Crux lê ficheiros de imagem, e pode ser lento em sistemas com recursos de CPU limitados. Para reduzir a utilização de CPU, utilize uma das seguintes opções de moldura das janelas:

- Atlanta

- Esco

As seguintes opções de moldura de janelas também utilizam menos recursos de CPU que a Crux:

- AgingGorilla

- Bright

- Metabox

Metabox não funciona bem com opções de inversão de cores tais como HighContrastInverse. Utilize o Atlanta com opções de inversão de cores.

Para alterar a opção de tema da moldura das janelas, execute o seguinte comando:

    gconftool-2 \
    --type string \
    --set /apps/metacity/general/theme nome-da-opção

Por exemplo, para utilizar Atlanta, execute o seguinte comando:

    gconftool-2 \
    --type string \
    --set /apps/metacity/general/theme Atlanta

Em alternativa, os utilizadores podem utilizar a ferramenta de preferências Theme para seleccionarem a opção adequada.

Pode utilizar o Visualizador de Temas do Metacity para medir o desempenho de uma opção de moldura de janelas, e para antever a opção. Para iniciar o Visualizador de Temas do Metacity, utilize o seguinte comando:

    metacity-theme-viewer nome-da-opção

Por exemplo, para medir o desempenho do Atlanta e antever o Atlanta, execute o seguinte comando:

    metacity-theme-viewer Atlanta

#### Reduzir a Utilização de CPU Desligando a Apresentação de Ícones nos Menus

Alguns itens nos menus apresentam um ícone ao lado do item. Para desactivar esta funcionalidade, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /desktop/gnome/interface/menus_have_icons false

Em alternativa, os utilizadores podem utilizar a ferramenta de preferências Menus & Barras de Ferramentas para desactivar a opção Apresentar ícones nos menus.

#### Reduzir a Utilização de CPU Desligando o Ecrã de Logotipo

Por omissão, quando os utilizadores iniciam uma sessão, é apresentado um ecrã de logotipo. Nesse ecrã são apresentados ícones durante o início da sessão. Poderá desligar o ecrã de logotipo para reduzir a utilização de CPU durante o início de sessão.

Para desligar o ecrã de logotipo, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /apps/gnome-session/options/show_splash_screen false

Em alternativa, os utilizadores podem utilizar a ferramenta de preferências Sessões para desactivar a opção Apresentar ecrã de logotipo ao iniciar sessão.

#### Reduzir a Utilização de CPU Desligando a Animação de Painel

Quando os utilizadores escondem ou revelam painais, os painéis podem revelar-se ou esconder-se com uma animação. Para desligar a animação de painel, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /apps/panel/global/enable_animations false

Em alternativa, os utilizadores podem utilizar a ferramenta de preferências Painel para desactivar a opção Animação de gavetas e painéis.

#### Melhorar o Desempenho do Gestor de Ficheiros

O gestor de ficheiros Nautilus inclui algumas funcionalidades que pode alterar para melhorar o seu desempenho.

##### Alterar Preferências de Desempenho

O gestor de ficheiros inclui preferências relacionadas com o seu desempenho. Cada preferência de desempenho pode ter um de três valores. Os valores são descritos na tabela seguinte:

Valor | Descrição
`always` | Realiza a acção para ficheiros locais e ficheiros que residem noutros sistemas de ficheiros.
`local_only` | Realiza a acção apenas para ficheiros locais. Quando define uma preferência de desempenho como `local_only`, reduz a utilização de CPU.
`never` | Nunca realiza a acção. Quando define uma preferência de desempenho para "never", tanto a utilização de CPU como o tráfego de rede são reduzidos.

A tabela seguinte descreve as preferências de desempenho do gestor de ficheiros. Para o melhor desempenho, defina os valores das preferências como `never`.

Preferência | Descrição
`show_icon_text` | Especifica quando antever o conteúdo de ficheiros de texto no ícone que representa o ficheiro. Para nunca antever o conteúdo dos ficheiros de texto, execute o seguinte comando:
    gconftool-2 \
    --type string \
    --set /apps/nautilus/preferences/show_icon_text never
Em alternativa, os utilizadores podem realizar os seguintes passos: Seleccionar Editar Preferências numa janela do gestor de ficheiros, depois seleccionar Antever. Seleccionar uma opção para a preferência Apresentar texto nos ícones.
`show_directory_item_counts` | Especifica quando apresentar o número de itens nas pastas. Para nunca apresentar o número de itens nas pastas, execute o seguinte comando:
    gconftool-2 \
    --type string \
    --set /apps/nautilus/preferences/show_directory_item_counts never
Em alternativa, os utilizadores podem realizar os seguintes passos: Seleccionar Editar Preferências numa janela do gestor de ficheiros, depois seleccionar Antever. Seleccione uma opção para a preferência Contar o número de itens.
`show_image_thumbnails` | Especifica quando apresentar imagens de amostra dos ficheiros de imagens. Para nunca apresentar as imagens de amostra, execute o seguinte comando:
    gconftool-2 \
    --type string \
    --set /apps/nautilus/preferences/show_image_thumbnails never
Em alternativa, os utilizadores podem realizar os seguintes passos: Seleccionar Editar Preferências numa janela do gestor de ficheiros, depois seleccionar Antever. Seleccione uma opção para a preferência Apresentar amostras.
`preview_sound` | Especifica quando antever o conteúdo de ficheiros de som. Para nunca antever o conteúdo de ficheiros de som, execute o seguinte comando:
    gconftool-2 \
    --type string \
    --set /apps/nautilus/preferences/preview_sound never
Em alternativa, os utilizadores podem realizar os seguintes passos: Seleccionar Editar Preferências numa janela do gestor de ficheiros, depois seleccionar Antever. Seleccione uma opção para a preferência Antever ficheiros de som.

##### Desligar o Painel Lateral, Barra de Ferramentas e Barra de Localização

O gestor de ficheiros inclui preferências que lhe permitem desligar o painel lateral e a barra de ferramentas. Para melhorar o desempenho do gestor de ficheiros, desligue o painel lateral e a barra de ferramentas.

Para desligar o painel lateral, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /apps/nautilus/preferences/start_with_sidebar false

Para desligar a barra de ferramentas, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /apps/nautilus/preferences/start_with_toolbar false

Pode também desligar a barra de localização. Os utilizadores podem utilizar o atalho de teclado Ctrl L para apresentar a barra de localização quando necessária.

Para desligar a barra de localização, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /apps/nautilus/preferences/start_with_location_bar false

##### Desligar a Área de Trabalho

O gestor de ficheiros contém uma preferência que permite aos utilizadores utilizar o Nautilus para gerir a área de trabalho. Pode desactivar a área de trabalho para melhorar o desempenho. No entanto, se desactivar a área de trabalho, não poderá realizar as seguintes acções:

- Utilizar o gestor de ficheiros para alterar o padrão ou cor do fundo da área de trabalho.

- Utilizar objectos da área de trabalho, tais como o Lixo. Os objectos de área de trabalho não são apresentados sobre esta.

Para desactivar a área de trabalho, execute o seguinte comando:

    gconftool-2 \
    --type bool \
    --set /apps/nautilus/preferences/show_desktop false

### Reduzir o Tráfego de Rede do Sistema de Janelas X

Esta secção descreve as preferências que pode definir, no Ambiente de Trabalho GNOME, para reduzir o tráfego de rede do Sistema de Janelas X.

#### Utilizar Opções de Tema que Criem Menos Tráfego de Rede

Os protocolos de ecrã remoto não transferem todos os pixels num bloco de pixels se todos os pixels nesse bloco forem da mesma cor.

Para reduzir o tráfego de rede do Sistema de Janelas X, utilize uma opção de tema de moldura das janelas que utilize cores sólidas. Isto é, utilize uma das seguintes opções de moldura de janela:

- Atlanta

- Esco

Para informações sobre como alterar opções de temas, consulte performance-3.

#### Reduzir o Tráfego de Rede Desligando a Apresentação de Ícones em Menus

Alguns itens nos menus apresentam um ícone ao lado do item. Se o ícone estiver noutro sistema de ficheiros, esta funcionalidade pode aumentar o tráfego de rede do Sistema de Janelas X. Esta funcionalidade pode também aumentar o tráfego de rede do Sistema de Janelas X se os painéis estiverem a ser apresentados numa máquina remota.

Para informações sobre como desligar esta funcionalidade, consulte performance-2.

### Reduzir a Utilização de Cor e Melhorar a Qualidade da Apresentação

A maioria dos computadores modernos suportam 24-bit de cores, isto é, 16.777.216 cores. No entanto, muitos utilizadores ainda utilizam sistemas que apenas suportam 8-bit de cores, isto é, 256 cores.

O Ambiente de Trabalho GNOME utiliza uma paleta de cores segura para web. Esta paleta é uma multi-usos com 216 cores, desenhada para optimizar a utilização de cores em sistemas que suportam 8-bit de cores. No entanto, alguns componentes visuais do Ambiente de Trabalho GNOME foram desenhados para sistemas que suportam 24-bit de cores.

Os seguintes problemas de visualização podem ocorrer em sistemas que suportem 8-bit de cores.

- Janelas, ícones, e imagens de fundo poderão parecer granuladas. Muitos temas, imagens de fundo, e ícones utilizam cores que não constam na paleta segura para web. As cores que não constam nessa paleta são substituídas pelo equivalente mais semelhante ou uma aproximação. Esta utilização de cores de substituição causa a aparência granulada.

- Aplicações que não utilizam a paleta de cores seguras para web têm menos cores disponíveis. Podem ocorrer erros nas cores. Algumas cores podem não ser visíveis no interface de utilizador da aplicação. Algumas aplicações poderão terminar em erro se a aplicação for incapaz de alocar cores.

- Poderá ocorrer a intermitência de cores quando o utilizador alterna entre aplicações que utilizam a paleta de cores segura para web e aplicações que não utilizam esta paleta. As aplicações que não utilizam esta paleta poderão utilizar um mapa de cores personalizado. Quando este mapa é utilizado, outros componentes visuais poderão perder cores, e depois tornarem-se invisíveis.

As secções seguintes descrevem como optimizar a aparência do Ambiente de Trabalho GNOME para sistemas que apenas suportam 8-bit de cores.

#### Utilizar Opções de Tema que Utilizam a Paleta de Cores Segura para Web

Algumas opções de temas de moldura das janelas utilizam cores que constam na paleta de cores seguras para web. Bright e Esco utilizam cores desta paleta. Bright e Esco não têm a aparência granulada de outras opções de moldura de janelas em ecrãs com 8-bit de cores. Utilize o Bright ou o Esco para a melhor apresentação de cores nos modos visuais de 8-bit de cores.

Para informações sobre como alterar opções de temas, consulte performance-3.

#### Reduzir a Utilização de Cores Desligando a Apresentação de Ícones em Menus

Alguns itens nos menus apresentam um ícone ao lado do item. Se o ícone contiver cores que não constam da paleta de cores seguras para web, esta funcionalidade pode aumentar o número de cores utilizadas.

Para informações sobre como desligar esta funcionalidade, consulte performance-2.

#### Reduzir a Utilização de Cores Desligando o Ecrã de Logotipo

Pode desligar o ecrã de logotipo para tornar disponíveis mais cores para o Ambiente de Trabalho GNOME e as suas aplicações.

Para informações sobre como desligar o ecrã de logotipo, consulte performance-6.

#### Reduzir a Utilização de Cores Utilizando uma Cor Sólida para o Fundo

Utilize uma cor sólida para o fundo da área de trabalho. A utilização de uma cor sólida reduz o número de cores utilizadas pelo Ambiente de Trabalho GNOME.

Para definir uma cor sólida como fundo, execute os seguintes comandos:

    gconftool-2 \
    --type string \
    --set /desktop/gnome/background/picture_options none

    gconftool-2 \
    --type string \
    --set /desktop/gnome/background/color_shading_type solid

    gconftool-2 \
    --type string \
    --set /desktop/gnome/background/primary_color #hexadecimal-da-cor

Em alternativa, os utilizadores podem utilizar a ferramenta de preferências Fundo da Área de Trabalho para seleccionarem uma cor para o fundo.

## Desactivar Funcionalidades do Ambiente de Trabalho GNOME

Este capítulo descreve como desactivar certas funcionalidades do Ambiente de Trabalho GNOME.

### Introdução à Desactivação de Funcionalidades do Ambiente de Trabalho GNOME

O Ambiente de Trabalho GNOME inclui funcionalidades que pode utilizar para restringir o acesso a determinadas funcionalidades do GNOME. A desactivação de funcionalidades é útil em várias situações onde deseje limitar as acções que os utilizadores podem realizar no computador. Por exemplo, pode desejar impedir operações de linha de comando num computador que esteja disponível ao público numa exposição. O desactivar de funcionalidades é também conhecido como trancar funcionalidades.

Pode definir chaves GConf para desactivar funcionalidades. Para informações sobre como definir chaves GConf, consulte gconf-0. Pode também utilizar a aplicação Editor de Configuração para definir chaves GConf na fonte de configuração de um utilizador. Para mais informações sobre a aplicação Editor de Configuração, consulte o Manual do Editor GConf.

### Definição de Trancar Manualmente

#### Desactivar o Trancar de Ecrã e Terminar Sessão

Para desactivar as funcionalidades de trancar o ecrã e terminar a sessão, defina a chave `/apps/panel/global/disable_lock_screen` e a chave `/apps/panel/global/disable_log_out` como `true`.

Quando desactiva as funcionalidades de trancar o ecrã e terminar sessão, são removidos dos painéis os seguintes itens:

- Itens de menu Trancar Ecrã e Terminar a Sessão de `user` do Menu Principal.

- Itens de menu Trancar e Terminar Sessão no menu Adicionar ao Painel Acções. Para abrir este menu, clique com o botão direito sobre um espaço vazio de um painel, depois seleccione Adicionar ao Painel Acções.

- Itens de menu Trancar Ecrã e Terminar a Sessão de `user` do menu Acções na applet de Barra de Menu.

Adicionalmente, todos os botões Trancar Ecrã e Terminar Sessão nos painéis estão desactivados.

#### Desactivar Operações na Linha de Comando

Para desactivar operações a partir de uma linha de comando, defina a chave `/desktop/gnome/lockdown/disable_command_line` como `true`.

Quando desactiva as operações a partir de uma linha de comando, ocorrem as seguintes alterações no interface de utilizador:

- O item de menu Executar Aplicação é removido dos seguintes menus:

  - Menu Principal

  - Submenu Acções no menu Adicionar ao Painel

  - Menu Acções na applet de Barra de Menu

- Todos os botões Executar em painéis são desactivados.

Para desactivar as operações a partir da linha de comando, terá também de remover os itens de menu que iniciem aplicações de consola. Por exemplo, poderá querer remover os itens de menu que contenham os seguintes comandos:

- O comando Consola GNOME, isto é `/usr/bin/gnome-terminal`

- `/usr/bin/xterm`

- `/usr/bin/setterm`

Os itens são removidos dos seguintes menus:

- Menu Principal

- Adicionar ao Painel Iniciar do menu

Para desactivar operações a partir da linha de comando, terá também de desactivar a applet Linha de Comando. Para desactivar a applet Linha de Comando, adicione a applet à chave `/apps/panel/global/disabled_applets`. Ao desactivar a applet Linha de Comando, esta é removida do Menu Principal e do menu Adicionar ao Painel Utilitários.

#### Desactivar a Configuração do Painel

Para desactivar a configuração do painel, defina a chave `/apps/panel/global/locked_down` como `true`.

Quando desactiva a configuração do painel, ocorrem as seguintes alterações no interface de utilizador:

- Os itens seguintes são removidos do menu de contexto do painel, e do menu de contexto da gaveta:

  - Adicionar ao Painel

  - Remover Este Painel

  - Propriedades

  - Novo Painel

- O menu de contexto dos iniciadores é desactivado.

- Os itens seguintes são removidois do menu de contexto da applet:

  - Remover Do Painel

  - Trancar

  - Mover

- O menu de contexto do Menu Principal é desactivado.

- A funcionalidade de arrasto do iniciador é desactivada, pelo que os utilizadores não poderão arrastar iniciadores de, ou para, os painéis.

- A funcionalidade de arrasto do painel é desactivada, pelo que os utilizadores não poderão arrastar os painéis para novas localizações.

### Editor de Restrições

A partir do GNOME 2.14, passou a estar incluído um editor gráfico das políticas de restrições, o Pessulus, para facilitar a tarefa de desactivação de funcionalidades do ambiente de trabalho.

#### Introdução

Para iniciar o editor de restrições:

- Click the System Administration Lockdown Editor

- Execute o comando `pessulus` numa consola.

É apresentada uma janela com vários separadores. Cada um dos separadores representa uma categoria diferente de definições do ambiente de trabalho que podem ser desactivadas. Na secção seguinte, será discutida cada categoria e disponibilizada uma breve descrição de cada funcionalidade que pode ser desactivada.

#### Desactivar Funcionalidades

Para desactivar uma funcionalidade, certifique-se de que a caixa de selecção ao lado da descrição da funcionalidade está activada. A maioria das definições tomam efeito imediatamente, mas algumas irão requerer que a aplicação seja reiniciada para que tenham efeito.

Quando o pessulus é iniciado, tenta obter uma ligação à fonte de configurações obrigatórias do GConf. O endereço desta fonte de configuração é `xml:merged:`$prefix`/etc/gconf/gconf.xml.mandatory`. Se o utilizador que estiver a executar o pessulus tiver acesso a esta fonte de configuração, será apresentado um ícone de cadeado ao lado da caixa de selecção de cada uma das opções. Clicar no cadeado irá alternar se a definição é ou não obrigatória. Se a definição for obrigatória, os utilizadores normais não a poderão alterar ou sobrepor. Se o utilizador que está a executar o pessulus não tiver acesso à fonte de configuração obrigatória, o ícone de cadeado não irá ser visível. Neste caso, todas as funcionalidades desactivadas apenas serão armazenadas na fonte de configuração do utilizador e poderão ser alteradas mais tarde utilizando outras ferramentas tais como o gconf-editor ou gconftool-2. Para mais informações sobre o GConf e fontes de configurações obrigatórias, consulte gconf-26.

As subsecções seguintes irão apresentar uma breve descrição das definições que podem ser desactivadas em cada categoria.

Dependendo das aplicações que tiver instaladas, poderá ver menos categorias do que as descritas nesta secção.

##### Geral

Desactivar a linha de comando

- Impedir o utilizador de aceder à consola ou especificar uma linha de comando a ser executada. Por exemplo, isto irá desactivar o acesso ao diálogo de painel "Executar Aplicação".

Desactivar a impressão

- Impedir o utilizador de imprimir. Por exemplo, desactivaria o acesso ao diálogo "Imprimir" de todas as aplicações.

Desactivar a configuração de impressora

- Impedir o utilizador de alterar as configurações da impressora. Por exemplo, desactivaria o acesso aos diálogos de "Configuração de Impressão" de todas as aplicações.

Desactivar a gravação em disco

- Impedir o utilizador de gravar ficheiros em disco. Por exemplo, desactivaria o acesso aos diálogos "Gravar como" de todas as aplicações.

##### Painel

Trancar os painéis

- Se verdadeiro, o painel não permitirá quaisquer alterações à configuração do painel. No entanto applets individuais poderão ter de ser trancadas separadamente. O painel terá de ser reiniciado para que esta alteração tenha efeito.

Desactivar a saída forçada

- Se verdadeiro, o painel não permitirá que um utilizador force uma aplicação a terminar removendo o acesso ao botão de forçar a saída.

Desactivar o trancar de ecrã

- Se verdadeiro, o painel não permitirá que um utilizador tranque o seu ecrã removendo o acesso de menu às entradas de trancar ecrã.

Desactivar o terminar sessão

- Se verdadeiro, o painel não permitirá que um utilizador termine uma sessão removendo o acesso de menu às entradas de terminar sessão.

##### Navegador Web Epiphany

Desactivar o sair

- Utilizador não possui permissões para fechar o Epiphany.

Desactivar URL arbitrário

- Desactivar a possibilidade do utilizador introduzir um URL no Epiphany.

Desactivar a edição de marcadores

- Desactivar a possibilidade do utilizador adicionar ou editar os seus marcadores.

Desactivar o histórico

- Desactivar toda a informação de histórico desactivando o botão de retroceder e avançar, não permitindo o acesso ao diálogo de histórico e escondendo a lista de marcadores mais utilizados.

Desactivar controlo de cor javascript

- Desactivar controlo JavaScript sobre a cor da janela.

Desactivar a edição da barra de ferramentas

- Desactivar a possibilidade do utilizador editar as barras de ferramentas.

Forçar o modo de ecrã completo

- Tranca o Epiphany em modo de ecrã completo.

Esconder a barra de menu

- Por omissão, esconde a barra de menu. A barra de menu continua acessível utilizando F10.

Desactivar protocolos inseguros

- Inactiva a leitura de conteúdo através de protocolos inseguros. Protocolos seguros são http e https.

##### Protector de Ecrã GNOME

Trancar ao activar

- Definir como VERDADEIRO para trancar o ecrã quando o protector de ecrã se activar.

Allow log out

- Definir como VERDADEIRO para disponibilizar uma opção no diálogo de destrancar para terminar sessão após uma espera. A Espera é definida na chave "logout_delay".

Permitir trocar de utilizador

- Definir como VERDADEIRO para disponibilizar uma opção no diálogo de destrancar para alternar para outra conta de utilizador.

## Directórios Escondidos

Este apendice descreve os directórios escondidos que o Ambiente de Trabalho GNOME adiciona aos directórios pessoais dos utilizadores.

Um directório escondido é um que tem um nome iniciado por um ponto (.). appendixa-TBL-2 descreve os directórios escondidos que o Ambiente de Trabalho GNOME adiciona aos directórios pessoais dos utilizadores.

## Directórios Escondidos nos Directórios Pessoais dos Utilizadores

Directório | Descrição
`.config` | Esta é a localização por omissão da variável de ambiente `XDG_CONFIG_HOME`, caso esta não esteja definida. Os menus definidos pelo utilizador podem ser criados em `menus/applications.menu`.
`.fonts` | Contém fontes exclusivamente para um determinado utilizador. Quando um utilizador instala uma fonte arrastando-a para o URI `fonts:///` no nautilus, a fonte é copiada para esta localização.
`.esd_auth` | Contém a cookie de autenticação do daemon de som GNOME. O daemon de som GNOME é o Enlightened Sound Daemon (ESD). NOTA: Este é um ficheiro, não um directório.
`.gconf` | Contém a fonte de configuração GConf do utilizador. Quando o utilizador define uma preferência, a nova informação de preferência é adicionada a esta localização.
`.gconfd` | Contém os seguintes detalhes do daemon GConf: Informação de configuração. Informação de restrições de objectos que são referenciados por uma Referência Inter-operável de Objecto (IOR). Informação de estado de objectos que são referenciados por uma IOR.
`.gnome` | Contém dados de aplicação específicos do utilizador que não são armazenados no repositório do GConf. NOTA: este directório é obsoleto e apenas é utilizado por aplicações do GNOME 1.x.
`.gnome2` | Contém dados de aplicação específicos do utilizador que não são armazenados no repositório do GConf. Por exemplo, este directório contém o seguinte: Informação de atalhos de teclado. Informação de localização das janelas. Ficheiros de definição dos iniciadores dos painéis. Este directório poderá também conter subdirectórios onde são armazenados dados específicos de aplicações.
`.gnome2-private` | Ignore este directório. Ele não tem qualquer propósito, à data de elaboração deste guia.
`.local/share` | Esta é a localização por omissão da variável de ambiente `XDG_DATA_HOME`, se não estiver definida. Os iniciadores criados pelo utilizador poderão estar no subdirectório `applications`. Tipos mime definidos pelo utilizador poderão ser criados em `mime/packages/Overrides.xml`.
`.metacity` | Contém dados de sessão do gestor de janelas Metacity.
`.nautilus` | Contém dados do gestor de ficheiros que são específicos do utilizador. Por exemplo, este directório poderá conter o seguinte: Metadados sobre os directórios com que o utilizador trabalha. Emblemas Nautilus adicionados pelo utilizador. Imagens de fundo do Nautilus.
`.themes` | Contém opções de temas de controlos, de moldura de janelas, e ícones que o utilizador tenha adicionado. O utilizador pode adicionar temas a partir da ferramenta de preferências Tema.
`.thumbnails` | Contém imagens de amostra do utilizador. As imagens de amostra são utilizadas no gestor de ficheiros. O gestor de ficheiros contém uma preferência que o utilizador pode seleccionar para parar de gerar imagens de amostra.

## Nota de Segurança sobre a Configuração de Impressoras SMB

Este apêndice apresenta uma nota de segurança relacionada com a configuração de impressoras em partilhas de rede Windows.

Partilhas de rede Windows são também referidas como partilhas Samba ou SMB. Quando configura uma impressora numa partilha SMB, tem de introduzir um nome de utilizador e senha para a fila de impressão.

O nome de utilizador e senha para a fila de impressão são armazenados como texto não-encriptado no ficheiro `/etc/cups/printers.conf`. Este ficheiro tem permissões de leitura para utilizadores com privilégios de root, pelo que qualquer utilizador com estes privilégios poderá ler o nome de utilizador e senha da fila de impressão.

Para reduzir o impacto de possíveis violações de segurança, certifique-se de que o utilizador e senha necessários para aceder à fila de impressão apenas são utilizados para esse propósito. Isto garante que qualquer violação de segurança será restrita à utilização indevida da fila de impressão.

## Glossário

ficheiro `.desktop`
ficheiro `.directory`
ficheiro `.omf`
registo de aplicações

O registo de aplicações é uma colecção de ficheiros de definição de iniciadores que registam aplicações. A localização do registo de aplicações do Ambiente de Trabalho GNOME é `$XDG_DATA_DIRS:$XDG_DATA_HOME/applications/`.

ficheiro de definição de iniciador

Um ficheiro de dados que disponibiliza informação sobre um item num menu. O ficheiro de definição de iniciador especifica os detalhes do item tais como o nome, o comando a executar, o ícone, etc. Ficheiros de definição de iniciador têm a extensão `.desktop`.

ficheiro de definição de directório

Um ficheiro de dados que disponibiliza informação sobre um menu. O ficheiro de definição de directório especifica detalhes tais como o nome do menu, a sua dica, e o ícone que o representa. Os ficheiros de definição de directório têm a extensão `.directory`.

Fonte de configuração GConf

Uma localização de armazenamento no repositório GConf. Por exemplo, `xml:readonly:/etc/gconf/gconf.xml.defaults`.

Chave de preferência GConf

Um elemento no repositório GConf que corresponde a uma preferência numa aplicação. Por exemplo, a chave `/apps/gnome-session/options/show_splash_screen` corresponde à opção Show splash screen on login na ferramenta de preferências Sessões.

Ficheiro de caminhos Gconf

Um ficheiro que lista as fontes de configuração GConf, e a ordem pela qual procurá-las.

Esquema GConf

Um termo agregador para uma chave e um objecto de esquema.

Ficheiro de definição de esquema GConf

Um ficheiro de definição de esquema GConf lista as chaves de uma aplicação específica, e define as características das chaves. Os esquemas GConf são gerados a partir de ficheiros de definição de esquema. Estes ficheiros têm a extensão `.schemas`.

Chave de esquema GConf

Uma chave que armazena um objecto de esquema para uma chave de preferências. Por exemplo, `/schemas/desktop/gnome/interface/font_name` é uma chave de esquema para a chave de preferência `/desktop/gnome/interface/font_name`.

Objecto de esquema GConf

Um elemento numa fonte de configuração que contém informação sobre uma chave de preferência. O objecto de esquema contém informação tal como o valor por omissão da chave de preferência e a documentação da mesma.

padrão glob

Um padrão glob é utilizado para realizar equivalências a um nome de ficheiro utilizando caracteres especiais tais como `*` e `?`. O sistema MIME utiliza padrões glob para atribuir tipos MIME baseados nos nomes dos ficheiros e, mais frequentemente, nas extensões dos ficheiros.

Referência de Objecto Interoperável

Uma Referência de Objecto Interoperável (IOR) é uma expressão que representa uma referência a um objecto CORBA. Uma IOR codifica um nome de máquina e porto para onde podem ser enviadas mensagens para controlar o objecto. A IOR também contém uma chave de objecto para identificá-lo.

regra mágica

Uma regra mágica define o tipo MIME de um ficheiro especificando dados de texto ou binários a procurar no início desse ficheiro. Deslocações para realizar a procura são definidas numa regra mágica.

Ficheiros de definição de menus

Ficheiros de definição de menu definem a hierarquia de menus que é utilizada na barra de menu do GNOME.

MIME

Extensão Multi-propósito de Correio na Internet

ficheiro XML de origem MIME

Um ficheiro XML de origem MIME define como são os tipos MIME resolvidos para diferentes tipos de ficheiros. Existem três formas de o fazer: utilizando extensões de ficheiros (padrões glob), regras mágicas ou nomes de espaço XML. Ficheiros XML de origem MIME encontram-se no directório `$XDG_DATA_DIRS:$XDG_DATA_HOME/mime/packages`.

Tipo MIME

Um tipo MIME identifica o formato de um ficheiro. O tipo MIME permite às aplicações lerem o ficheiro. Por exemplo, uma aplicação de correio pode utilizar o tipo MIME `image/png` para detectar que um ficheiro de Gráfico Portável de Rede (PNG) está anexado a uma imagem.

base de dados de tipos MIME

A base de dados de tipos MIME é uma colecção de ficheiros que registam tipos MIME no ambiente de trabalho. A localização da base de dados de tipos MIME é o directório `$XDG_DATA_DIRS:$XDG_DATA_HOME/mime`.

ficheiro OMF

Ficheiro de Arquitectura de Metadados em Código Aberto. Este é o ficheiro que é associado ao ficheiro XML de um manual. O ficheiro OMF contém informação sobre o manual que é utilizada pelo navegador de Ajuda. Os ficheiros OMF têm a extensão `.omf`.

PAM

Módulos Adicionáveis de Autenticação.

protector de ecrã

Um protector de ecrã é uma aplicação que substitui a imagem num ecrã quando este não está a ser utilizado. A aplicação de protecção de ecrã do Ambiente de Trabalho GNOME é o XScreenSaver.

protector de ecrã

Um protector de ecrã é uma aplicação que substitui a imagem num ecrã quando este não está a ser utilizado.

UDP

Protocolo de Datagramas de Utilizador (UDP).

Identificador Uniforme de Recurso.

Um Identificador Uniforme de Recurso (URI) é uma expressão que identifica uma locatização específica num sistema de ficheiros ou na web. Por exemplo, o endereço de uma página web é um URI.

paleta de cores seguras web

A paleta de cores seguras web é uma paleta de 216 cores multi-propósito. Esta está desenhada para optimizar a utilização de cores em sistemas que suportam 8-bit de cor. A paleta de cores seguras web é também designada de paleta de cores Netscape e de cubo de cores Netscape.