<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gnomeversion "2.14">
<!ENTITY manrevision "2.4">
<!ENTITY date "March 2004">
<!ENTITY LEGAL SYSTEM "legal.xml">
<!ENTITY gconf SYSTEM "gconf.xml">
<!ENTITY menustructure SYSTEM "menustructure.xml">
<!ENTITY themes SYSTEM "themes.xml">
<!ENTITY fontconfig SYSTEM "fontconfig.xml">
<!ENTITY mimetypes SYSTEM "mimetypes.xml">
<!ENTITY screensavers SYSTEM "screensavers.xml">
<!ENTITY sessions SYSTEM "sessions.xml">
<!ENTITY help SYSTEM "help.xml">
<!ENTITY performance SYSTEM "performance.xml">
<!ENTITY lockdown SYSTEM "lockdown.xml">
<!ENTITY appendixa SYSTEM "appendixa.xml">
<!ENTITY appendixb SYSTEM "appendixb.xml">
<!ENTITY gloss SYSTEM "glossary.xml">
]>
<book id="index" lang="ja"> 
  <title>GNOME デスクトップシステム管理ガイド</title> 
  <bookinfo> 
    <abstract role="description">
    <para>GNOME システム管理ガイドは、デスクトップ環境を設定したりユーザ毎にデスクトップを管理する方法についてシステム管理者にいろいいろな情報を提供します。</para>
    </abstract>
	 <copyright> 
		<year>2006</year> 
		<holder>Brent Smith</holder> 
	 </copyright>
	 <copyright> 
		<year>2005</year> 
		<holder>Brent Smith</holder> 
	 </copyright>
	 <copyright> 
		<year>2004</year> 
		<holder>Sun Microsystems</holder> 
	 </copyright>
	 <copyright> 
		<year>2003</year> 
		<holder>Sun Microsystems</holder> 
	 </copyright><copyright><year>2008</year><holder>相花毅 (takeshi.aihana@gmail.com)</holder></copyright><copyright><year>2010</year><holder>松澤 二郎 (matsuzawa.jr@gmail.com)</holder></copyright>

<!-- translators: uncomment this:
  <copyright>
   <year>2002</year>
   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
  </copyright>
-->
	 <publisher role="maintainer"> 
		<publishername>GNOME ドキュメンテーション・プロジェクト</publishername> 
	 </publisher>   <legalnotice id="legalnotice">
	<para>このドキュメントをフリーソフトウェア財団発行の GNU フリー文書利用許諾契約書 (バージョン 1.1 かそれ以降から一つを選択) が定める条件の下で複製、頒布、あるいは改変することを許可する。変更不可部分、表カバーテキスト、裏カバーテキストは存在しない。この利用許諾契約書の複製物は<ulink type="help" url="ghelp:fdl">このリンク</ulink>、またはこの文書と共に配布されている <filename>COPYING-DOCS</filename> というファイルに中に記載されている。</para>
         <para>本ドキュメントは GFDL の下で配布されているその他の GNOME マニュアル集の一部である。これらのドキュメントとは別に本ガイドを別個に配布する場合は、GFDL のセクション６で説明しているように、そのドキュメントに対するライセンスの複製を添付することで実現できる。</para>

	<para>企業は自分達の製品とサービスを区別するために使用する多くの名称は自分たちの登録商標であると主張している。これらの名称が GNOME のドキュメントに表記されていたり、これらの登録商標が GNOME ドキュメンテーション・プロジェクトのメンバに提示している箇所は全部を大文字または最初の文字を大文字にしている。</para>

	<para>DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <orderedlist>
		<listitem>
		  <para>DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND</para>
		</listitem>
		<listitem>
		  <para>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.</para>
		</listitem>
	  </orderedlist></para>
  </legalnotice>

 

	 <authorgroup> 
		<author>
                  <firstname>Brent</firstname>
		  <surname>Smith</surname> 
		  <affiliation> 
			 <orgname>GNOME ドキュメンテーション・プロジェクト</orgname> 
		  </affiliation> 
		</author> 
		<author> 
		  <firstname>Sun</firstname> 
		  <surname>GNOME ドキュメンテーション・プロジェクト・チーム</surname> 
		  <affiliation> 
			 <orgname>Sun Microsystems</orgname> 
		  </affiliation> 
		</author> 
	 </authorgroup>

	 <revhistory>
		<revision> 
		  <revnumber>デスクトップのシステム管理ガイド (GNOME 2.14 以降) V2.4</revnumber> 
		  <date>2004年3月</date> 
		  <revdescription> 
			 <para role="author">GNOME ドキュメンテーション・プロジェクト</para> 
			 <para role="publisher">GNOME ドキュメンテーション・プロジェクト</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>デスクトップのシステム管理ガイド (GNOME 2.6 版) V2.3</revnumber> 
		  <date>2004年3月</date> 
		  <revdescription> 
			 <para role="author">Sun Microsystems</para> 
			 <para role="publisher">GNOME ドキュメンテーション・プロジェクト</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>デスクトップのシステム管理ガイド (GNOME 2.4 版) V2.2</revnumber> 
		  <date>2003年9月</date> 
		  <revdescription> 
			 <para role="author">Sun Microsystems</para> 
			 <para role="publisher">GNOME ドキュメンテーション・プロジェクト</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>デスクトップのシステム管理ガイド (GNOME 2.2 版) V2.1</revnumber> 
		  <date>2003年1月</date> 
		  <revdescription> 
			 <para role="author">Sun Microsystems</para> 
			 <para role="publisher">GNOME ドキュメンテーション・プロジェクト</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>デスクトップのシステム管理ガイド (GNOME 2.0 版) V2.0</revnumber> 
		  <date>2002年12月</date> 
		  <revdescription> 
			 <para role="author">Sun Microsystems</para> 
			 <para role="publisher">GNOME ドキュメンテーション・プロジェクト</para> 
		  </revdescription> 
		</revision> 
	 </revhistory> 
	 <releaseinfo>本文書は GNOME デスクトップのバージョン 2.14 を対象に記述してあります。</releaseinfo> 
	 <legalnotice> 
		<title>フィードバック</title> 
		<para>GNOME デスクトップやこの文書に対するバグの報告や提案については「<ulink type="help" url="ghelp:user-guide?feedback">ユーザ・ガイドにあるフィードバック</ulink>」にある説明に従ってください。</para>
	 </legalnotice> 
  </bookinfo>
<chapter id="gconf-0">
  <title>GConf の使い方</title>
  <highlights>
    <para>この章では <application>GConf</application> を使ってユーザの設定情報を管理する方法について説明します。</para>
  </highlights>
  <sect1 id="gconf-1">
    <title>GConf について</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <para><application>GConf</application> は GNOME デスクトップを利用するユーザの設定情報を管理する煩わしさから解放してくれます。この <application>GConf</application> を利用することでシステム管理者は次に示すようなことを実現できます:</para>
    <itemizedlist>
      <listitem>
        <para>すべてのユーザに対し、特定の設定項目に変更不可の値を強制できる (このようにしてユーザが特定の設定を更新できるか否かをシステム管理者側から制御できるようになっている)</para>
      </listitem>
      <listitem>
        <para>すべてのユーザに対し、特定の設定項目にデフォルト値 (既定値) を指定できる</para>
      </listitem>
      <listitem>
        <para>設定ファイルの中で指定されている設定項目に対して推奨値を使用できる</para>
      </listitem>
      <listitem>
        <para>設定項目毎の説明を読むことができる</para>
      </listitem>
    </itemizedlist>
    <para>さらに <application>GConf</application> は、設定項目の値が変更されたらその旨を (ローカルまたはネットワーク越しの) アプリケーションに通知できます。このようにして設定項目の値を変更すると、その設定を利用するすべてのアプリケーションに対して変更内容が即座に適用されます。</para>
    <para><application>GConf</application> は次に示すようなコンポーネントから構成されています:</para>
    <itemizedlist>
      <listitem>
        <para>ユーザ設定を格納するリポジトリ</para>
      </listitem>
      <listitem>
        <para><command>gconfd-2</command> というデーモン (常駐型プログラム)</para>
      </listitem>
      <listitem>
        <para><command>gconftool-2</command> というコマンドライン・ツール</para>
      </listitem>
    </itemizedlist>
  </sect1>
  <sect1 id="gconf-24">
    <title>GConf のリポジトリ</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>repository</secondary>
    </indexterm>
    <para><application>GConf</application> リポジトリの中に格納されている設定情報はキーとそれに対応付けられた値のペアとしてそれぞれ表現されます。<firstterm>GConf の設定キー</firstterm>はリポジトリを構成する要素の１つであり、アプリケーションが持つ任意の設定の１つに相当します。例えば <systemitem>/apps/gnome-session/options/show_splash_screen</systemitem> という設定キーは、<application>セッション</application>という設定ツールの<guilabel>ログイン時にスプラッシュスクリーンを表示する</guilabel>というオプションに相当します。但し、<application>GConf</application> のリポジトリに格納されているすべての設定キーが GNOME デスクトップのユーザ・インタフェースに含まれているというわけではありません。例えば<application>パネル</application>という設定ツールには <systemitem>/apps/panel/global/tooltips_enabled</systemitem> というキーに対応したオプションはありません。</para>
    <para>このリポジトリの実体は単にディレクトリ階層を持つファイルシステムです。リポジトリには次に示す情報が格納されています:</para>
    <itemizedlist>
      <listitem>
        <para><application>GConf</application> のリポジトリを利用しているアプリケーションに相当するディレクトリ (例えば、<application>metacity</application> というウィンドウ・マネージャ向けに <systemitem>/apps/metacity</systemitem> というディレクトリが存在する)</para>
      </listitem>
      <listitem>
        <para>設定項目のカテゴリに相当するサブディレクトリ (例えば、一般的な設定項目に対応する <systemitem>/apps/metacity/general</systemitem> というディレクトリが存在する)</para>
      </listitem>
      <listitem>
        <para>サブディレクトリ毎に、設定キーの並びと設定キーに関する情報を格納した特別なファイル (例えば、<systemitem>/system/http_proxy</systemitem> というディレクトリには HTTP プロキシの設定に関連する設定キーについての情報を格納したファイルが１つ存在する)</para>
      </listitem>
      <listitem>
        <para>設定キーのすべてを説明したファイルを格納する <systemitem>/schemas</systemitem> というディレクトリ</para>
      </listitem>
    </itemizedlist>
    <para>設定キーは基本的に文字列とか整数値、あるいは複数の文字列や整数値を要素とするリストのような値を持ちます。リポジトリの中に格納される設定キーの書式は、そのリポジトリを読み込む際に使用するバックエンド・モジュールに依存します。次は、バックエンド・モジュールとして拡張マークアップ言語の XML (<firstterm>Extensible Markup Language</firstterm>) を使用した際の <systemitem>/desktop/gnome/interface/font_name</systemitem> という設定キーの書式の例です:</para>
    <programlisting><![CDATA[<entry name="font_name" mtime="1038323555" muser="user123" type="string">
<stringvalue>Sans 10</stringvalue></entry>]]></programlisting>
    <note>
      <para>本ドキュメントで任意の設定キーを参照する際の表記は、キーの名前にそのパス名を追加するものとします。例えば、<systemitem>/desktop/gnome/interface</systemitem> というサブディレクトリの中に格納された <systemitem>font_name</systemitem> という設定キーは <systemitem>/desktop/gnome/interface/font_name</systemitem> と表記します。</para>
    </note>
    <sect2 id="gconf-26">
      <title>GConf の設定ソース</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>configuration sources</secondary>
      </indexterm>
      <para><application>GConf</application> のリポジトリには「<firstterm>設定ソース</firstterm>」と呼ばれる設定情報を格納する場所が含まれます。いろいろな設定ソースが <firstterm>GConf のパス・ファイル</firstterm>の中に記述されています。<application>GConf</application> のパス・ファイルは <systemitem>/etc/gconf/<replaceable>GConf のメジャー・バージョン</replaceable>/path</systemitem> です。ユーザはそれぞれ１個のパス・ファイルを所有します。パス・ファイルはいろいろな設定ソースに対して次のような情報を指定します:</para>
      <itemizedlist>
        <listitem>
          <para>リポジトリの内容を読む際に使用するバックエンド・モジュール</para>
        </listitem>
        <listitem>
          <para>リポジトリを読み書きする権限</para>
        </listitem>
        <listitem>
          <para>リポジトリ自身の場所</para>
        </listitem>
      </itemizedlist>
      <para>さらに <application>GConf</application> のパス・ファイルには <systemitem>include</systemitem> 命令を含めることが可能になっています。<application>GConf</application> のパス・ファイルのデフォルトは次のような情報が格納されています:</para>
      <programlisting>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</programlisting>
      <para><application>GConf</application> が設定値を検索する際、<application>GConf</application> はパス・ファイルで指定した順番で設定ソースを読み込みます。次の表にパス・ファイルの中にある設定ソースの詳細を示します:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colwidth="31.29*"/>
          <colspec colwidth="68.71*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>設定ソース</para>
              </entry>
              <entry>
                <para>説明</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top">
                <para>変更不可の設定</para>
              </entry>
              <entry valign="top">
                <para>この設定ソースは読み込み専用の権限になっている (ユーザはこのソースの中にある値を上書きすることはできないので、設定ソースの中にある設定項目は強制的に適用される)</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>ユーザ向けの設定</para>
              </entry>
              <entry valign="top">
                <para>この設定ソースはユーザのホームにある <filename>.gconf</filename> というフォルダに格納される (ユーザが何か設定項目を指定すると、新しい設定情報がこの場所に追加される)</para>
                <para><application>設定エディタ</application>を使ってユーザの設定ソースを変更できる</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>デフォルト</para>
              </entry>
              <entry valign="top">
                <para>この設定ソースにはデフォルトで適用される設定情報が含まれている</para>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>パス・ファイルに記述されている設定ソースは変更不可の設定項目がユーザ向けの設定項目を上書きするような並びになっており、さらにユーザ向けの設定項目がデフォルトの設定項目を上書きするような並びになっています。すなわち、<application>GConf</application> は次に示すような優先順位で設定項目を適用することになります:</para>
      <orderedlist>
        <listitem>
          <para>変更不可の設定</para>
        </listitem>
        <listitem>
          <para>ユーザが指定した設定</para>
        </listitem>
        <listitem>
          <para>デフォルトの設定</para>
        </listitem>
      </orderedlist>
      <para>システム管理者ならば、<application>GConf</application> のパス・ファイルの中で <systemitem>include</systemitem> 命令を使って他の設定ソースを指定できます。</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colwidth="50*"/>
          <colspec colwidth="50*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>include した設定ソース</para>
              </entry>
              <entry>
                <para>説明</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top">
                <para>
                  <filename>/etc/gconf/2/local-mandatory.path</filename>
                </para>
              </entry>
              <entry valign="top">
                <para>特定のシステムに対して変更不可の設定項目を格納する際は、この設定ソースを利用する</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>
                  <filename>$(HOME)/.gconf.path</filename>
                </para>
              </entry>
              <entry valign="top">
                <para>ホーム・フォルダ配下にある <filename>.gconf.path</filename> というファイルの中に設定ソースの場所を指定する</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>
                  <filename>/etc/gconf/2/local-defaults.path</filename>
                </para>
              </entry>
              <entry valign="top">
                <para>特定のシステムに対するデフォルトの設定項目を格納する際は、この設定ソースを利用する</para>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </sect2>
    <sect2 id="gconf-27">
      <title>GConf スキーマ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>schemas</secondary>
      </indexterm>
      <indexterm>
        <primary>GConf</primary>
        <secondary>schema keys</secondary>
      </indexterm>
      <indexterm>
        <primary>GConf</primary>
        <secondary>schema objects</secondary>
      </indexterm>
      <indexterm>
        <primary>schemas</primary>
        <secondary>説明</secondary>
      </indexterm>
      <indexterm>
        <primary>schemas</primary>
        <secondary>schema keys</secondary>
      </indexterm>
      <indexterm>
        <primary>schemas</primary>
        <secondary>schema objects</secondary>
      </indexterm>
      <para><firstterm>GConf スキーマ</firstterm>は１個の <firstterm>GConf スキーマ・キー</firstterm>と１個の <firstterm>GConf スキーマ・オブジェクト</firstterm>のペアに対する総称です。次の表にスキーマ・キーとスキーマ・オブジェクト並びに特定のキーに対してこれらのアイテムとの関係について示します:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colname="colspec0" colwidth="24.31*"/>
          <colspec colname="colspec1" colwidth="75.69*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>アイテム</para>
              </entry>
              <entry>
                <para>説明</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="colspec0" valign="top">
                <para>設定キー</para>
              </entry>
              <entry colname="colspec1" valign="top">
                <para>アプリケーションの設定に相当する <application>GConf</application> リポジトリの中にある任意の要素を指す</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>スキーマ・キー</para>
              </entry>
              <entry valign="top">
                <para>設定キーに対するスキーマ・オブジェクトを格納したキーを指す</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>スキーマ・オブジェクト</para>
              </entry>
              <entry valign="top">
                <para>設定ソースの中にある要素 (設定キーの情報を格納している) で、次のような情報がある:</para>
                <itemizedlist>
                  <listitem>
                    <para>設定キーを使用するアプリケーションの名前</para>
                  </listitem>
                  <listitem>
                    <para>設定キーで使用する値の型 (例: 整数型、論理型など)</para>
                  </listitem>
                  <listitem>
                    <para>設定キーに対するデフォルトの値</para>
                  </listitem>
                  <listitem>
                    <para>設定キーに関する説明の要約</para>
                  </listitem>
                </itemizedlist>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>次の表に設定キーとスキーマ・キー、スキーマ・オブジェクトの例を示します:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colname="colspec0" colwidth="24.31*"/>
          <colspec colname="colspec1" colwidth="75.69*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>アイテム</para>
              </entry>
              <entry>
                <para>例</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="colspec0" valign="top">
                <para>設定キー</para>
              </entry>
              <entry colname="colspec1" valign="top">
                <para>
                  <systemitem>/desktop/gnome/interface/font_name</systemitem>
                </para>
              </entry>
            </row>
            <row>
              <entry colname="colspec0" valign="top">
                <para>スキーマ・キー</para>
              </entry>
              <entry colname="colspec1" valign="top">
                <para>
                  <systemitem>/schemas/desktop/gnome/interface/font_name</systemitem>
                </para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>スキーマ・オブジェクト</para>
              </entry>
              <entry valign="top">
                <programlisting><![CDATA[<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>]]></programlisting>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>設定キーとスキーマ・キーを関連付けることが可能になっています。例えば、次に示す <systemitem>/desktop/gnome/interface/font_name</systemitem> という設定キーにはスキーマ・キーが１個含まれています:</para>
      <programlisting><![CDATA[<entry name="font_name" mtime="1034873859"
schema="/schemas/desktop/gnome/interface/font_name"/>]]></programlisting>
      <para>設定キーとスキーマ・キーを関連付ける際、その設定はスキーマ・キーのスキーマ・オブジェクトの中で明示されている推奨値を使います。この推奨値はスキーマ・オブジェクトの <sgmltag>&lt;default&gt;</sgmltag> という要素の中に格納されています。デフォルトの設定ソースの中にあるすべての設定キーは、デフォルトでスキーマ・キーに関連付けられています。</para>
      <para>スキーマは、一般的にデフォルトの設定ソースの中に格納されています。</para>
    </sect2>
    <sect2 id="gconf-2">
      <title>GConf のスキーマ定義ファイル</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>schema definition files</secondary>
        <tertiary>introduction</tertiary>
      </indexterm>
      <indexterm>
        <primary>schemas</primary>
        <secondary>schema definition files</secondary>
        <tertiary>introduction</tertiary>
      </indexterm>
      <para>一連のスキーマは<firstterm>スキーマの定義ファイル</firstterm>から生成されます。アプリケーションで使用するすべてのスキーマ・キーは、このファイルの中に定義します。スキーマの定義ファイルは <filename>.schemas</filename> という拡張子を持ちます。</para>
      <para>スキーマの定義ファイルは <filename>/etc/gconf/schemas</filename> というフォルダの中に格納されます。スキーマの定義ファイルを使って新しい設定ソースを作成することも可能です。</para>
      <para>スキーマの定義ファイルの中には、GNOME デスクトップのユーザ・インタフェースと一部密接に関連するものがあります。例えば、<filename>system_http_proxy.schemas</filename> という定義ファイルは<application>ネットワークのプロキシ</application>を設定するツールに設定情報を提供しています。逆に、スキーマ定義ファイルの中には GNOME デスクトップのユーザ・インタフェースとして提供されていない部分に関する設定キーが含まれているものもあります。例えば <systemitem>/apps/panel/global/tooltips_enabled</systemitem> という設定キーに相当するユーザ・インタフェースは提供されていません。</para>
      <para>GNOME デスクトップのユーザ・インタフェースの中には１つ以上のスキーマ定義ファイルから提供されている設定キーを持つものがあります。例えば、<application>キーボード・ショートカット</application>という設定ツールには <filename>panel-global-config.schemas</filename> と <filename>metacity.schemas</filename> という定義ファイルから提供された設定が含まれています。</para>
    </sect2>
  </sect1>
  <sect1 id="gconf-25">
    <title>GConf デーモン</title>
    <indexterm>
      <primary>gconfd</primary>
      <see>GConf デーモン</see>
    </indexterm>
    <indexterm>
      <primary>GConf</primary>
      <secondary>daemon</secondary>
    </indexterm>
    <para><application>GConf</application> デーモンのプロセス名は <command>gconfd-2</command> です。<application>GConf</application> デーモンは設定項目の値が変更された際にその旨をいろいろなアプリケーションに通知します。例えば、<application>外観の設定</application>ツールを使うとツールバーのボタンをアイコンだけ表示するように変更できますが、実際にこの設定ツールでオプションを選択すると、デスクトップ上にあるすべてのアプリケーションのツールバーが即座に更新されます。<application>GConf</application> デーモンはローカル以外にも、ネットワーク経由でも操作できます。</para>
    <para><application>GConf</application> デーモンのインスタンスはユーザ毎に起動されるようになっています。但し、<application>GConf</application> デーモンは認証とかデータの秘匿といった複雑な課題を扱えるような設計にはなっていません。<application>GConf</application> デーモンを起動すると、まず <application>GConf</application> のパス・ファイルを読み込みます。<application>GConf</application> デーモンはアプリケーションと設定ソースとの間のやりとりをすべて管理しています。</para>
    <para>任意のアプリケーションが設定キーに関連付けられた値を要求すると、デーモンは次のような手順で設定ソースの中を検索します:</para>
    <orderedlist>
      <listitem>
        <para>パス・ファイルの中に記述した設定ソースの順番で、設定キーの値を検索する (値が見つかったら、その値を返す)</para>
      </listitem>
      <listitem>
        <para>値が見つからなければ、同様にパス・ファイルの中に記述した設定ソースの順番で、設定キーに相当するスキーマ・キーを検索する</para>
      </listitem>
      <listitem>
        <para>スキーマ・キーが見つかったらスキーマ・キーの値をチェックする</para>
      </listitem>
      <listitem>
        <para>スキーマ・キーの値がスキーマ・オブジェクトであったら、スキーマ・オブジェクトの <sgmltag>&lt;default&gt;</sgmltag> 要素の値を推奨値として返す</para>
      </listitem>
    </orderedlist>
    <para><application>GConf</application> デーモンは設定キーの値をキャッシュしています。通常、アプリケーションはすべてこのキャッシュを利用するようになっているので、設定ソースには１度だけアクセスしておけばよいことになります。</para>
    <para><application>GConf</application> デーモンを強制終了させるには、次のコマンドを実行してください:</para>
    <screen><userinput>gconftool-2 --shutdown</userinput></screen>
  </sect1>
  <sect1 id="gconf-6">
    <title>GConf のコマンドライン・ツール</title>
    <anchor id="gconf-TBL-7"/>
    <indexterm>
      <primary>gconftool-2</primary>
      <see>GConf のコマンドライン・ツール</see>
    </indexterm>
    <indexterm>
      <primary>GConf</primary>
      <secondary>command line tool</secondary>
    </indexterm>
    <para><application>GConf</application> には <command>gconftool-2</command> というコマンドライン・ツールが含まれています。この <command>gconftool-2</command> コマンドを使うと次に示すことを実行できます:</para>
    <itemizedlist>
      <listitem>
        <para>キーの値を指定する</para>
      </listitem>
      <listitem>
        <para>キーの値を表示する</para>
      </listitem>
      <listitem>
        <para>アプリケーションをインストールする際にスキーマの定義からスキーマをインストールする</para>
      </listitem>
    </itemizedlist>
    <para>例えば、次のコマンドは <systemitem>/desktop/gnome</systemitem> というリポジトリの配下に格納されたすべてのキーの値を表示します。</para>
    <screen><userinput>gconftool-2 --recursive-list /desktop/gnome</userinput></screen>
    <para>この下にある一覧は <command>gconftool-2</command> コマンドに指定できるオプションです。これ以外のオプションについて詳細は <ulink url="man:gconftool-2(1)">man:gconftool-2(1)</ulink> をご覧ください。</para>
    <variablelist>
      <title>gconftool-2 コマンドのいろいろなオプション</title>
      <varlistentry>
        <term>
            <option>--all-dirs</option>
        </term>
        <listitem>
          <para>指定したリポジトリの中にあるすべてのサブディレクトリを一覧表示する</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--all-entries</option>
        </term>
        <listitem>
          <para>指定したリポジトリの中にあるすべてのキーの値を表示する</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--config-source=<replaceable>設定ソース</replaceable></option>
        </term>
        <listitem>
          <para>このオプションと次の <option>--direct</option> オプションを一緒に指定すると、使用する設定ソースを指定できる (このオプションを使って設定ソースを指定すると、パス・ファイルの中にあるすべての設定ソースが対象となる)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--direct</option>
        </term>
        <listitem>
          <para>このオプションと前の <option>--config-source</option> オプションを一緒に指定すると、設定ソースに直接アクセスできる (このオプションを使用した場合 <application>GConf</application> サーバを利用しない; このオプションを使用する前に <application>GConf</application> デーモンや <command>gconfd-2</command> が起動されていないことを確認しておくこと)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--dump</option>
        </term>
        <listitem>
          <para>指定した <application>GConf</application> リポジトリの中にあるすべての設定キーの内容を一覧表示する (この一覧にはすべてのキーに対する XML 定義が含まれている; この一覧はすべて <sgmltag>&lt;gconfentryfile&gt;</sgmltag> という要素の中に格納されている)</para>
          <para>例えば、このオプションの出力をリダイレクトすることで、お使いのパネル設定に関連したすべてのキーの一覧をファイルに書き出すことができる (このファイルは <option>--load</option> オプションと一緒に指定する)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--get</option>
        </term>
        <listitem>
          <para>指定した設定キーの値を表示する (指定したスキーマ・キーに対するスキーマ・オブジェクトの要素が持つ値も表示する)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--help</option>
        </term>
        <listitem>
          <para><command>gconftool-2</command> コマンドに関するヘルプと、この <command>gconftool-2</command> コマンドで利用できるオプションの一覧を表示する</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--load=<replaceable>ファイル名</replaceable></option>
        </term>
        <listitem>
          <para>このオプションを利用して、設定ソースにある現在のディレクトリの設定キーの値を、指定したファイルの中にある値にする (指定したファイルには、<literal>&lt;gconfentryfile&gt;</literal> という要素の中にキーの XML 記述が含まれているものとする)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--long-desc=<replaceable>説明</replaceable></option>
        </term>
        <listitem>
          <para>このオプションと <option>--set-schema</option> というオプションを一緒に指定すると、任意のスキーマ・キーに対する詳細な説明を指定できる</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--makefile-install-rule</option>
        </term>
        <listitem>
          <para>スキーマの定義ファイルをアプリケーションにインストールする</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--owner=<replaceable>所有者</replaceable></option>
        </term>
        <listitem>
          <para>このオプションと <option>--set-schema</option> というオプションを一緒に指定すると、スキーマ・キーの所有者を指定できる</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--recursive-list</option>
        </term>
        <listitem>
          <para>指定したリポジトリにあるすべてのサブディレクトリに格納されたすべての設定キーの値を表示する</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--recursive-unset</option>
        </term>
        <listitem>
          <para>指定したリポジトリにあるすべてのサブディレクトリに格納されたすべての設定キーの値 (ユーザが指定した値) を、設定ソースのデフォルト値に戻す</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--set</option>
        </term>
        <listitem>
          <para>設定キーの値をセットして、その値をユーザの設定ソースに書き込む (<option>--type</option> というオプションと一緒にこの <option>--set</option> オプションを指定すると、ここでセットする値の型を指定できる; 例えば、次のコマンドラインはユーザの設定ソースにある <systemitem>/apps/gnome-terminal/profiles/Default/background_color</systemitem> というキーの値を文字列で指定するものである)</para>
          <screen><userinput>gconftool-2 \
  --set "/apps/gnome-terminal/profiles/Default/background_color" \
  --type string "#000000"</userinput></screen>
          <para>この <option>--set</option> オプションに加えて、<option>--direct</option> と <option>--config-source</option> オプションを同時に指定すると、セットする値を別の設定ソースに書き込める</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--set-schema</option>
        </term>
        <listitem>
          <para>任意のスキーマ・キーにある属性値をセットして、その値をデフォルトの設定ソースに書き込む</para>
          <para>この <option>--set-schema</option> というオプションと次のオプションを一緒に指定すると、値を更新したい属性を指定できる:</para>
          <itemizedlist>
            <listitem>
              <para>
                <option>--type</option>
              </para>
            </listitem>
            <listitem>
              <para>
                <option>--short-desc</option>
              </para>
            </listitem>
            <listitem>
              <para>
                <option>--long-desc</option>
              </para>
            </listitem>
            <listitem>
              <para>
                <option>--owner</option>
              </para>
            </listitem>
          </itemizedlist>
          <para>例えば、次に示すコマンドは <systemitem>/apps/gnome-terminal/profiles/Default/background_color</systemitem> というキーのスキーマ・キーに対する簡単な説明をセットするものである:</para>
          <screen><userinput>gconftool-2 \
  --set-schema  "/schemas/apps/gnome-terminal/profiles/Default/background_color" \
  --short-desc "Default  background color of terminal"</userinput></screen>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--short-desc=<replaceable>説明</replaceable></option>
        </term>
        <listitem>
          <para>このオプションと <option>--set-schema</option> というオプションを一緒に指定すると、任意のスキーマ・キーに対する簡単な説明を指定できる</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--shutdown</option>
        </term>
        <listitem>
          <para><application>GConf</application> デーモンを強制終了する</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--type=<replaceable>型</replaceable></option>
        </term>
        <listitem>
          <para>このオプションを使い、設定キーにセットする値の型を指定できる (スキーマ・キーの属性値をセットする場合にも利用できる); 次は妥当なデータ型の一覧である:</para>
          <itemizedlist>
            <listitem>
              <para>
                <type>bool (論理型)</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>float (浮動小数点型)</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>int (整数型)</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>list (リスト型)</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>pair (ペア型)</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>string (文字列型)</type>
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--unset</option>
        </term>
        <listitem>
          <para>設定キーの値 (ユーザが指定した値) を設定ソースのデフォルト値に戻す</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--usage</option>
        </term>
        <listitem>
          <para><command>gconftool-2</command> コマンドに関するヘルプと、この <command>gconftool-2</command> コマンドで利用できるオプションの一覧を要約を表示する (【最新版では利用不可】)</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect1>
  <sect1 id="gconf-7">
    <title>値を指定する</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>preference values, setting</secondary>
    </indexterm>
    <indexterm>
      <primary>preference values</primary>
      <secondary>setting with GConf</secondary>
    </indexterm>
    <para>任意の設定キーに対して変更不可の値またはデフォルトの値を指定することができるようになっています。 このような変更不可の設定値またはデフォルトの設定値をユーザ毎に変更する前に、まず <application>GConf</application> デーモンがユーザ毎に起動していないことを確認してください。また、ユーザの設定値を変更する前にすべてのユーザがログアウトしていることを確認しておいてください。</para>
    <para>任意の設定キーに対して、変更不可の値やデフォルトの値を指定する際に使用する <command>gconftool-2</command> コマンドの書式は次のとおりです:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source <replaceable>設定ソース</replaceable> \
  --type <replaceable>型</replaceable> \
  --set <replaceable>設定キー</replaceable> <replaceable>value</replaceable></userinput></screen>
    <para>例えば、強制的に HTTP プロキシのホストを <literal>wwwproxy.xyz.com</literal> にする場合は次のようなコマンドになります:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /system/http_proxy/host wwwproxy.xyz.com</userinput></screen>
    <para>一般ユーザはこの設定値を変更することはできません。</para>
    <para>さらに <command>gconftool-2</command> コマンドを使ってデフォルトの設定値を指定できます。例えば、デフォルトのワークスペースの数を５個にする場合は次のようなコマンドになります:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type int \
  --set /apps/metacity/general/num_workspaces 5</userinput></screen>
    <para>一般ユーザはこの設定値を上書きして変更できます。</para>
    <caution>
      <para>変更不可の値またはデフォルトの値を変更する前に、まずすべてのユーザがログアウトしていることを確認しておいてください。</para>
    </caution>
  </sect1>
  <sect1 id="gconf-8">
    <title>全般の設定を指定する</title>
    <para>ここでは、GNOME デスクトップ環境の全般に影響する変更不可の値またはデフォルト値の指定方法について説明します。</para>
    <sect2 id="gconf-10">
      <title>HTTP プロキシを指定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>HTTP proxy, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>HTTP proxy</primary>
        <secondary>setting with GConf</secondary>
      </indexterm>
      <para>HTTP プロキシの設定を指定する際は <systemitem>/system/http_proxy/</systemitem> という場所にある設定キーの値を変更します。例えば、HTTP プロキシとして強制する変更不可のホストを指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /system/http_proxy/host <replaceable>プロキシの名前</replaceable></userinput></screen>
      <para>そして、HTTP プロキシのホストにデフォルトの値を指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type string \
  --set /system/http_proxy/host <replaceable>プロキシの名前</replaceable></userinput></screen>
      <para>さらに HTTP プロキシに関連する他の設定も指定できます。これらの設定について詳細は <filename>system_http_proxy.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
    </sect2>
    <sect2 id="gconf-11">
      <title>プリンタ・マネージャを設定する</title>
      <para>プリンタ・マネージャを設定する際は <systemitem>/apps/gnome-print-manager</systemitem> という場所にある設定キーの値を変更します。例えば、他のユーザが要求した印刷ジョブを一緒に表示させたくない場合のコマンドは次のような書式になります:</para>
      <indexterm>
        <primary>GConf</primary>
        <secondary>print manager, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>プリンタ・マネージャ</primary>
        <secondary>setting with GConf</secondary>
      </indexterm>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type bool \
  --set /apps/gnome-print-manager/show_all_jobs false</userinput></screen>
      <para>そして、デフォルトの値を指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type bool \
  --set /apps/gnome-print-manager/show_all_jobs false</userinput></screen>
      <para>さらにプリンタ・マネージャに関連する他の設定も指定できます。これらの設定について詳細は <filename>gnome-print-manager.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
<!--gnome-print-manager isn't in Mercury. Is there a replacement?-->
    </sect2>
    <sect2 id="gconf-12">
      <title>ワークスペースの個数を指定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>number of workspaces, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>workspaces</primary>
        <secondary>setting number with GConf</secondary>
      </indexterm>
      <para>ワークスペースの個数を固定にする場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type int \
  --set /apps/metacity/general/num_workspaces <replaceable>整数値</replaceable></userinput></screen>
      <para>そして、ワークスペースのデフォルトの個数を指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type int \
  --set /apps/metacity/general/num_workspaces <replaceable>整数値</replaceable></userinput></screen>
      <para>さらにウィンドウ・マネージャに関連する他の設定も指定できます。これらの設定について詳細は <filename>metacity.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
    </sect2>
    <sect2 id="gconf-16">
      <title>キーボードの操作性を設定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>keyboard accessibility, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>keyboard</primary>
        <secondary>setting accessibility preferences with GConf</secondary>
      </indexterm>
      <para>キーボードを使った操作性を設定する際は <systemitem>/desktop/gnome/accessibility/keyboard</systemitem> という場所にある設定キーの値を変更します。例えば、強制的にキーボードのアクセシビリティの機能を有効にする場合のコマンドは次ような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type bool \
  --set /desktop/gnome/accessibility/keyboard/enable true</userinput></screen>
      <para>そして、デフォルトの値を指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type bool \
  --set /desktop/gnome/accessibility/keyboard/enable false</userinput></screen>
      <para>さらにキーボードの操作性に関連する他の設定も変更できます。これらの設定について詳細は <filename>desktop_gnome_accessibility_keyboard.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
    </sect2>
    <sect2 id="gconf-18">
      <title>キーボード・ショートカットを指定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>keyboard shortcuts, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>keyboard</primary>
        <secondary>setting shortcut preferences with GConf</secondary>
      </indexterm>
      <para>キーボードのショートカットを設定する際は <systemitem>/apps/metacity/global_keybindings</systemitem> という場所にある設定キーの値を変更します。例えば、<keycombo><keycap>Alt</keycap><keycap>F3</keycap></keycombo> というキーボード・ショートカットだけを使って「<guilabel>アプリケーションの起動</guilabel>」ダイアログを開きたいという場合です。これを変更不可の設定として指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /apps/metacity/global_keybindings/panel_run_dialog '&lt;Alt&gt;F3'</userinput></screen>
      <para>さらに他のキーボード・ショートカットも設定できます。これらの設定について詳細は <filename>metacity.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
    </sect2>
    <sect2 id="gconf-14">
      <title>パネルとパネル・オブジェクトを設定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>panel object preferences, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>GConf</primary>
        <secondary>panel preferences, setting individual</secondary>
      </indexterm>
      <indexterm>
        <primary>panels</primary>
        <secondary>preferences, individual, setting with GConf</secondary>
      </indexterm>
      <para><filename>panel-default-setup.entries</filename> というファイルには、次に示すような GNOME デスクトップ環境の詳細が記述されています:</para>
      <itemizedlist>
        <listitem>
          <para>パネルの個数</para>
        </listitem>
        <listitem>
          <para>パネルのいろいろな種類</para>
        </listitem>
        <listitem>
          <para>パネルのいろいろなプロパティ</para>
        </listitem>
        <listitem>
          <para>パネルのいろいろな内容</para>
        </listitem>
      </itemizedlist>
      <para>パネルやパネル・オブジェクト毎に設定するのは複雑な作業です。これらを設定する際は、まず最初に <filename>panel-default-setup.entries</filename> ファイルの構造を理解しておく必要があります。この <filename>panel-default-setup.entries</filename> ファイルについて詳細は次のセクションをご覧ください。</para>
      <para>パネルやパネル・オブジェクト毎に設定を行うには、設定ソースの中にあるたくさんの設定項目の値を指定しなければなりません。パネルの設定値を指定する一番簡単な方法は <command>gconftool-2</command> コマンドに <option>--dump</option> と <option>--load</option> というオプションも一緒に指定して使用するというものです。パネルとパネル・オブジェクトの設定値を指定する方法について詳細は「<xref linkend="gconf-3"/>」をご覧ください。</para>
      <sect3 id="gconf-23">
        <title>パネルやパネル・オブジェクトを指定する方法</title>
        <indexterm>
          <primary>GConf</primary>
          <secondary>schema definition files</secondary>
          <tertiary>panel and panel object</tertiary>
        </indexterm>
        <indexterm>
          <primary>schemas</primary>
          <secondary>schema definition files</secondary>
          <tertiary>panel and panel object</tertiary>
        </indexterm>
        <para><filename>panel-default-setup.entries</filename> というファイルの中身はいくつかのセクションに分かれており、それぞれいろいろなパネルやパネル・オブジェクトを表しています。この <filename>panel-default-setup.entries</filename> ファイルにはスキーマ・キーに応じた値を指定します。この <filename>panel-default-setup.entries</filename> ファイルは <filename>/etc/gconf/schemas</filename> フォルダの中にあります。</para>
        <para>この <filename>panel-default-setup.entries</filename> ファイルの構造は次のとおりです:</para>
        <orderedlist>
          <listitem>
            <para>GNOME デスクトップ環境でパネルやパネル・オブジェクト全般の構造を指定するキーで、次に示すキーはそれぞれ GNOME デスクトップに表示されるパネルやパネル・オブジェクト、アプレットの個数を表しています:</para>
            <itemizedlist>
              <listitem>
                <para>
                  <systemitem>/apps/panel/default_setup/general/toplevel_id_list</systemitem>
                </para>
              </listitem>
              <listitem>
                <para>
                  <systemitem>/apps/panel/default_setup/general/object_id_list</systemitem>
                </para>
              </listitem>
              <listitem>
                <para>
                  <systemitem>/apps/panel/default_setup/general/applet_id_list</systemitem>
                </para>
              </listitem>
            </itemizedlist>
            <para>このキーはさらにパネルやパネル・オブジェクトやアプレットの識別子も割り当てます。例えば、<filename>panel-default-setup.entries</filename> ファイルの中にある次のセクションは GNOME デスクトップの中に表示されているパネルの一つを表しています:</para>
            <programlisting><![CDATA[<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>]]></programlisting>
            <para>このセクションの中にある <systemitem>bottom_panel</systemitem> という識別子が「<ulink type="help" url="ghelp:user-guide?bottom-panel">ボトム・エッジ・パネル</ulink>」を表しています。</para>
          </listitem>
          <listitem>
            <para>パネルのプロパティを表すキーで、次のような構造になっています:</para>
            <programlisting>/apps/panel/default_setup/toplevels/<replaceable>パネルの名前</replaceable>/<replaceable>プロパティのキー</replaceable></programlisting>
            <para>例えば <systemitem>/apps/panel/default_setup/toplevels/bottom_panel/size</systemitem> というキーはボトム・エッジ・パネルの大きさを表しています。</para>
          </listitem>
          <listitem>
            <para>パネル・オブジェクトとそのプロパティ、そしてパネル・オブジェクトを格納しているパネルなどをまとめて定義するキーです。例えば <filename>panel-default-setup.entries</filename> ファイルの中にある次のセクションは、ボトム・エッジ・パネルの左端にある「<ulink type="help" url="ghelp:user-guide?menubar">メイン・メニュー</ulink>」というオブジェクトを表しています:</para>
            <programlisting><![CDATA[<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>]]></programlisting>
          </listitem>
          <listitem>
            <para>アプレットとその設定、そしてアプレットを格納しているパネルなどをまとめて定義するキーです。例えば <filename>panel-default-setup.entries</filename> ファイルの中にある次のセクションは、ボトム・エッジ・パネルの中にある「<ulink type="help" url="ghelp:user-guide?windowlist">ウィンドウの一覧</ulink>」アプレットを表しています:</para>
            <programlisting><![CDATA[<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>]]></programlisting>
            <para><literal>OAFIID</literal> はアプレットを識別するために使用する重複しない文字列です。特定のアプレットの OAFIID を検索するには、<filename>/usr/lib/bonobo/servers</filename> フォルダにあるそのアプレットの <filename>.server</filename> ファイルの中身をご覧ください。例えば <filename>GNOME_Wncklet_Factory.server</filename> というファイルから抜粋した次のデータにある OAFIID は<application>ウィンドウの一覧</application>アプレットを表しています:</para>
            <programlisting><![CDATA[<oaf_server iid="OAFIID:GNOME_WindowListApplet" 
type="factory" location="OAFIID:GNOME_Wncklet_Factory">]]></programlisting>
          </listitem>
        </orderedlist>
      </sect3>
      <sect3 id="gconf-3">
        <title>パネルやパネル・オブジェクト毎の設定値を指定する方法</title>
        <para>パネルやパネルの上に表示されているパネル・オブジェクトの設定値を指定する手順は次のとおりです:</para>
        <orderedlist>
          <listitem>
            <para>GNOME のセッションにログインして、必要なパネルを設定する</para>
          </listitem>
          <listitem>
            <para><command>gconftool-2</command> コマンドラインに <option>--dump</option> というオプションを指定して、設定するパネルの XML 定義をファイルに出力する (<option>--dump</option> オプションを指定すると、指定した <application>GConf</application> リポジトリに格納されているすべての設定キーの一覧を生成する)</para>
            <para>例えば、次のコマンドラインを実行すると、パネルのデフォルト設定に関する XML 定義を <filename>my-panel-setup.entries</filename> というファイルに出力する:</para>
            <screen><userinput>gconftool-2 --dump /apps/panel &gt; my-panel-setup.entries</userinput></screen>
          </listitem>
          <listitem>
            <para>この <filename>my-panel-setup.entries</filename> ファイルをテキスト・エディタなどで開いて、必要な箇所を変更する</para>
            <para>例えば、デスクトップ・エントリのファイル名を変更したいとすると:</para>
            <programlisting><![CDATA[<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>]]></programlisting>
            <para><option>--dump</option> オプションで生成したファイルの抜粋にある <filename>hadjaha-00adce02f7.desktop</filename> という箇所を、別のデスクトップ・エントリのファイルに変更する</para>
            <para><option>--dump</option> オプションを使ってパネルの設定情報をファイルに出力すると、パネル・オブジェクトが表示される位置は絶対座標で出力されてしまうので、この座標を相対座標に変更したくなるかもしれません (例えば、パネルの左端にあるオブジェクトの <systemitem>position</systemitem> キーの値は <literal>0</literal> になり、その隣にあるオブジェクトの <systemitem>position</systemitem> キーの値は <literal>1</literal>、以下同様); オブジェクトの位置をパネルの右端からの相対座標にしたいのであれば、<systemitem>right_stick</systemitem> キーの値を <literal>true</literal> にすること</para>
<!--Give full key name for position.-->
          </listitem>
          <listitem>
            <para><command>gconftool-2</command> コマンドラインに <option>--load</option> というオプションを指定して、ここで編集した <filename>my-panel-setup.entries</filename> ファイルの内容をデフォルトの設定ソースとして読み込ませる; 例えば、次のコマンドラインを実効するとデフォルトの設定ソースにあるキーの値に、<filename>my-panel-setup.entries</filename> ファイルから読み込んだ値をセットする:</para>
            <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --load my-panel-setup.entries</userinput></screen>
          </listitem>
        </orderedlist>
      </sect3>
    </sect2>
  </sect1>
  <sect1 id="gconf-9">
    <title>外観の設定を指定する</title>
    <para>ここでは、GNOME デスクトップ環境の外観と操作性に影響する変更不可の値またはデフォルト値の指定方法について説明します。</para>
    <sect2 id="gconf-19">
      <title>フォントの設定を指定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>fonts, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>fonts</primary>
        <secondary>setting with GConf</secondary>
      </indexterm>
      <para>フォントの設定を指定する際は二つの設定キーの値をそれぞれ変更することになります。次の表は変更するキーとそれに関連付けられているユーザ・インタフェースの部品を一覧にしたものです:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colwidth="50*"/>
          <colspec colwidth="50*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>GConf の設定キー</para>
              </entry>
              <entry>
                <para>ユーザ・インタフェースの部品</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top">
                <para>/desktop/gnome/interface/font_name</para>
              </entry>
              <entry valign="top">
                <para>外観の設定の「<application>フォント</application>」のページにある<guilabel>アプリケーション</guilabel>のフォント</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>/apps/nautilus/preferences/desktop_font</para>
              </entry>
              <entry valign="top">
                <para>外観の設定の「<application>フォント</application>」のページにある<guilabel>デスクトップ</guilabel>のフォント</para>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>例えば、アプリケーションのフォントに <literal>Sans 12</literal> を強制する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /desktop/gnome/interface/font_name "Sans 12"</userinput></screen>
      <para><indexterm><primary>desktop</primary><secondary>font preferences, setting with GConf</secondary></indexterm>デスクトップのフォントとして <literal>palatino 12</literal> をデフォルト値にする場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type string \
  --set /apps/nautilus/preferences/desktop_font "palatino 12"</userinput></screen>
    </sect2>
    <sect2 id="gconf-20">
      <title>背景の設定を指定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>background, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>background</primary>
        <secondary>preferences, setting with GConf</secondary>
      </indexterm>
      <para>デスクトップの背景の設定を指定する際は <systemitem>/desktop/gnome/background</systemitem> という場所にある設定キーの値を変更します。例えば、バックグランドとして画像を強制する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /desktop/gnome/background/picture_filename <replaceable>ファイル名.png</replaceable></userinput></screen>
      <para>そして、デフォルトの値を指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type string \
  --set /desktop/gnome/background/picture_filename <replaceable>ファイル名.png</replaceable></userinput></screen>
      <para>さらに背景に関連する他の設定も指定できます。これらの設定について詳細は <filename>desktop_gnome_background.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
    </sect2>
    <sect2 id="gconf-21">
      <title>スプラッシュ・スクリーンの画像を指定する</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>splash image, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>splash screen</primary>
        <secondary>image, setting with GConf</secondary>
      </indexterm>
      <para>スプラッシュ・スクリーンの画像を指定する際は <systemitem>/apps/gnome-session/options/</systemitem> という場所にある設定キーの値を変更します。例えば、スプラッシュ・スクリーンの画像を表示させたくないのであれば変更不可の値として次のように指定します:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type bool \
  --set /apps/gnome-session/options/show_splash_screen false</userinput></screen>
      <para>そして、デフォルトの値を指定する場合のコマンドは次のような書式になります:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type bool \
  --set /apps/gnome-session/options/show_splash_screen false</userinput></screen>
      <para>さらにスプラッシュ・スクリーンに関連する他の設定も指定できます。これらの設定について詳細は <filename>gnome-session.schemas</filename> というスキーマの定義ファイルを参照してみてください。</para>
    </sect2>
  </sect1>
  <sect1 id="gconf-28">
    <title>すべての設定をデフォルト値に戻す</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>restoring default preference values</secondary>
    </indexterm>
    <indexterm>
      <primary>preference values</primary>
      <secondary>restoring to default with GConf</secondary>
    </indexterm>
    <para>ユーザ毎にデフォルトの設定値をリストアする場合のコマンドは次のような書式になります:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source <replaceable>ユーザ設定のソース</replaceable> \
  --recursive-unset</userinput></screen>
    <para>「<replaceable>ユーザ設定のソース</replaceable>」の部分をユーザのホームにある <filename>.gconf</filename> というフォルダの中の設定ソースで置き換えてください。</para>
    <para>このコマンドを実行すると、指定した設定ソース配下にある全サブフォルダの設定キーをすべてデフォルトの設定ソースの設定にリセットします。</para>
  </sect1>
</chapter>


<chapter id="menustructure-0">
  <title>メニューのカスタマイズ</title>

  <anchor id="menustructure-22"/>

  <anchor id="menustructure-TBL-12"/>

  <anchor id="menustructure-TBL-17"/>

  <highlights>
    <para>この章では GNOME デスクトップによるメニューの実装方法とメニューを独自に変更する方法について説明します。</para>
  </highlights>

  <sect1 id="menustructure-1">
    <title>メニューについて</title>

    <indexterm>
      <primary>menus</primary>

      <secondary>introduction</secondary>
    </indexterm>

    <para>GNOME デスクトップ環境では「<ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG メニューの仕様</ulink>」に準じたメニューを実装しています。この仕様をサポートすることにより、GNOME では次のことが実現できるようになりました:</para>

    <itemizedlist>
      <listitem>
        <para>メニューの階層を簡単に変更できる (この階層を変更するのにたくさんのファイルを変更しなくてもよい上に、アプリケーションのコードを変更したりファイルを移動する必要がない)</para>
      </listitem>

      <listitem>
        <para>アプリケーションを簡単にインストールできる (アプリケーションをインストールする際にメニュー階層についての情報をアプリケーション側に提供しておく必要がない)</para>
      </listitem>

      <listitem>
        <para>ユーザが変更できないような設定にすることも可能である</para>
      </listitem>
    </itemizedlist>

    <para>GNOME デスクトップのメニューは次に示すコンポーネントを使用します:</para>

    <itemizedlist>
      <listitem>
        <para>メニューの定義ファイル</para>
      </listitem>

      <listitem>
        <para>デスクトップ・エントリのファイル</para>
      </listitem>

      <listitem>
        <para>フォルダ・エントリのファイル</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="menustructure-13">
    <title>いろいろなメニュー定義ファイル</title>

    <indexterm>
      <primary>menu definition files</primary>
    </indexterm>

    <indexterm>
      <primary>.menu files</primary>

      <see>menu definition files</see>
    </indexterm>

    <para>メニューの階層を定義するメニュー・ファイルは GNOME の「<ulink type="help" url="ghelp:user-guide?menubar">メニュー・バー</ulink>」で使用されます。これらのファイルを変更することで、全ユーザ、または変更対象の <filename>applications.menu</filename> ファイルが示している場所に依存した単一のユーザ向けに独自のメニューを提供できます。</para>

    <para>すべてのメニュー・ファイルは <filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename> の中に記載されていなければなりません。もし環境変数の <envar>$XDG_CONFIG_DIRS</envar><footnote>
        <para>$XDG_CONFIG_DIRS という環境変数は「<ulink url="http://www.freedesktop.org/Standards/basedir-spec">XDG ベース・ディレクトリの仕様</ulink>」で定義されています。</para>
      </footnote> がセットされていなければ、デフォルトのパスである <filename>/etc/xdg</filename> を使用します。さらに、これは一番最初に見つかった <filename>$XDG_CONFIG_HOME/menus/applications.menu</filename> ファイルの中にユーザ専用の情報が記載されている可能性も含んでいます。環境変数の <envar>$XDG_CONFIG_HOME</envar> がセットされていない場合は、デフォルトのパスである <filename>~/.config</filename> を使用します。<filename>applications.menu</filename> が複数個ある場合は、環境変数の <envar>$XDG_CONFIG_DIRS</envar> の中で最初に見つかったフォルダが優先されます。そして一番最初に見つかったファイルを利用して、それ以外のファイルは無視されます。</para>

    <para>パスを検索する順番がわからなくなった場合に備えて、ここで <filename>applications.menu</filename> ファイルを特定する方法を示します:</para>

    <orderedlist>
      <listitem>
        <para><filename>menus/applications.menu</filename> ファイルを特定するために、環境変数の <envar>$XDG_CONFIG_HOME</envar> にセットされたフォルダの内容をそれぞれ調べる (もし <envar>$XDG_CONFIG_HOME</envar> がセットされていなければ、デフォルトの <filename>~/.config/</filename> というフォルダを使用する)</para>
      </listitem>

      <listitem>
        <para><filename>menus/applications.menu</filename> ファイルを特定するために、環境変数の <envar>$XDG_CONFIG_DIRS</envar> にセットされたフォルダの内容をそれぞれ調べる (もし <filename>$XDG_CONFIG_DIRS</filename> がセットされていなければ、デフォルトの <filename>/etc/xdg/</filename> というフォルダを使用する)</para>
      </listitem>

      <listitem>
        <para>一番最初に見つかった <filename>applications.menu</filename> ファイルを使用する</para>
      </listitem>
    </orderedlist>

    <para><xref linkend="example-menu"/> に <filename>.menu</filename> ファイルの例を示します。この例におけるトップレベルのメニューは <literal>Applications</literal> という名前のメニューで、これは <literal>&lt;Name&gt;</literal> とう要素を使って指定されているのがわかります。<literal>Applications</literal> というメニューにはサブメニューが一つ含まれていますが、複数のサブメニューを含めることも可能です。さらに各サブメニューにも <literal>&lt;Include&gt;</literal> という要素を含めることが可能になっています。この <literal>&lt;Include&gt;</literal> 要素の目的は任意のルールを用いて、すべてのデスクトップ・エントリから実際に利用できるエントリの集合にフィルタリングすることです。</para>

    <para><literal>&lt;Category&gt;</literal> という要素はフィルタの基本ルールの一つです。これは<emphasis>デスクトップ・エントリ</emphasis>の <link linkend="category-key"><literal>Categories</literal> というキー</link>に <literal>&lt;Category&gt;</literal> が示す内容が含まれていたら、その<link linkend="menustructure-desktopentry"><emphasis>デスクトップ・エントリ</emphasis></link>だけを選択し有効にするというものです。この例の場合だと、ある<emphasis>デスクトップ・エントリ</emphasis>の <literal>Categories</literal> というキーの中に <quote>Utility</quote> が含まれているが <quote>System</quote> は含まれていない場合にのみ、この<emphasis>デスクトップ・エントリ</emphasis>が <literal>Accessories</literal> というメニューに表示されるというものです。<literal>Categories</literal> キーについて詳細は「<xref linkend="menustructure-desktopentry"/>」をご覧ください。</para>

    <example id="example-menu">
      <title><filename>.menu</filename> ファイルの例</title>

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

  &lt;!-- まず .directory と .desktop ファイルが格納されているシステム規模のフォルダを読み込む --&gt;
  &lt;DefaultAppDirs/&gt;
  &lt;DefaultDirectoryDirs/&gt;

  &lt;!-- Accessories (アクセサリ) というサブメニュー --&gt;
  &lt;Menu&gt;
    &lt;Name&gt;Accessories&lt;/Name&gt;
    &lt;Directory&gt;Accessories.directory&lt;/Directory&gt;
    &lt;Include&gt;
      &lt;And&gt;
        &lt;Category&gt;Utility&lt;/Category&gt;
        &lt;Not&gt;
          &lt;Category&gt;System&lt;/Category&gt;
        &lt;/Not&gt;
      &lt;/And&gt;
    &lt;/Include&gt;
  &lt;/Menu&gt; &lt;!-- ここがサブメニューの終わり --&gt;

  &lt;!-- さらにたくさんのサブメニューを追加できる --&gt;

&lt;/Menu&gt; &lt;!-- Applications メニューの終わり --&gt;
</programlisting></para>
    </example>

    <para><xref linkend="menustructure-xmlmenu"/> に <filename>.menu</filename> ファイルで指定できる要素を示します。さらに詳細は「<ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG メニューの仕様</ulink>」をご覧ください。</para>

    <table frame="topbot" id="menustructure-xmlmenu">
      <title>メニューの定義ファイルに記載する要素</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec2" colwidth="33.83*"/>

        <colspec colname="colspec3" colwidth="80.00*"/>

        <thead>
          <row rowsep="1">
            <entry><para>要素</para></entry>

            <entry><para>説明</para></entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Menu&gt;</literal> </para></entry>

            <entry colname="colspec3" valign="top"><para>定義ファイルのルート要素で、サブメニューを定義する際はこの <literal>&lt;Menu&gt;</literal> 要素をネストさせて定義する (どのようにネストしているかによってメニューの構成が変わる)</para></entry>
          </row>

          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Name&gt;</literal> </para></entry>

            <entry colname="colspec3" valign="top"><para>メニューの名前を指定する (<literal>&lt;Menu&gt;</literal> 要素毎にこの <literal>&lt;Name&gt;</literal> 要素を定義しなければならない)</para></entry>
          </row>

          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Directory&gt;</literal>
            </para></entry>

            <entry colname="colspec3" valign="top"><para>メニューの名前やコメント、アイコンなどを記述した <filename>.directory</filename> ファイル (ディレクトリ・エントリ・ファイル) の名前を指定する (この要素が指定されていない場合は、<literal>&lt;Name&gt;</literal> 要素で指定した文字列をメニューにメニュー名として表示する)</para><para>デフォルトで <filename>.directory</filename> ファイルは、「<citetitle>XDG メニューの仕様</citetitle>」の中で説明されているように、<filename>$XDG_DATA_DIRS/desktop-directories/</filename> の場所から捜し出される</para></entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;DefaultAppDirs&gt;</literal></entry>

            <entry colname="colspec3">これは、<filename>$XDG_DATA_DIRS/applications/</filename> の中を解析した結果から利用可能なデスクトップ・エントリ (<filename>.desktop</filename>) のすべてを取得する命令である (この命令が指定されていない場合は、その場所からはデスクトップ・エントリを捜さないという意味になる)</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;DefaultDirectoryDirs&gt;</literal></entry>

            <entry colname="colspec3">これは、<filename>$XDG_DATA_DIRS/desktop-directories/</filename> の中を解析した結果から利用可能なディレクトリ・エントリ (<filename>.directory</filename>) のすべてを取得する命令である (この命令が指定されなかった場合、この場所からはディレクトリ・エントリを捜さないという意味になる)</entry>
          </row>

          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Include&gt;</literal></para></entry>

            <entry colname="colspec3">実際のメニューを生成する際に使用するフィルタリングのルールを並べて指定する (<literal>&lt;Filename&gt;</literal> や <literal>&lt;Category&gt;</literal>、<literal>&lt;And&gt;</literal>、<literal>&lt;Or&gt;</literal>、<literal>&lt;Not&gt;</literal>、あるいは <literal>&lt;All&gt;</literal> といったルールの中から適宜選択する;１個以上のルールを指定すると、ルールが論理和されるので、結果的に<emphasis>デスクトップ・エントリ</emphasis>はここで指定したルールのいずれかにマッチすることになる)</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Exclude&gt;</literal></entry>

            <entry colname="colspec3"><literal>&lt;Include&gt;</literal> の逆であり、この要素の中にある<emphasis>デスクトップ・エントリ</emphasis>のいずれかが実際のメニュー構成から削除される (そのため、この要素は <literal>&lt;Include&gt;</literal> の要素よりも後に記述すること)</entry>
          </row>

          <row>
            <entry colsep="colspec2"><literal>&lt;Filename&gt;</literal></entry>

            <entry colname="colspec3"><emphasis>デスクトップ・エントリ</emphasis>のファイル名 (<literal>Desktop File-Id</literal>) とこの <literal>&lt;Filename&gt;</literal> 要素が持つ内容が一致したら、その<emphasis>デスクトップ・エントリ</emphasis>を有効にするルール</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Category&gt;</literal></entry>

            <entry colname="colspec3"><emphasis>デスクトップ・エントリ</emphasis>に記載された <literal>Categories</literal> というキーワードとこの <literal>&lt;Category&gt;</literal> 要素が持つ内容が一致したら、その<emphasis>デスクトップ・エントリ</emphasis>を有効にするルール</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;And&gt;</literal></entry>

            <entry colname="colspec3">この <literal>&lt;And&gt;</literal> 要素の中でネストされている<emphasis>すべて</emphasis>のフィルタリングのルールによって取得した<emphasis>デスクトップ・エントリ</emphasis>を有効にするルール</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Or&gt;</literal></entry>

            <entry colname="colspec3">この <literal>&lt;Or&gt;</literal> 要素の中でネストされている<emphasis>いずれか</emphasis>のフィルタリングのルールによって取得した<emphasis>デスクトップ・エントリ</emphasis>を有効にするルール</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Not&gt;</literal></entry>

            <entry colname="colspec3">この <literal>&lt;Not&gt;</literal> 要素の中でネストされている<emphasis>いずれか</emphasis>のフィルタリングのルールよって取得した<emphasis>デスクトップ・エントリ</emphasis>を有効にしないルール</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;All&gt;</literal></entry>

            <entry colname="colspec3">すべての<emphasis>デスクトップ・エントリ</emphasis>を有効にするルール</entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </sect1>

  <sect1 id="menustructure-desktopentry">
    <title>デスクトップ・エントリのファイル</title>

    <anchor id="menustructure-6"/>

    <indexterm>
      <primary>desktop entry files</primary>
    </indexterm>

    <indexterm>
      <primary>.desktop ファイル</primary>

      <see>desktop entry files</see>
    </indexterm>

    <para>「<firstterm>デスクトップ・エントリのファイル</firstterm>」はメニュー項目に関する情報を提供するデータ・ファイルの一つです。このファイルを使ってメニュー項目の名前や起動するコマンド、メニューに表示するアイコンなどの詳細な情報を指定します。さらに、メニューの階層でこのメニュー項目が表示される場所を特定するために使用するキーワードもいくつか含まれています。</para>

    <para>このデスクトップ・エントリのファイルは <filename>$XDG_DATA_DIRS/applications</filename> というフォルダの中に格納され、<filename>.desktop</filename> という拡張子がつけられていなければなりません。環境変数 <envar>$XDG_DATA_DIRS</envar><footnote>
        <para>$XDG_DATA_DIRS という環境変数は「<ulink url="http://www.freedesktop.org/Standards/basedir-spec">XDG ベース・ディレクトリの仕様</ulink>」で定義されています。</para>
      </footnote> が設定されていない場合、<filename>/usr/share</filename> がデフォルトのパスとなります。これは、ユーザ専用のデスクトップ・エントリのファイルを <filename>$XDG_DATA_HOME/applications</filename> に配置することができるということも意味しています。 (このフォルダが最初に検索されます)。ここで、<envar>$XDG_DATA_HOME</envar> が設定されていないと、デフォルト値の <filename>~/.local/share</filename> を使用します。デスクトップ・エントリはすべて <envar>環境変数 $XDG_DATA_DIRS</envar> に格納されたフォルダから取得します。同名のデスクトップ・エントリがあった場合は <envar>$XDG_DATA_DIRS</envar> に指定されたフォルダの中で先に出現する方が優先されます。</para>

    <para>次はデスクトップ・エントリのファイルの例です:</para>

    <programlisting>[Desktop Entry]
Encoding=UTF-8
Name=Calculator
Name[ja]=関数電卓
...
Comment=Perform arithmetic, scientific or financial calculations
Comment[ja]=算術/科学/財務の計算を行います
...
Exec=gcalctool
Icon=accessories-calculator
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;Calculator</programlisting>

    <para><xref linkend="menustructure-TBL-7"/> にデスクトップ・エントリのファイルで最もよく利用するキーワードを示します。デスクトップ・エントリのファイルについて詳細については「<ulink url="http://www.freedesktop.org/Standards/desktop-entry-spec">XDG デスクトップ・エントリの仕様</ulink>」をご覧ください。</para>

    <table frame="topbot" id="menustructure-TBL-7">
      <title>デスクトップ・エントリのキーワード</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="25.25*"/>

        <colspec colname="colspec1" colwidth="74.75*"/>

        <thead>
          <row rowsep="1">
            <entry><para>キーワード</para></entry>

            <entry><para>説明</para></entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry colname="colspec0" id="category-key" valign="top"><para>
            <literal>Categories</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>アイテムを説明するためのキーワードをセミコロン (;) を区切り文字としていくつか羅列する (カテゴリを表す標準的なキーワードは「<ulink url="http://www.freedesktop.org/Standards/menu-spec"> http://www.freedesktop.org/Standards/menu-spec</ulink>」にあるデスクトップ・メニューの仕様に一覧としてまとめられている)</para><para>「<link linkend="menustructure-13">いろいろなメニュー定義ファイル</link>」では、この Categories キーに対するフィルタリングのルールを使って、デスクトップ・エントリをメニュー項目にマップしている (関連付けている)</para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>Comment</literal>
            </para></entry>

            <entry valign="top"><para>この項目の概要を表す (このキーワードはメニュー項目の上にポインタをのせた時に現れるツールチップの中に表示される文章である)</para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>Encoding</literal>
            </para></entry>

            <entry valign="top"><para>デスクトップ・エントリに記載する情報のエンコーディングを表す</para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>Exec</literal> </para></entry>

            <entry valign="top"><para>メニュー項目を選択した時に実行するコマンドを表す</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>Icon</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>メニュー項目に表示されるアイコンのファイル名を表す (ファイル名のパス、あるいは拡張子は指定しないこと)</para></entry>
          </row>

          <row>
            <entry><literal>MimeType</literal></entry>

            <entry>このデスクトップ・エントリが表すアプリケーションで扱える MIME 型を表す</entry>
          </row>
         
          <row>
            <entry valign="top"><para> <literal>Name</literal> </para></entry>

            <entry valign="top"><para>メニュー項目の名前を表す文字列 (この文字列が実際のメニューに表示される)</para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>NoDisplay</literal> </para></entry>

            <entry valign="top"><para>このオプションは「アプリケーションは存在しているが、メニュー項目としては表示しない」という時に指定する</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>Terminal</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>キーワードの <literal>Exec</literal> に指定したコマンドを端末の中から起動するかどうかを表す (ここで <literal>true</literal> を指定すると、端末の中からコマンドを起動する)</para><para>起動するコマンドがウィンドウを生成しない場合、このキーワードには <literal>true</literal> を指定すること</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>Type</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>メニュー項目の種類を表す (この値は次のいずれかとする):</para><itemizedlist>
                <listitem>
                  <para><literal>Application</literal>: １アプリケーションとして起動する</para>
                </listitem>

                <listitem>
                  <para><literal>Link</literal>: ファイルやフォルダ、あるいはリモートのリソース (FTP サイトとかウェブ・サイト、Windows 共有など...) へのリンクである</para>
                </listitem>

                <listitem>
                  <para><literal>FSDevice</literal>: ファイルシステムのデバイスを表す</para>
                </listitem>

                <listitem>
                  <para><literal>Directory</literal>: フォルダを表す</para>
                </listitem>
              </itemizedlist></entry>
          </row>

        </tbody>
      </tgroup>
    </table>

    <para>デスクトップ・エントリのファイルについて詳細については、次の URL にある仕様書をご覧ください:</para>

    <literallayout>
    <ulink url="http://www.freedesktop.org/Standards/desktop-entry-spec">http://www.freedesktop.org/Standards/desktop-entry-spec</ulink>
    </literallayout>

    <note>
      <para>パネルのランチャとデスクトップ上のオブジェクトもデスクトップ・エントリのファイルを利用しています。ランチャやデスクトップ上のオブジェクトで使用するデスクトップ・エントリのファイルはメニュー項目で使用するものと同じ情報が記載されています。例えば、デスクトップ・エントリのファイルはランチャをクリックした時に起動するコマンドが記載されています。</para>
    </note>
  </sect1>

  <sect1 id="menustructure-14">
    <title>ディレクトリ・エントリのファイル</title>

    <indexterm>
      <primary>directory entry files</primary>
    </indexterm>

    <indexterm>
      <primary>.directory ファイル</primary>

      <see>directory entry files</see>
    </indexterm>

    <para>「<firstterm>ディレクトリ・エントリのファイル</firstterm>」はメニューそのものの情報を提供するデータ・ファイルの一つです。このファイルを使ってメニューの名前やツールチップの説明、そしてアイコンなどの詳細な情報を指定します。このファイルの拡張子は <filename>.directory</filename> です。</para>

    <para>このディレクトリ・エントリのファイルは <filename>$XDG_DATA_DIRS/desktop-directories</filename> というフォルダの中に格納されていなければなりません。もし環境変数である <envar>$XDG_DATA_DIRS</envar> が指定されていないと、デフォルト値である <filename>/usr/share</filename> を使用します。さらに、ユーザ専用のディレクトリ・エントリのファイルも <filename>$XDG_DATA_HOME/desktop-directories</filename> に格納されているものとみなします (このファイルを見つける際に一番最初に調査するフォルダということです)。ここで、環境変数である <envar>$XDG_DATA_HOME</envar> が指定されていないと、デフォルト値の <filename>~/.local/share</filename> を使用します。ディレクトリ・エントリは全て <envar>$XDG_DATA_DIRS</envar> という環境変数に格納されたフォルダから取得します。同名のディレクトリ・エントリがあった場合は環境変数である <envar>$XDG_CONFIG_DIRS</envar> に格納されたフォルダの中で先に出現するファイルが優先されます。</para>

    <para>次はディレクトリ・エントリのファイルの例です:</para>

    <programlisting>[Desktop Entry]
Name=Graphics
Name[ja]=グラフィックス
...
Comment=Graphics applications
Comment[ja]=グラフィックス関連のアプリケーションです
...
Icon=gnome-graphics
Type=Directory
Encoding=UTF-8</programlisting>

    <para><xref linkend="menustructure-TBL-15"/> にディレクトリ・エントリのファイルで最もよく利用するキーワードを示します。</para>

    <table frame="topbot" id="menustructure-TBL-15">
      <title>ディレクトリ・エントリのキーワード</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="27.07*"/>

        <colspec colname="colspec1" colwidth="72.93*"/>

        <thead>
          <row rowsep="1">
            <entry><para>キーワード</para></entry>

            <entry><para>説明</para></entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>Name</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>メニューの名前を表す文字列 (この文字列が実際のメニューに表示される)</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>Comment</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>このメニューの概要を表す (このキーワードはメニューの上にポインタをのせた時に現れるツールチップの中に表示される文章である)</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>Icon</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>メニューに表示されるアイコンのファイル名を表す (ファイル名のパス、あるいは拡張子は指定fしないこと)</para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>Type</literal> </para></entry>

            <entry valign="top"><para>メニューの種類を表す (このキーの値は常に <literal>Directory</literal> である)</para></entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </sect1>

  <sect1 id="menustructure-2">
    <title>システム・メニューを編集する</title>

    <anchor id="menustructure-23"/>

    <indexterm>
      <primary>menus</primary>

      <secondary>editing</secondary>
    </indexterm>

    <para>手動でメニューの設定ファイルとデータ・ファイルを編集して、いろいろなメニューをカスタマイズできるようになっています。</para>

    <sect2 id="menustructure-3">
      <title>メニューを追加する</title>

      <anchor id="menustructure-19"/>

      <anchor id="menustructure-20"/>

      <indexterm>
        <primary>menus</primary>

        <secondary>adding</secondary>
      </indexterm>

      <para>すべてのユーザ向けにメニューを１つ追加する手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para>追加するメニューに対応したディレクトリ・エントリのファイルを作成し、<filename>$XDG_DATA_DIRS/desktop-directories</filename> というフォルダに格納する (ディレクトリ・エントリのファイルについて詳細は「<xref linkend="menustructure-14"/>」を参照のこと)</para>
        </listitem>

        <listitem>
          <para><filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename> ファイルを開く</para>
        </listitem>

        <listitem>
          <para>この <filename>.menu</filename> ファイルで、新しいメニュー用に <literal>&lt;Menu&gt;</literal> 要素を追加する (<filename>.menu</filename> ファイルについて詳細は「<xref linkend="menustructure-13"/>」を参照のこと)</para>
        </listitem>

        <listitem>
          <para>先ほど作成した <literal>&lt;Menu&gt;</literal> 要素の配下に <literal>&lt;Name&gt;</literal> という要素とそのデータを追加する (このデータをメニューの名前にすること)</para>
        </listitem>

        <listitem>
          <para>一番最初に作成した <literal>&lt;Menu&gt;</literal> 要素の配下に <literal>&lt;Directory&gt;</literal> という要素とそのデータを新たに追加する (このデータをディレクトリ・エントリのファイル名にすること)</para>
        </listitem>

        <listitem>
          <para>ここで新たに作成したメニューにメニュー項目を追加する際は「<xref linkend="menustructure-4"/>」を参照のこと</para>
        </listitem>
      </orderedlist>

      <para>ユーザが次回ログインすると、ここで作成したメニューがメニュー・バーの中に表示されるはずです。</para>

      <note>
        <title>作成したメニューが見つからない場合</title>

        <para><literal>&lt;Include&gt;</literal> 要素で指定したフィルタリングのルールにマッチするメニューが一つも存在しない場合や、マッチするデスクトップ・エントリが一つも存在しないような場合、そのメニューはメニュー・バーに表示されません。</para>
      </note>
    </sect2>

    <sect2 id="menustructure-4">
      <title>メニュー項目をメニューに追加する</title>

      <indexterm>
        <primary>menus</primary>

        <secondary>adding items to</secondary>
      </indexterm>

      <para>すべてのユーザ向けにメニュー項目を１つ追加する手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para>追加するメニュー項目に対応したデスクトップ・エントリのファイルを作成する (デスクトップ・エントリのファイルについて詳細は「<xref linkend="menustructure-desktopentry"/>」を参照のこと)</para>
        </listitem>

        <listitem>
          <para>作成したデスクトップ・エントリのファイルを <filename>$XDG_DATA_DIRS/applications</filename> というフォルダに格納する</para>
        </listitem>

        <listitem>
          <para><filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename> ファイルを開く</para>
        </listitem>

        <listitem>
          <para><literal>&lt;Menu&gt;</literal> という要素の中に <literal>&lt;Include&gt;</literal> という要素が格納され、かつ手順１で作成したデスクトップ・エントリのファイルを選択するようなフィルタリングのルールになっているか確認する</para>
        </listitem>
      </orderedlist>

      <para>ユーザが次回ログインすると、ここで作成したメニュー項目が表示されるはずです。</para>
    </sect2>

    <sect2 id="menustructure-9">
      <title>メニューのプロパティを編集する</title>

      <indexterm>
        <primary>menus</primary>

        <secondary>editing properties of</secondary>
      </indexterm>

      <para>すべてのユーザ向けにメニューのプロパティを編集する手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para><filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename> ファイルを開く</para>
        </listitem>

        <listitem>
          <para>このファイルの中から、編集したいプロパティを持つメニューに対応した <literal>&lt;Menu&gt;</literal> 要素を見つけ、さらに <literal>&lt;Directory&gt;</literal> という要素が持つデータを取得する (これがディレクトリ・エントリのファイル名)</para>
        </listitem>

        <listitem>
          <para>このディレクトリ・エントリのファイルを開き、メニューのプロパティを変更する (<filename>.directory</filename> について詳細については「<xref linkend="menustructure-14"/>」を参照のこと)</para>
        </listitem>
      </orderedlist>
    </sect2>

    <sect2 id="menustructure-10">
      <title>メニュー項目を編集する</title>

      <indexterm>
        <primary>menus</primary>

        <secondary>editing menu items</secondary>
      </indexterm>

      <para>メニュー項目を編集する手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para>メニュー項目に対応したデスクトップ・エントリのファイルを <filename>$XDG_DATA_DIRS/applications</filename> というフォルダの中から見つけて開く</para>
        </listitem>

        <listitem>
          <para>デスクトップ・エントリのファイルでメニュー項目のプロパティを編集する (デスクトップ・エントリのファイルについて詳細は「<xref linkend="menustructure-desktopentry"/>」を参照のこと)</para>
        </listitem>
      </orderedlist>
    </sect2>

    <sect2 id="menustructure-11">
      <title>メニューからメニュー項目を削除する</title>

      <indexterm>
        <primary>menus</primary>

        <secondary>deleting menu items</secondary>
      </indexterm>

      <para>すべてのユーザ向けにメニューからメニュー項目を削除する手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para><filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename> ファイルを開く</para>
        </listitem>

        <listitem>
          <para>このファイルの中から、削除したいデスクトップ・エントリ名を含む <literal>&lt;Menu&gt;</literal> 要素を見つける</para>
        </listitem>

        <listitem>
          <para><literal>&lt;Include&gt;</literal> 要素が閉じている箇所の後に <literal>&lt;Exclude&gt;</literal> 要素を挿入する (この要素が、手順２に示したように、<literal>&lt;Menu&gt;</literal> 要素の中に内包されているか確認すること)</para>
        </listitem>

        <listitem>
          <para><literal>&lt;Exclude&gt;</literal> 配下の要素としてフィルタリングのルールである <literal>&lt;Filename&gt;</literal> を挿入し、対象外にするデスクトップ・エントリを明示的に指定する</para>
        </listitem>
      </orderedlist>

      <para>ユーザが次回ログインすると、ここで指定したメニュー項目が表示されないはずです。<xref linkend="menustructure-deleteitem"/> に <filename>applications.menu</filename> を使った例を示します。この例では <filename>dasher.desktop</filename> というデスクトップ・エントリのファイルを明示的にアクセシビリティのメニューで表示しないようにしています。</para>

      <example id="menustructure-deleteitem">
        <title>メニューからメニュー項目を削除する</title>

        <programlisting>&lt;!-- ... --&gt;

  &lt;Menu&gt;
    &lt;Name&gt;Accessibility&lt;/Name&gt;
    &lt;Directory&gt;Accessibility.directory&lt;/Directory&gt;
    &lt;Include&gt;
      &lt;And&gt;
        &lt;Category&gt;Accessibility&lt;/Category&gt;
        &lt;Not&gt;&lt;Category&gt;Settings&lt;/Category&gt;&lt;/Not&gt;
      &lt;/And&gt;
    &lt;/Include&gt;
    &lt;Exclude&gt;
      &lt;Filename&gt;dasher.desktop&lt;/Filename&gt;
    &lt;/Exclude&gt;
  &lt;/Menu&gt;

&lt;!-- ... --&gt;
</programlisting>
      </example>
    </sect2>
  </sect1>

  <sect1 id="menustructure-usermenus">
    <title>ユーザ・メニューを編集したり複数のメニューをまとめる</title>

    <indexterm>
      <primary>menus</primary>

      <secondary>editing user menus</secondary>
    </indexterm>

    <para>次の GNOME アプリケーションを使ってユーザ毎に自分のメニューを編集できるようになっています:</para>

    <itemizedlist>
      <listitem>
        <para>GNOME メニュー・エディタまたはメイン・メニュー (alacarte)</para>
      </listitem>
    </itemizedlist>

    <para>ユーザが自分のメニューを編集する際に利用できるシンプルなメニュー・エディタがあります。詳細については <ulink url="ghelp:user-guide">GNOME ユーザ・ガイド</ulink>にある「<ulink url="ghelp:user-guide?goseditmainmenu-1">メイン・メニューの使い方</ulink>」をご覧ください (<emphasis>訳注: GNOME 2.22 ではメニュー・エディタに関連するドキュメントは存在しません</emphasis>)。あるいは、手動でメニュー関連のファイルを作成したり編集できます。</para>

    <para>ユーザが独自にメニューを定義する際は、<filename>$XDG_CONFIG_HOME/menus/applications.menu</filename> というユーザ専用のファイルが必要になります。。環境変数である <envar>$XDG_CONFIG_HOME</envar> がセットされていない場合はデフォルト値の <filename>~/.config</filename> を使用します。これは <filename>applications.menu</filename> ファイルを探す際に一番最初に解析するフォルダなので、その他のフォルダよりも優先されます。</para>

    <para>ユーザ定義のメニューでは「<xref linkend="menustructure-13"/>」で説明した全ての要素を利用できます。他にもいろいろ利用可能な要素があるので、詳細は「<ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG メニューの仕様</ulink>」をご覧ください。</para>

    <para>ユーザ定義のメニューはシステム規模のメニューよりも優先されるようになっているので、システム規模のメニューと明示的に<emphasis>結合</emphasis>しない限り、ユーザ定義のメニューがシステム規模のそれを完全に上書きするような仕組みになっています。この次のセクションでメニューの結合について説明します。</para>

    <sect2>
      <title>システム規模のメニューと結合してまとめる</title>

      <indexterm>
        <primary>menus</primary>

        <secondary>merging the system menu</secondary>
      </indexterm>

      <para>たまに標準的なシステム規模のメニューに加えて何かメニュー項目を追加したり、使わないメニュー項目を削除したい場合があります。このような場合は、ユーザ専用の <filename>applications.menu</filename> ファイルの中で <literal>type="parent"</literal> という属性を持つ <literal>&lt;MergeFile&gt;</literal> という要素を使うことをお薦めします。</para>

      <para><literal>&lt;MergeFile&gt;</literal> という要素を使うと、システム規模のメニューでユーザ専用のメニューと結合してまとめることができるようになります。ここで <literal>type="parent"</literal> という属性を指定すると、<literal>&lt;MergeFile&gt;</literal> 要素の内容を無視して <filename>$XDG_CONFIG_DIRS/menus</filename> フォルダの中にある <filename>applications.menu</filename> ファイルの方を結合します。</para>

      <note>
        <title>古い仕様では</title>

        <para>以前の仕様では <literal>type</literal> という属性を使わずに、単に結合するメニュー定義ファイルのパスを指定し <literal>&lt;MergeFile&gt;</literal> 要素の内容を結合していただけでした。そのため、現在でも <literal>type="parent"</literal> を指定した場合 <literal>&lt;MergeFile&gt;</literal> 要素を使ってメニュー定義ファイルのパスを指定するようになっています。</para>
      </note>

      <para>メニューの結合は次のように実施されます:</para>

      <itemizedlist>
        <listitem>
          <para>結合してまとめたメニュー定義ファイル<footnote>
              <para>結合したメニュー定義ファイルは <filename>$XDG_CONFIG_DIRS/menus</filename> フォルダの中にある <filename>applications.menu</filename> ファイルを参照します。</para>
            </footnote> の中にある <literal>&lt;Menu&gt;</literal> 要素の配下にある子要素がベースのメニュー定義ファイルにある <literal>&lt;MergeFile&gt;</literal> 要素のかわりになります。</para>
        </listitem>

        <listitem>
          <para><literal>&lt;Menu&gt;</literal> 要素の配下にある同名の子要素がすべて一個の <literal>&lt;Menu&gt;</literal> 要素に統合されます。これは、<literal>&lt;Menu&gt;</literal> 要素毎に同じ名前を持つ子要素をすべてメニュー要素の<emphasis>最後</emphasis>に出現するメニュー要素として追加することで実現しています。</para>
        </listitem>
      </itemizedlist>

      <para><xref linkend="menustructure-systemmerge"/> にシステム規模のメニュー定義ファイルとユーザ定義のメニューとを明示的に結合しまとめた例を示します。</para>

      <example id="menustructure-systemmerge">
        <title>システム規模のメニューと結合してまとめる</title>

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

&lt;Menu&gt;
  &lt;Name&gt;Applications&lt;/Name&gt;
  &lt;MergeFile type="parent"&gt;/etc/xdg/menus/applications.menu&lt;/MergeFile&gt;
  &lt;Menu&gt;
    &lt;Name&gt;Accessibility&lt;/Name&gt;
    &lt;Exclude&gt;
      &lt;Filename&gt;dasher.desktop&lt;/Filename&gt;
    &lt;/Exclude&gt;
  &lt;/Menu&gt;
&lt;/Menu&gt;
</programlisting>
      </example>
    </sect2>

    <sect2>
      <title>独自のメニューを結合しまとめる</title>

      <indexterm>
        <primary>menus</primary>

        <secondary>merging arbitrary menus</secondary>
      </indexterm>

      <para>独自のメニュー定義ファイルをシステム規模のメニューと同じ方法で結合しまとめることができるようになっています。異なる点は <literal>type</literal> という属性を <literal>path</literal> に指定するか、または <literal>&lt;MergeFile&gt;</literal> 要素から削除してこの類の結合を行えるようにすることです。</para>

      <para><emphasis>マージするメニュー定義ファイル</emphasis>が格納されている場所を <literal>&lt;MergeFile&gt;</literal> 要素のデータとして指定することを除いて、システム規模のメニューの結合と同じように処理されます。</para>
    </sect2>
  </sect1>
</chapter>

<chapter id="themes-0">
  <title>テーマのインストール</title>
  <highlights>
    <para>この章では GNOME デスクトップで利用できるいろいろなテーマとその設定、テーマを設定するオプションのインストール方法、そして独自のオプションを作成する方法について説明します。</para>
  </highlights>
  <sect1 id="themes-1">
    <title>テーマについて</title>
    <indexterm>
      <primary>themes</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <para>テーマとは、GNOME デスクトップの部品に対する視覚的な外観を指定する「既に調整された設定」の集まりです。ユーザはいろいろなテーマの中から一つ選択して自分が使っている GNOME デスクトップの外観を変更することができるようになっています。</para>
    <para>テーマには、次に示すような GNOME デスクトップのいろいろな部分に作用する設定が含まれています:</para>
    <variablelist>
      <varlistentry>
        <term>コントロール (GUI の部品)</term>
        <listitem>
          <para><indexterm><primary>themes</primary><secondary>controls options</secondary><tertiary>introduction</tertiary></indexterm><indexterm><primary>GTK+ themes</primary><see>themes, controls options</see></indexterm>テーマにおけるコントロールの設定はウィンドウやパネル、そしてアプレットの視覚的な外観を決定します。さらにコントロールの設定は GNOME と互換性のあるインタフェース (例えば、メニューやアイコン、ボタンなど) の視覚的な外観も決定します。利用可能なコントロールの設定のほとんどは特別なアクセシビリティが必要となるように設計されています。<application>外観の設定</application>ツールで<guilabel>テーマ</guilabel>を選択し、<guibutton>カスタマイズ</guibutton>のボタンをクリックして表示されるダイアログから<guilabel>コントロール</guilabel>というタブを開いてコントロールのオプションを選択できます。</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ウィンドウの境界 (フレーム)</term>
        <listitem>
          <para><indexterm><primary>themes</primary><secondary>window frame options</secondary><tertiary>introduction</tertiary></indexterm><indexterm><primary>Metacity themes</primary><see>themes, window frame options</see></indexterm>テーマにおけるウィンドウの境界の設定はウィンドウの周囲に付与されたフレームの外観だけを決定します。ユーザは<application>外観の設定</application>ツールの<guilabel>テーマ</guilabel>タブから<guibutton>カスタマイズ</guibutton>ボタンをクリックして表示されるダイアログから<guilabel>ウィンドウの境界</guilabel>というタブを開いてウィンドウの境界オプションを選択できます。</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>Icon</term>
        <listitem>
          <para><indexterm><primary>themes</primary><secondary>icons options</secondary><tertiary>introduction</tertiary></indexterm><indexterm><primary>icon themes</primary><see>themes, icons options</see></indexterm>テーマにおけるアイコンの設定は、パネルの中にあるアイコンの外観を決定します。<application>外観の設定</application>ツールで<guilabel>テーマ</guilabel>を選択し、<guibutton>カスタマイズ</guibutton>のボタンをクリックして表示されるダイアログから<guilabel>アイコン</guilabel>というタブを開いてアイコンのオプションを選択できます。</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect1>
  <sect1 id="themes-17">
    <title>テーマの Index ファイル</title>
    <para>テーマ毎に Index ファイルが用意されており、このファイルの中でテーマの特徴を定義します。Index ファイルの名前は <filename>/usr/share/themes/<replaceable>テーマの名前</replaceable>/index.theme</filename> です。</para>
    <para>次はテーマの Index ファイルの例です:</para>
    <programlisting>[Desktop Entry]
Type=X-GNOME-Metatheme
Name=High Contrast Large
Name[ja]=ハイ・コントラスト (大)
Comment=Large black-on-white text and icons
Comment[ja]=白地に黒色のテキストとアイコンの拡大版
Encoding=UTF-8

[X-GNOME-Metatheme]
GtkTheme=HighContrastLargePrint
IconTheme=HighContrast
MetacityTheme=Atlanta
ApplicationFont=sans 18
</programlisting>
    <para>テーマの Index ファイルで利用するキーワードを次の表に示します:</para>
    <table frame="topbot" id="themes-TBL-18">
      <title>テーマの Index ファイルで利用できるキーワード</title>
      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="33*"/>
        <colspec colname="colspec1" colwidth="67*"/>
        <thead>
          <row rowsep="1">
            <entry>
              <para>キーワード</para>
            </entry>
            <entry>
              <para>説明</para>
            </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>Type</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>このテーマが、コントロール (GUI の部品) やウィンドウの境界 (フレーム) 、アイコンといったテーマのオプションの外観を決定することを指定する</para>
            </entry>
          </row>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>Name</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>テーマの名前を指定する (これは<application>外観の設定</application>ツールで表示されるテーマの名前になる)</para>
            </entry>
          </row>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>Comment</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>テーマの簡単な説明を指定する (これは<application>外観の設定</application>ツールのテーマの名前の下に表示される文章である)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <literal>GtkTheme</literal>
              </para>
            </entry>
            <entry valign="top">
              <para><application>外観の設定</application>ツールの<guilabel>テーマ</guilabel>にあるコントロールの設定に相当する (ウィンドウやパネル、アプレットといった GUI の部品に一括して適用する設定を指定する)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <literal>IconTheme</literal>
              </para>
            </entry>
            <entry valign="top">
              <para><application>外観の設定</application>ツールの<guibutton>カスタマイズ</guibutton>にある<guilabel>アイコン</guilabel>に相当する (デスクトップのオブジェクトやメニューのアイコンに一括して適用するアイコンの種類を指定する)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <literal>MetacityTheme</literal>
              </para>
            </entry>
            <entry valign="top">
              <para><application>外観の設定</application>ツールの<guibutton>カスタマイズ</guibutton>にある<guilabel>ウィンドウの境界</guilabel>に相当する (ウィンドウの境界に一括して適用する設定を指定する)</para>
            </entry>
          </row>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>ApplicationFont</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para><application>外観の設定</application>ツールの<guilabel>フォント</guilabel>にあるアプリケーションのフォントに相当する</para>
            </entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </sect1>
  <sect1 id="themes-3">
    <title>新しいコントロールのオプションをインストールする</title>
    <indexterm>
      <primary>themes</primary>
      <secondary>controls options</secondary>
      <tertiary>installing</tertiary>
    </indexterm>
    <para><application>外観の設定</application>ツールの<guilabel>テーマ</guilabel>で設定できるコントロールの新しいオプションをインストールできるようになっています。このオプションは <filename>/usr/share/themes</filename> というフォルダに格納されます。このオプションの基本的な構造は次のとおりです:</para>
    <variablelist>
      <varlistentry>
        <term>オプションのファイル</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>オプション名</replaceable>/gtk-2.0/gtkrc</filename>
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>画像ファイル</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>オプション名</replaceable>/pixmaps/*.*</filename>
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para>一般的に、コントロールに対する新しいオプションは <filename>.tar.gz</filename> 形式のファイルで提供されます。新しいコントロールのオプションをインストールする際は、まず <filename>.tar.gz</filename> ファイルを <command>unzip</command> して <filename>.tar</filename> ファイルを <filename>/usr/share/themes</filename> フォルダ配下に展開してください。</para>
    <para>ユーザはコントロールの設定に関する独自のオプションもインストールできます。もしユーザ専用のオプションをインストールするのであれば、その設定ファイルを <filename>$HOME/.themes</filename> フォルダの配下に格納してください。</para>
  </sect1>
  <sect1 id="themes-5">
    <title>新しいウィンドウの境界をインストールする</title>
    <indexterm>
      <primary>themes</primary>
      <secondary>window frame options</secondary>
      <tertiary>installing</tertiary>
    </indexterm>
    <para><application>外観の設定</application>ツールの<guibutton>カスタマイズ</guibutton>で設定できるウィンドウの境界の新しいオプションをインストールできるようになっています。このオプションは <filename>/usr/share/themes/<replaceable>オプション名</replaceable>/metacity-1</filename> というフォルダに格納されます。このオプションの基本的な構造は次のとおりです:</para>
    <variablelist>
      <varlistentry>
        <term>オプションのファイル</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>オプション名</replaceable>/metacity-1/metacity-theme-1.xml</filename>
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>画像ファイル</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>オプション名</replaceable>/metacity-1/*.*</filename>
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para>一般的に、ウィンドウの境界に対する新しいオプションは <filename>.tar.gz</filename> 形式のファイルで提供されます。新しいオプションをインストールする際は、まず <filename>.tar.gz</filename> ファイルを <command>unzip</command> して <filename>.tar</filename> ファイルを <filename>/usr/share/themes</filename> フォルダ配下に展開してください。</para>
    <para>ユーザはコントロールの設定に関する独自のオプションもインストールできます。もしユーザ専用のオプションをインストールするのであれば、その設定ファイルを <filename>$HOME/.themes</filename> フォルダの配下に格納してください。</para>
  </sect1>
  <sect1 id="themes-16">
    <title>新しいアイコンをインストールする</title>
    <indexterm>
      <primary>themes</primary>
      <secondary>icons options</secondary>
      <tertiary>installing</tertiary>
    </indexterm>
    <para><application>外観の設定</application>ツールの<guibutton>カスタマイズ</guibutton>で設定できるアイコンのの新しいオプションをインストールできるようになっています。このオプションは <filename>/usr/share/icons/<replaceable>オプション名</replaceable></filename> というフォルダに格納されます。このオプションの基本的な構造は次のとおりです:</para>
    <variablelist>
      <varlistentry>
        <term>オプションのファイル</term>
        <listitem>
          <para>
            <filename>/usr/share/icons/<replaceable>オプション名</replaceable></filename>
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>画像ファイル</term>
        <listitem>
          <para>
            <filename>/usr/share/icons/<replaceable>オプション名</replaceable>/icons/*.*</filename>
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para>一般的に、アイコンに対する新しいオプションは <filename>.tar.gz</filename> 形式のファイルで提供されます。新しいアイコンのオプションをインストールする際は、まず <filename>.tar.gz</filename> ファイルを <command>unzip</command> して <filename>.tar</filename> ファイルを <filename>/usr/share/icons</filename> フォルダ配下に展開してください。</para>
    <para>ユーザはアイコンの設定に関する独自のオプションもインストールできます。もしユーザ専用のオプションをインストールするのであれば、その設定ファイルを <filename>$HOME/.icons/<replaceable>オプション名</replaceable></filename>というフォルダの配下に格納してください。</para>
  </sect1>
  <sect1 id="themes-11">
    <title>テーマに応じたアイコンをインストールする</title>
    <indexterm>
      <primary>themes</primary>
      <secondary>installing icons</secondary>
    </indexterm>
    <para>GNOME デスクトップでは特殊な視覚効果を必要とするユーザ向けにいくつかのテーマをを提供しています。例えば、テーマの多くは視力の低いユーザに配慮して設計されています。そのため、いろいろなテーマで同じアイコンを正しく表示するには、複数のバージョンをインストールしておく必要があるかもしれません。</para>
    <para>アプリケーションによっては新しいアイコンをインストールしなければならない場合もあるかもしれません。新規にアイコンをインストールする際は、いろいろなテーマの中でアイコンを正しく表示できるようにするために、そのアイコンに対して複数のバージョンを作成しておいてください。作成しておくアイコンのバージョンは次のとおりです:</para>
    <itemizedlist>
      <listitem>
        <para>GNOME デスクトップのアプリケーションで使用するためのアイコン</para>
      </listitem>
      <listitem>
        <para>GTK+ のアプリケーション、または GTK+ のストック・アイコンとしてアプリケーション内部で使用するためのアイコン</para>
      </listitem>
    </itemizedlist>
    <para><firstterm>Portable Network Graphic</firstterm> (PNG) 形式のような、いろいろな書式のアイコンを作成することが可能になっています。デスクトップ環境において推奨されるアイコンの大きさは 48 x 48 ピクセルです。この大きさだと、ほとんどのテーマで適度に拡大縮小して表示することが可能だからです。</para>
    <para>新規にアイコンをインストールする際は、次に示すような 48 x 48 ピクセルのアイコンを複数作成しておいてください:</para>
    <itemizedlist>
      <listitem>
        <para>通常のアイコン</para>
      </listitem>
      <listitem>
        <para>低コンストラストなアイコン</para>
      </listitem>
      <listitem>
        <para>高コンストラストなアイコン</para>
      </listitem>
      <listitem>
        <para>高コンストラストなアイコンを反転したアイコン</para>
      </listitem>
    </itemizedlist>
    <para>可能であれば、大きな画面を持たないデスクトップのテーマ向けに、16 x 16 ピクセルのアイコンもそれぞれ作成しておいてください。</para>
    <para>アイコンを「<xref linkend="themes-3"/>」や「<xref linkend="themes-5"/>」で説明したテーマの画像を格納するフォルダにインストールしてください。例えば HighContrastLargePrint というテーマにアイコンを追加する場合は <filename>/usr/share/themes/HighContrastLargePrint/pixmaps</filename> というフォルダにアイコンをインストールします。そして関連するテーマにアイコンを参照するためのリファレンスを追加してください。例えば HighContrastLargePrint というテーマにアイコンをインストールした場合は、そのアイコンを参照するリファレンス命令を <filename>/usr/share/themes/HighContrastLargePrint/gtk-2.0/gtkrc</filename> というファイルの中に追加します。この <filename>gtkrc</filename> ファイルを編集して GTK+ のストック・アイコンにインストールしたアイコンを関連付けます。</para>
    <para>アプリケーションのランチャやパネルに表示するアイコンを作成する方法について詳細は「<ulink url="http://www.freedesktop.org/Standards/icon-theme-spec">アイコンテーマの仕様</ulink>」をご覧ください。</para>
  </sect1>
  <sect1 id="themes-15">
    <title>独自にコントロールのオプションを作成する</title>
    <indexterm>
      <primary>themes</primary>
      <secondary>controls options</secondary>
      <tertiary>creating custom</tertiary>
    </indexterm>
    <para>コントロールを設定するオプションがお使いのユーザにマッチしないのであれば、独自にコントロールのオプションを定義してみてください。独自のオプションを作成する手順は次のとおりです:</para>
    <orderedlist>
      <listitem>
        <para><filename>/usr/share/themes</filename> の下に、コントロールのオプションを格納するためのフォルダを作成するが、その際は他のオプションが採用しているフォルダ階層と同じにする; 例えば、SmallPrint というオプションを定義する際は次のようなフォルダを作成する:</para>
        <itemizedlist>
          <listitem>
            <para>
              <filename>/usr/share/themes/SmallPrint</filename>
            </para>
          </listitem>
          <listitem>
            <para>
              <filename>/usr/share/themes/SmallPrint/gtk-2.0</filename>
            </para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para>システム規模のテーマからユーザの要求を満たす設定に最も近い <filename>gtkrc</filename> ファイルを探し、新しいオプションをインストールする <filename>gtk-2.0</filename> フォルダにコピーする</para>
      </listitem>
      <listitem>
        <para><filename>gtkrc</filename> ファイルをテキスト・エディタの中に開いて、必要の応じコントロールを意味する GUI インタフェースの属性を編集する</para>
      </listitem>
      <listitem>
        <para>もし新しいオプションに画像を含めたいのであれば、その画像を新しいオプションをインストールする <filename>pixmaps</filename> フォルダにコピーしておく (別のオプションが持つ画像を利用するような場合は画像のコピーを作成せずに、その画像へのリファレンスが <filename>gtkrc</filename> ファイルの <literal>pixmap_path</literal> エントリで定義されているか確認すること)</para>
      </listitem>
    </orderedlist>
    <para>これでユーザは新しいコントロールのオプションを選択できるようになりました。</para>
    <para><filename>gtkrc</filename> ファイルについて詳細は「<ulink url="http://developer.gnome.org/doc/API/2.0/gtk/index.html">http://developer.gnome.org/doc/API/2.0/gtk/index.html</ulink>」(<ulink url="http://mikeforce.net/documents/gtk+-2.8.x-refs/gtk/html/gtk-Resource-Files.html">日本語版</ulink>) をご覧ください。</para>
  </sect1>
</chapter>

<chapter id="fontconfig-0">
  <title>フォントの設定</title>
  <highlights>
    <para>この章では GNOME デスクトップのフォントを設定する方法を説明します。</para>
  </highlights>
  <sect1 id="fontconfig-1">
    <title>フォントの設定について</title>
    <indexterm>
      <primary>configuring fonts</primary>
      <see>fonts</see>
    </indexterm>
    <indexterm>
      <primary>fontconfig</primary>
      <see>fonts</see>
    </indexterm>
    <indexterm>
      <primary>fonts</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <para>GNOME デスクトップでは <literal>fontconfig</literal> というフォント設定ツールと関連ライブラリを利用しています。<literal>fontconfig</literal> のライブラリは、PostScript の Type 1 形式や TrueType 形式のフォントを含め、すべての種類のフォントを利用できるようになっています。</para>
    <para><literal>fontconfig</literal> のライブラリはお使いの GNOME デスクトップで利用できるフォントの一覧を提供してくれます。この一覧をコンパイルする際、<literal>fontconfig</literal> は <filename>/etc/fonts/fonts.conf</filename> というファイルの中に記載されたフォルダを解析します。システム規模で利用可能なフォントの一覧を取得するには、ファイル・マネージャで <literal>fonts:///</literal> という場所にアクセスしてみてください。</para>
    <para><literal>fontconfig</literal> のライブラリについて詳細は次の URL を参照してみてください:</para>
    <literallayout>
      <ulink url="http://freedesktop.org/software/fontconfig">http://freedesktop.org/software/fontconfig</ulink>
    </literallayout>
  </sect1>
  <sect1 id="fontconfig-4">
    <title>フォントの置き換え</title>
    <indexterm>
      <primary>fonts</primary>
      <secondary>substitution</secondary>
    </indexterm>
    <para><literal>fontconfig</literal> ライブラリは、フォントそのものが存在しない、またはいくつかの文字が存在しない時にフォントの置き換えを実施します。もしシステムで利用できないフォントを表示しなければならなくなったら、<literal>fontconfig</literal> は類似したフォントを使った表示を試みます。例えば、ウェブ・ページで <firstterm>Verdana</firstterm> というフォントを使った表示を要求し、そのフォントがシステムにインストールされていなかった場合、<literal>fontconfig</literal> のライブラリは <firstterm>Helvetica</firstterm> のような類似したフォントで描画します。類似したフォントの一覧は <filename>/etc/fonts/fonts.conf</filename> というファイルの中に定義されています。</para>
    <para>選択したフォントの中には存在していない文字を表示しなければならなくなった場合、<literal>fontconfig</literal> のライブラリは類似した別のフォントにある文字を使った表示を試みます。例えば、<firstterm>Bitstream Vera Sans</firstterm> というフォントをテキスト・エディタで設定しているものとします。そして、この <firstterm>Bitstream Vera</firstterm> というフォントにはキリル文字は含まれていません。ここでキリル文字を含むドキュメントを開くと、テキスト・エディタはキリル文字を表示するためにキリル文字を含んでいるよく似たフォントを利用します。</para>
    <para>さらに <literal>fontconfig</literal> のライブラリは、<literal>serif</literal> とか <literal>sans-serif</literal> とか <literal>monospace</literal> といったフォントに対する別名を定義します。フォントの別名から一つ選択すると、システムは <filename>/etc/fonts/fonts.conf</filename> で別名として定義した一番最初のフォントを利用します。</para>
  </sect1>
  <sect1 id="fontconfig-2">
    <title>すべてのユーザ向けにフォントを追加する</title>
    <indexterm>
      <primary>fonts</primary>
      <secondary>adding for all users</secondary>
    </indexterm>
    <para>デスクトップ環境を利用するすべてのユーザ向けにフォントを追加する手順は次のとおりです:</para>
    <orderedlist>
      <listitem>
        <para>フォントのファイルを <filename>/etc/fonts/fonts.conf</filename> ファイルに記述したフォルダのいずれかにコピーする (一般的にフォントは <filename>/usr/share/fonts/</filename> というフォルダにインストールされる)</para>
      </listitem>
      <listitem>
        <para><literal>fontconfig</literal> のライブラリがフォントの一覧を自動的に更新するが、もし何らかの理由で更新されなかったら、次のコマンドラインを実行する:</para>
        <screen><userinput>fc-cache <replaceable>フォルダ名</replaceable></userinput></screen>
      </listitem>
    </orderedlist>
  </sect1>
  <sect1 id="fontconfig-3">
    <title>ユーザ毎にフォントを追加する</title>
    <indexterm>
      <primary>fonts</primary>
      <secondary>adding for individual users</secondary>
    </indexterm>
    <para>ユーザが個々にフォントを追加する手順は次のとおりです:</para>
    <orderedlist>
      <listitem>
        <para>フォントのファイルをユーザの <filename>$HOME/.fonts</filename> というフォルダにコピーする (フォントのファイルをファイル・マネージャから <literal>fonts:///</literal> という場所にドラッグした場合、フォントのファイルのコピーが自動的に <filename>$HOME/.fonts</filename> というフォルダに作成される)</para>
      </listitem>
      <listitem>
        <para><literal>fontconfig</literal> のライブラリがフォントの一覧を自動的に更新するが、もし何らかの理由で更新されなかったら、次のコマンドラインを実行する:</para>
        <screen><userinput>fc-cache <replaceable>フォルダ名</replaceable></userinput></screen>
      </listitem>
    </orderedlist>
  </sect1>
</chapter>


<chapter id="mimetypes-0">
  <title>MIME 型</title>
  <anchor id="mimetypes-TBL-3"/>
  <anchor id="mimetypes-TBL-6"/>
  <anchor id="mimetypes-TBL-8"/>

  <highlights>
    <para>この章ではアプリケーションで MIME 型を検出する方法や、MIME 型を登録する方法、そして GNOME デスクトップにアプリケーションを追加する方法について説明します。</para>
  </highlights>

  <para>本章は、MIME データベースをいろいろ設定する方法に関するシステム管理者の理解を促し、加えて MIME システムの一般的な概要を説明することを目的としています。そのため、必要以上に詳しく解説する<emphasis>つもりはありません</emphasis>。さらに学習したいのであれば「<ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG Shared MIME Info の仕様</ulink>」をご覧ください。</para>

  <sect1 id="mimetypes-intro">
    <title>MIME 型について</title>
    <anchor id="mimetypes-1"/>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>introduction</secondary>
    </indexterm>

    <para><firstterm>Multipurpose Internet Mail Extension</firstterm> (多目的インターネットメール拡張) [<acronym>MIME</acronym>] 型はファイルの形式や書式を識別する際に使用する規格です。インターネット・ブラウザとか電子メールのクライアントなどのアプリケーションはファイルの MIME 型に応じてどのようなアクションを実行するかを決定します。例えば、電子メールのクライアントは MIME 型を利用してメールに添付されているデータの種類を識別し、そのファイルを処理するのに妥当なビューアを自動的に選択します (テキストのドキュメントならば <application>gedit</application> を起動するなど)。</para>

    <para>もう一つ別の例を紹介すると、<application>Nautilus</application> というファイル・マネージャは次に示す処理を行うために、選択したファイルの MIME 型を知っておく必要があります:</para>

    <itemizedlist>
      <listitem>
        <para>そのファイルを妥当なアプリケーションで開く</para>
      </listitem>

      <listitem>
        <para>そのファイルの種類を説明する文字列を表示する</para>
      </listitem>

      <listitem>
        <para>そのファイルの種類を表す妥当なアイコンを表示する</para>
      </listitem>

      <listitem>
        <para>そのファイルを開くことができる他のアプリケーションの一覧を表示する</para>
      </listitem>
    </itemizedlist>

    <para>もともと MIME 型は電子メールの本文の形式を識別するための標準として提案されていたものでした。現在では、たくさんのシステムがこの MIME 型を利用してシステムに格納されているファイルの種類を特定しています。MIME 型は、トップレベルは <emphasis>type</emphasis> (メディアの種類) と <emphasis>subtype</emphasis> (詳細な形式) という二つの情報から構成されています (これらの情報は <quote><literal>/</literal></quote> で区切られています)。MIME 型の一例として <literal>image/jpeg</literal> というものがあります。この例では、メディアの種類は <quote><literal>image</literal></quote> で、詳細な形式は <quote><literal>jpeg</literal></quote> に相当します。トップレベルの type はファイルに格納されているデータの一般的な分類を表しており、subtype の方はファイルの形式 (フォーマット) を特定するための識別子です。</para>

    <para>現在のところ <acronym>IANA</acronym> [Internet Assigned Naming Authority] が定義しているメディアの種類 <firstterm>type</firstterm> は８個あります。この８つの <firstterm>type</firstterm> は <simplelist type="inline">
        <member>application</member>

        <member>audio</member>

        <member>image</member>

        <member>message</member>

        <member>model</member>

        <member>multipart</member>

        <member>text</member>

        <member>video</member>
      </simplelist> です。各 <firstterm>type</firstterm> 毎にたくさんの <firstterm>subtype</firstterm> が存在します。詳細は <ulink url="http://www.iana.org/">IANA</ulink> のウェブ・サイトにある「<ulink url="http://www.iana.org/assignments/media-types/">MIME Media Types</ulink>」をご覧ください。</para>

    <para>GNOME における MIME 型の実装は「<ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG Shared MIME Info の仕様</ulink>」に準拠します。この仕様には次のような特徴があります:</para>

    <itemizedlist>
      <listitem>
        <para>MIME に関連するすべてのファイルの標準的な場所を特定できる</para>
      </listitem>

      <listitem>
        <para>新しく MIME 型の情報を登録する標準的な方法をアプリケーションに提供できる</para>
      </listitem>

      <listitem>
        <para>任意のファイルから MIME 型を取得する標準的な方法を提供できる</para>
      </listitem>

      <listitem>
        <para>任意の MIME 型に関する情報を取得する標準的な方法を提供できる</para>
      </listitem>
    </itemizedlist>

    <para>本章の残りの部分で MIME 型のデータベースを構成しているファイルやフォルダについて説明し、それからソース XML の詳細と MIME 型を作成したり編集する方法、そして特定の MIME 型を取り扱うハンドラとしてアプリケーションを登録する方法、最後にアプリケーションを GNOME デスクトップに追加する方法について説明します。</para>
  </sect1>

  <sect1 id="mimetypes-database">
    <title>MIME 型のデータベースについて</title>
    <anchor id="mimetypes-4"/>
    <anchor id="mimetypes-5"/>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>database</secondary>
    </indexterm>

    <para>MIME 型のデータベースは、次に示すデータを持った、いろいろな種類のファイルから構成されています:</para>

    <itemizedlist>
      <listitem>
        <para>MIME 型の種類</para>
      </listitem>

      <listitem>
        <para>ファイルの MIME 型を決定するメソッド</para>
      </listitem>

      <listitem>
        <para>MIME 型に関するメタ情報 (例えば MIME 型を説明する可読な情報など)</para>
      </listitem>
    </itemizedlist>

    <sect2 id="mimetypes-location">
      <title>データの保管場所</title>

      <para>システム管理者が MIME 型を使ったシステムを理解する上で最も重要でかつ基本的なことは、このシステムを構成しているファイルがどこに保管されているかということを知るということです。「<ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG Shared MIME Info の仕様</ulink>」がＸのデスクトップ・グループによって起草されたことに起因して、「<ulink url="http://www.freedesktop.org/wiki/Standards/basedir-spec">XDG ベース・ディレクトリの仕様</ulink>」も同時に適用されます。システム管理者としてメニューを編集するといった作業も重要ですが、その一環として MIME 型の仕様を理解することも強くお薦めします。MIME 型の仕様に関するフォルダの構成についてその概要はこれ以降で説明します。</para>

      <para>MIME 型のデータベースは <filename>$XDG_DATA_HOME/mime</filename> と <filename>$XDG_DATA_DIRS/mime</filename> のフォルダに格納されている複数のファイルの集合から構成されています。これらの環境変数が共にセットされていない場合、それぞれデフォルト値の <filename>~/.local/share</filename> と <filename>/usr/local/share:/usr/share</filename> を使用します。<envar>$XDG_DATA_DIRS</envar> のデフォルト値を見てもわかるように、環境変数はそれぞれコロン (<literal>:</literal>) を区切り文字として複数のフォルダのからなるリストになっています。<filename>$XDG_DATA_HOME/mime</filename> にあるユーザ専用のデータベースは <filename>$XDG_DATA_DIRS/mime</filename> にあるシステム規模のデータベースよりも優先順位が高いです。<citetitle>XDG Shared Mime Info の仕様<citetitle>と同様に、これ以降はこれらのフォルダを <literal>&lt;MIME&gt;</literal> として参照することにします (置き換えて説明することにします)。</citetitle></citetitle></para>

      <para>例えば環境変数のためのデフォルトのパスを想定し、「<filename>&lt;MIME&gt;/text/plain.xml</filename> を読み込みます」といった場合は次に示すファイルを読み込むという意味になります:</para>

      <itemizedlist>
        <listitem>
          <para><filename>~/.local/share/mime/text/plain.xml</filename></para>
        </listitem>

        <listitem>
          <para><filename>/usr/local/share/mime/text/plain.xml</filename></para>
        </listitem>

        <listitem>
          <para><filename>/usr/share/mime/text/plain.xml</filename></para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="mimetypes-contents">
      <title>データの内容</title>

      <para>次の一覧は MIME 型のデータベースを構成しているフォルダとファイル、そしてその概要を説明したものです:</para>

      <variablelist>
        <varlistentry>
          <term><filename>&lt;MIME&gt;/packages/</filename></term>

          <listitem>
            <para>このフォルダにはたくさんの XML ファイルが格納されており、それぞれのファイルには複数の MIME 型の説明が記述されています。デフォルトでは、<filename>freedesktop.org.xml</filename> というファイルがシステム規模の <filename>/usr/share/mime/packages</filename> というフォルダにインストールされているはずです。このファイルには一般的に広く使われ認知されているデフォルトの MIME 型がすべて含まれています。</para>

            <para>新しい MIME 型に関するデータを提供するアプリケーションは、このフォルダに<emphasis>１個の</emphasis>新しい ソース XML ファイルをインストールします。アプリケーションがインストールされる場所の接頭子に応じて、環境変数の <envar>$XDG_DATA_HOME:$XDG_DATA_DIRS</envar> で示されたいずれかのフォルダの <filename>/mime/package</filename> サブフォルダの中にファイルを生成します。例えば <filename>/usr/bin</filename> にインストールされるアプリケーションは <filename>/usr/share/mime/packages</filename> フォルダに新しいソース XML のファイルをインストールしなければなりません。<filename>packages</filename> フォルダの中にあるソース XML のファイルについて詳細は「<xref linkend="mimetypes-source-xml"/>」をご覧ください。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/<replaceable>メディアの種類</replaceable>/<replaceable>詳細な形式</replaceable>.xml</filename></term>

          <listitem>
            <para>これらのフォルダとそこに格納されているファイルは、<application>update-mime-database</application> というコマンドを使って、<filename>&lt;MIME&gt;/packages/</filename> サブフォルダの中にあるソース XML ファイルの集合から自動的に生成されます。例えば、<literal>mime-type</literal> という要素が <filename>/usr/share/mime/packages/freedesktop.org.xml</filename> ファイルの中にありますが、この要素毎に MIME 型の<emphasis>メディアの種類</emphasis>に対応したフォルダが <filename>/usr/share/mime/</filename> の中にサブフォルダとして生成されます。同様にソース XML ファイルは MIME 型の<emphasis>詳細な形式を表す識別子</emphasis>に対応したサブフォルダの中に生成されます。生成した XML ファイルの中身はコメント (と、それをさまざまな言語に翻訳したもの)、詳細な形式の識別子と別名が含まれています。</para>

            <example>
              <title>例: <filename>/usr/share/mime/text/plain.xml</filename> ファイル</title>

              <para><programlisting>&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="text/plain"&gt;
&lt;!--update-mime-database コマンドで自動的に生成されます (** 編集しないこと！ **)--&gt;
  &lt;comment&gt;plain text document&lt;/comment&gt;
  &lt;!-- (いろいろな言語で翻訳したコメントが続く) --&gt;
  &lt;comment xml:lang="fr"&gt;document plein texte&lt;/comment&gt;
  &lt;comment xml:lang="hu"&gt;egyszerű szöveg&lt;/comment&gt;
  &lt;comment xml:lang="it"&gt;Documento in testo semplice&lt;/comment&gt;
  &lt;comment xml:lang="ja"&gt;平文テキストドキュメント&lt;/comment&gt;
  &lt;!-- (いろいろな言語で翻訳したコメントが続く) --&gt;
&lt;/mime-type&gt;
</programlisting>このファイルは、<application>update-mime-database</application> というコマンドがデフォルトのソース XML ファイルである <filename>freedesktop.org.xml</filename> を読み込んで自動的に生成されます。</para>
            </example>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/globs</filename></term>

          <listitem>
            <para>このファイルには、１行につき１つの MIME 型と１つの グロブ・パターンが記述されています (区切り文字はコロン <quote><literal>:</literal></quote>)。この グロブ・パターンにマッチしたファイルが最終的にコロンの前で定義された MIME 型に関連付けられます。ここで、ファイル名が グロブ・パターンにマッチさせる特別なルールがいくつかあります。これらのルールについて詳細は「<citetitle>XDG shared mime specification</citetitle>」をご覧ください。</para>

            <para>このファイルも <application>update-mime-database</application> というコマンドがデフォルトのソース XML ファイルである <filename>freedesktop.org.xml</filename> を読み込んで自動的に生成されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/magic</filename></term>

          <listitem>
            <para>これは、ファイルの中身の「においをかぐ」(<firstterm>Sniffing</firstterm> する) ことで MIME 型を解決する方法を格納したバイナリ・ファイルです。これは一般的に、「ファイルの中身の先頭バイトが <literal>%PDF- </literal> という文字列で始まっているかどうかチェックする; もしそうならば MIME 型として <literal>application/pdf</literal> を関連付ける」といったルールが１個以上記述されています。</para>

            <para>このファイルも <application>update-mime-database</application> コマンドを使って生成されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/XMLnamespaces</filename></term>

          <listitem>
            <para>このファイルには XML の名前空間を MIME 型にマッピングする情報が記述されています。１行につき名前空間と localName と MIME 型の三つの情報が記述され、区切り文字はスペース <quote><literal> </literal></quote> です。もし localName が空ならば、名前空間と MIME 型の間には２つのスペースが並ぶことになります。</para>

            <para>このファイルも <application>update-mime-database</application> コマンドを使って生成されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/aliases</filename></term>

          <listitem>
            <para>このファイルには MIME 型の別名が一覧で記述されています。別名とはまれに MIME 型が別の型として扱われることを意味します。一行ごとに２つのデータを記述します: 先頭が別名で、最後が MIME 型です (区切り文字はスペース <quote><literal> </literal></quote> です)。</para>

            <para>このファイルも <application>update-mime-database</application> コマンドを使って生成されます。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/subclasses</filename></term>

          <listitem>
            <para>このファイルにはサブクラス化した MIME 型とそれらの「親」に相当する MIME 型が一覧で記述されています。「<citetitle>XDG Shared MIME Info の仕様</citetitle>」によれば:<blockquote>
                <para>最初の型のいずれかのインスタンスが最後の型のインスタンスの一つになるのであれば、その型は別の型のサブクラスといいます。例えば、image/svg 型のファイルは全て text/xml でかつ text/plain でかつ application/octet-stream なファイルといえます。実際は、データの種類ではなくファイルの形式でサブクラスに分類しています (例えば、すべてのスプレッドシートが継承する「汎用的なスプレッドシート」なんてものは存在しませんから)。</para>
              </blockquote>このファイルは <filename>&lt;MIME&gt;/aliases</filename> と書式が似ています。一行ごとに二つのデータを記述します。 先頭がサブクラス化した MIME 型で最後が親の MIME 型です (区切り文字はスペース <quote><literal> </literal></quote> です)。</para>

            <para>このファイルも <application>update-mime-database</application> コマンドを使って生成されます。</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="mimetypes-refresh">
      <title>MIME 型データベースを更新する</title>

      <para>新しい MIME 型をシステムに追加するとか、MIME 型の情報を変更するといった作業を行うシステム管理者にとって、MIME 型のデータベースを更新する方法を理解しておくことは重要なことです。ここでは <application>update-mime-database</application> というコマンドが既にインストールされているものとして説明します。</para>

      <para>例えば、アプリケーションが新しい MIME 型の情報を <filename>/usr/share/mime/packages/diff.xml</filename> にインストールしたら、その後に必ず <application>update-mime-database</application> というコマンドを <filename>/usr/share/mime</filename> という引数を指定して呼び出してください。</para>

      <screen><prompt>#</prompt> <userinput>update-mime-database /usr/share/mime</userinput>
<computeroutput>***
* Updating MIME database in /usr/share/mime...
***
</computeroutput></screen>

      <para>すると、<filename>&lt;MIME&gt;/packages</filename> のフォルダにあるすべてのソース XML ファイルを解析して、MIME 型のデータベースを更新します。</para>
    </sect2>
  </sect1>

  <sect1 id="mimetypes-source-xml">
    <title>ソース XML ファイル</title>
    <anchor id="mimetypes-11"/>
    <anchor id="mimetypes-12"/>
    <anchor id="mimetypes-2"/>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>source XML files</secondary>
    </indexterm>

    <para><filename>&lt;MIME&gt;/packages</filename> というフォルダの中に格納されている、これらの XML ファイルは <application>update-mime-database</application> によってデータベースにインストールされる MIME 型に関するすべての情報を提供します。この XML ファイルにはいくつか規則があります:</para>

    <itemizedlist>
      <listitem>
        <para>名前空間を <quote><literal>http://www.freedesktop.org/standards/shared-mime-info</literal></quote> に指定すること</para>
      </listitem>

      <listitem>
        <para>ルート要素は <literal>mime-info</literal> にすること</para>
      </listitem>

      <listitem>
        <para><literal>mime-info</literal> 要素の子要素として０個以上の <literal>mime-type</literal> 要素を指定すること。<literal>type</literal> 属性を、定義される MIME 型を指定するために使用する</para>
      </listitem>
    </itemizedlist>

    <para>デフォルトで、<filename>freedesktop.org.xml</filename> というファイルが <filename>&lt;MIME&gt;</filename> が示すいずれかのパス (通常は <filename>/usr/share/mime/packages</filename>) にある <filename>packages</filename> というフォルダにインストールされています。</para>

    <para><xref linkend="mimetypes-mimeinfo-elements"/> は、ルート要素である <literal>mime-type</literal> の子要素になることが可能な要素の概要を一覧にまとめたものです。</para>

    <table frame="topbot" id="mimetypes-mimeinfo-elements">
      <title><literal>&lt;mime-type&gt;</literal> の子要素</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colwidth="44.90*"/>

        <colspec colwidth="59.10*"/>

        <thead>
          <row rowsep="1">
            <entry>要素 (含む属性)</entry>

            <entry>説明</entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry><literal>&lt;glob pattern="<replaceable>*.xyz</replaceable>"&gt;</literal></entry>

            <entry>この要素はファイル名に対する glob のパターンを表し、もしファイル名がこのパターンにマッチしたら、親の <literal>mime-type</literal> の MIME 型が割り当てられる (<literal>pattern</literal> という属性は必須である)</entry>
          </row>

          <row>
            <entry><literal>&lt;magic priority="<replaceable>50</replaceable>"&gt;</literal></entry>

            <entry>この要素には子要素としていくつかの <literal>match</literal> 要素が含まれることになるが、<literal>priority</literal> という属性はオプションであり、マッチングの優先度を 0〜100 の間で指定する (子要素の <literal>match</literal> には必須の属性が三つあり (<simplelist type="inline">
                <member><literal>type</literal></member>

                <member><literal>offset</literal></member>

                <member><literal>value</literal></member>
              </simplelist>)、四つ目の <literal>mask</literal> はオプションである; これらの属性について詳細は <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">「XDG Shared MIME Info の仕様」</ulink> を参照のこと)</entry>
          </row>

          <row>
            <entry><literal>&lt;alias type="<replaceable>media</replaceable>/<replaceable>subtype</replaceable>"&gt;</literal></entry>

            <entry>この要素を使って、親の <literal>mime-type</literal> 要素に対する別名を定義する (別名とは、たまに MIME 型が別の型として扱われることを意味する; 例えば、<literal>application/x-pdf</literal> という型の別名は <literal>application/pdf</literal> である)</entry>
          </row>

          <row>
            <entry><literal>&lt;sub-class-of type="<replaceable>media</replaceable>/<replaceable>subtype</replaceable>"&gt;</literal></entry>

            <entry>この要素では MIME 型のサブクラスとして <literal>type</literal> を属性とする親の <literal>mime-type</literal> 要素を定義する (例えば、<literal>image/svg</literal> は <literal>text/xml</literal> や <literal>text/plain</literal>、そして <literal>application/octet-stream</literal> のサブクラスである)</entry>
          </row>

          <row>
            <entry><literal>&lt;comment xml:lang="<replaceable>ロケール名</replaceable>"&gt;</literal></entry>

            <entry>この要素は MIME 型に対する可読な説明を提供する (一行ごとに <literal>xml:lang</literal> という属性に対して重複しない値を指定している限り、０個以上の可読な説明を定義することが可能である)</entry>
          </row>

          <row>
            <entry><literal>&lt;root-XML namespaceURI="<replaceable>名前空間</replaceable>" localName=""&gt;</literal></entry>

            <entry>ファイルが１個のソース XML ファイルとわかった場合、この要素を使って <literal>namespaceURI</literal> と <literal>localName</literal> という属性 (共に必須) からさらに詳細な MIME 型に分類する (属性の <literal>namespaceURI</literal> は XML ドキュメントの名前空間であり、<literal>localName</literal> はそのドキュメントのルート要素である; もし <literal>localName</literal> を指定したもののその値が空の場合、ルート要素には名前を付けることは可能であるが、名前空間とマッチしていなければならない)</entry>
          </row>
        </tbody>
      </tgroup>
    </table>

    <para>これらのルールを理解する一番簡単な方法は、やはり「サンプルを見る」ということでしょう。「<citetitle>XDG Shared MIME Info の仕様</citetitle>」にある例を拝借し、<xref linkend="mimetypes-source-xml-example"/> に <filename>diff.xml</filename> という名前のソース XML ファイルの内容を示します。この例には <literal>text/x-diff</literal> という MIME 型が定義されています。この例には <literal>comment</literal> という子要素が複数あり、この MIME 型の名前がいろいろな言語で記載されています。この MIME 型には glob パターンによるマッチング<emphasis>と</emphasis>ファイルの中身の「においをかぐ」<firstterm>Sniffing</firstterm> (<filename>magic</filename> とも言います) による解析の両方がルールとして定義されています。ファイルの拡張子が <literal>.diff</literal> または <filename>.patch</filename> のファイルはすべてこの MIME 型が割り当てられます。さらに、データが <literal>match</literal> 要素の中で指定した <literal>value</literal> 属性の文字列で始まるすべてのファイルもこの <literal>text/x-diff</literal> 型が割り当てられます。</para>

    <para>glob のパターンと magic ルールを並べる順番はこのドキュメントのスコープを越えて適用されます。スコープについて詳細は「<ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG Shared MIME Info の仕様</ulink>」を参照ください。</para>

    <example id="mimetypes-source-xml-example">
      <title>ソース XML ファイルの例: <filename>diff.xml</filename></title>

      <programlisting>&lt;?xml version='1.0'?&gt;
&lt;mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'&gt;
  &lt;mime-type type="text/x-diff"&gt;
    &lt;comment&gt;Differences between files&lt;/comment&gt;
    &lt;comment xml:lang="ja"&gt;ファイル間の差分&lt;/comment&gt;
    &lt;!-- 以下、他の言語で翻訳したコメント文が続く... --&gt;
    &lt;magic priority="50"&gt;
      &lt;match type="string" offset="0" value="diff\t"/&gt;
      &lt;match type="string" offset="0" value="***\t"/&gt;
      &lt;match type="string" offset="0" value="Common subdirectories: "/&gt;
    &lt;/magic&gt;
    &lt;glob pattern="*.diff"/&gt;
    &lt;glob pattern="*.patch"/&gt;
  &lt;/mime-type&gt;
&lt;/mime-info&gt;</programlisting>
    </example>
  </sect1>

  <sect1 id="mimetypes-modifying">
    <title>MIME 型を変更する</title>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>verifying changes</secondary>
    </indexterm>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>modifying</secondary>
    </indexterm>

    <para>アプリケーションが <filename>&lt;MIME&gt;/packages</filename> フォルダにインストールしたソース XML ファイルを直接変更しないでください。代わりに、<filename>Overrides.xml</filename> という編集専用のファイルを変更してください。このファイルは同じ <filename>&lt;MIME&gt;/packages</filename> というフォルダにインストールしたどのソース XML ファイルよりも優先されます。但し、あなたがアプリケーション開発者ならば、このルールは無用です。新しいソース XML ファイルを作成し <filename>&lt;MIME&gt;/packages</filename> フォルダにインストールするようにしてください (当然ながら <filename>Makefile</filename> 側でこのような配慮をすべきです)。</para>

    <para>システム規模ですべてのユーザに対する MIME 型データベースを変更することも、特定のユーザのためだけに変更することもできるようになっています。すべてのユーザに対してデータベースを変更する際は、<filename>$XDG_DATA_DIRS/mime/packages</filename> フォルダにある <filename>Overrides.xml</filename> というファイルを修正してください。特定のユーザだけに変更する際は、<filename>$XDG_DATA_HOME/mime/packages</filename> フォルダにある <filename>Overrides.xml</filename> というファイルを修正してください。</para>

    <para>変更が済んだら、必ず <application>update-mime-database</application> コマンドに MIME データベースの場所を指定して実行してください。</para>

    <sect2 id="mimetypes-addmodify">
      <title>MIME 型を追加したり変更する</title>

      <para>すべてのユーザに対して一つ以上の MIME 型を追加する手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para>MIME 型の定義をいろいろ記述したソース XML ファイルの <filename>Overrides.xml</filename> を作成するか、または変更する (詳細は「<xref linkend="mimetypes-source-xml"/>」を参照のこと)</para>
        </listitem>

        <listitem>
          <para>この <filename>Overrides.xml</filename> ファイルを <filename>/usr/share/mime/packages</filename> というフォルダに格納する</para>
        </listitem>

        <listitem>
          <para>システム管理者の権限で <application>update-mime-database</application> コマンドを実行し MIME 型のデータベースを更新する<screen><userinput>update-mime-database /usr/share/mime</userinput></screen></para>
        </listitem>
      </orderedlist>

      <para>特定のユーザに対してのみ一つ以上の MIME 型を追加する場合の手順は、ここで編集した <filename>Overrides.xml</filename> ファイルを格納する先が <filename>~/.local/share/mime/packages</filename> フォルダである以外はすべて同じです。加えて、<application>update-mime-database</application> コマンドを使って更新する MIME 型データベースの所在は <filename>~/.local/share/mime/packages</filename> になります。</para>
    </sect2>

    <sect2 id="mimetypes-verifying">
      <title>変更点を検証する</title>
      <anchor id="mimetypes-10"/>

      <para>MIME 型のデータベースに変更を加えその内容を更新したら、<application>gnomevfs-info</application> (または <application>gvfs-info</application>) というコマンドを使って実際に変更内容を検証することができます。このコマンドは MIME 型の情報とファイルに関する有益な情報をいろいろ提供してくれます。</para>

      <para>SVG のファイルに対して <application>gnomevfs-info</application> コマンドを実行した結果を下に示します。その結果から、この MIME 型に対するデフォルトのアプリケーションが <filename>eog.desktop</filename> であることがわかります。デフォルトのアプリケーションについては「<xref linkend="mimetypes-registering"/>」で説明します。</para>

      <screen><prompt>$</prompt> <userinput>gnomevfs-info mime-diagram.svg</userinput>
<computeroutput>Name              : mime-diagram.svg
Type              : Regular
MIME type         : image/svg+xml
Default app       : eog.desktop
Size              : 14869
Blocks            : 32
I/O block size    : 4096
Local             : YES
SUID              : NO
SGID              : NO
Sticky            : NO
Permissions       : 600644
Link count        : 1
UID               : 1000
GID               : 100
Access time       : Wed Feb 22 18:24:47 2006
Modification time : Wed Feb 22 18:24:42 2006
Change time       : Wed Feb 22 18:24:42 2006
Device #          : 775
Inode #           : 297252
Readable          : YES
Writable          : YES
Executable        : NO</computeroutput>
<prompt>$</prompt>
</screen>

      <para>「<xref linkend="mimetypes-newtype-example"/>」では新しい MIME 型を作成し <application>gnomevfs-info</application> を使って変更内容を検証する手順を順を追って説明しています。</para>
    </sect2>

    <sect2 id="mimetypes-newtype-example">
      <title><literal>application/x-newtype</literal> の例</title>

      <para>MIME 型を作成 (または上書き) して検証する際の手順は次のとおりです:</para>

      <orderedlist>
        <listitem>
          <para>ホーム・フォルダに <filename>testing.xyz</filename> という新しい空のファイルを作成する</para>
        </listitem>

        <listitem>
          <para><application>gnomevfs-info</application> コマンドを使ってこのファイルの MIME 型を解析してみる (このファイルの MIME 型が <literal>text/plain</literal> として検出されているかどうかを確認すること; なぜなら glob パターンも magic ルールも存在していないので<footnote>
              <para>特定のファイルにマッチさせる glob パターンや magic ルールが必要ない時に、ファイルの中に文字列からなるデータが格納されているならば <literal>text/plain</literal> という MIME 型を、あるいはバイナリ・データが格納されていれば <literal>application/octet-stream</literal> という MIME 型を割り当てます (もしファイルが空ならば、デフォルトでは <literal>text/plain</literal> を割り当てます)。</para>
            </footnote>)</para>
        </listitem>

        <listitem>
          <para>「<xref linkend="mimetypes-addmodify"/>」で説明したように、<xref linkend="mimetypes-overrides-xml"/> の内容で <filename>Overrides.xml</filename> というファイルを作成するかまたは変更する</para>
        </listitem>

        <listitem>
          <para><application>update-mime-database</application> コマンドでデータベースを更新する</para>
        </listitem>

        <listitem>
          <para><application>gnomevfs-info</application> コマンドを使い、変更点の内容を検証する (この <filename>testing.xyz</filename> ファイルの MIME 型が <literal>application/x-newtype</literal> になっているか確認する)</para>

          <screen><prompt>$</prompt> <userinput>gnomevfs-info testing.xyz | grep MIME
</userinput><computeroutput>MIME type         : application/x-newtype
</computeroutput><prompt>$</prompt></screen>
        </listitem>
      </orderedlist>

      <example id="mimetypes-overrides-xml">
        <title><filename>Overrides.xml</filename> ファイル</title>

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

  <sect1 id="mimetypes-registering">
    <title>MIME 型を処理するアプリケーションを登録する</title>

    <anchor id="mimetypes-7"/>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>registering applications for</secondary>
    </indexterm>

    <indexterm>
      <primary>applications</primary>

      <secondary>registry</secondary>
    </indexterm>

    <para>任意の MIME 型のファイルを扱うアプリケーションの登録はかなり単純です。それらのアプリケーションの <filename>.desktop</filename> の中に <literal>MimeType</literal> キーを持つエントリを一つ作成し、MIME 型をセミコロン (<quote>;</quote>) で区切って並べます。<literal>MimeType</literal> というキーは、<literal>Type</literal> キーの値が <quote><literal>Application</literal></quote> である <filename>.desktop</filename> でのみ使用するようにしてください。<filename>.desktop</filename> ファイルについて詳細は「<xref linkend="menustructure-desktopentry"/>」をご覧ください。</para>

    <para><filename>.desktop</filename> ファイルを作成するか変更するなどしたら、<application>update-desktop-database</application> コマンドを使ってデスクトップ・アプリケーション用のデータベースを更新してください (このコマンドは引数を受け取らない点を除いて、<application>update-mime-database</application> とかなり類似しています)。このコマンドは <filename>mimeinfo.cache</filename> というファイルを <filename>$XDG_DATA_HOME:$XDG_DATA_DIRS</filename> が示す各フォルダの <filename>applications</filename> サブフォルダの中に生成します。このキャッシュ・ファイルが存在していることで、デスクトップ・エントリのファイルから <literal>MimeType</literal> キーを取得する際に、すべての <filename>.desktop</filename> ファイルを解析する必要がなく、デスクの I/O を抑えることができます。</para>

    <para>特定の MIME 型で使用するデフォルトのアプリケーションは <filename>defaults.list</filename> と呼ばれるファイルの中で指定します。このファイルは環境変数である <envar>$XDG_DATA_HOME</envar> と <envar>$XDG_DATA_DIRS</envar> が示すフォルダの <filename>applications</filename> サブフォルダの中に保管されています。このファイルには、一行ごとに MIME 型とデスクトップ・エントリのファイルの識別子 (デスクトップ・エントリのファイル名) が <literal>=</literal> で区切られて記述されています。<xref linkend="mimetypes-registering-example"/> に <filename>~/.local/share/applications</filename> というフォルダに格納された <filename>defaults.list</filename> ファイルの短い例を示します。</para>

    <example id="mimetypes-registering-example">
      <title>ユーザ用の <filename>defaults.list</filename> ファイル</title>

      <programlisting>[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
</programlisting>
    </example>

    <note>
      <title>XDG デスクトップ・エントリの仕様</title>

      <para>アプリケーション毎に MIME 型を登録する方法は「<ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG Shared MIME Info の仕様</ulink>」というよりは、むしろ「<ulink url="http://www.freedesktop.org/wiki/Standards/desktop-entry-spec">XDG デスクトップ・エントリの仕様</ulink>」の一部です。</para>
    </note>
  </sect1>

  <sect1 id="mimetypes-9">
    <title>アプリケーションを GNOME デスクトップに追加する</title>

    <indexterm>
      <primary>MIME types</primary>

      <secondary>adding applications</secondary>
    </indexterm>

    <indexterm>
      <primary>applications</primary>

      <secondary>adding</secondary>
    </indexterm>

    <para>アプリケーションを GNOME デスクトップに追加する手順は次のとおりです:</para>

    <orderedlist>
      <listitem>
        <para>アプリケーションのメニュー項目を追加する (メニュー項目をメニューに追加する方法について詳細は「<xref linkend="menustructure-2"/>」を参照のこと)</para>
      </listitem>

      <listitem>
        <para>アプリケーションのアイコンを <filename>/usr/share/icons/<replaceable>テーマ名</replaceable>/<replaceable>アイコンの大きさ</replaceable>/apps</filename> というフォルダにインストールする (アイコンとテーマに関して詳細は「<xref linkend="themes-11"/>」を参照のこと)</para>
      </listitem>

      <listitem>
        <para>もしアプリケーションに新しい MIME 型が必要ならば、ソース XML ファイルを MIME 型のデータベースに追加する (詳細は「<xref linkend="mimetypes-modifying"/>」を参照のこと)</para>
      </listitem>

      <listitem>
        <para>もしアプリケーションに新しい MIME 型が必要ならば、その MIME 型のアイコンを <filename>/usr/share/icons/<replaceable>テーマ名</replaceable>/<replaceable>アイコンの大きさ</replaceable>/mimetypes</filename> にインストールする (アイコンとテーマに関して詳細は「<xref linkend="themes-0"/>」を参照のこと)</para>
      </listitem>

      <listitem>
        <para>アプリケーションと MIME 型を関連付ける時は <literal>MimeType</literal> キーをその <filename>.desktop</filename> ファイルに挿入する (詳細は「<xref linkend="mimetypes-registering"/>」を参照のこと)</para>
      </listitem>
    </orderedlist>
  </sect1>
</chapter>

<chapter id="screensavers-0">
  <title>スクリーンセーバーの設定</title>
  <highlights>
    <para>この章ではスクリーンセーバーを設定する方法について説明します。さらに、スクリーンセーバーを利用できるように表示を変更する方法についても説明します。</para>
  </highlights>
  <sect1 id="screensavers-1">
    <title>スクリーンセーバーについて</title>
    <indexterm>
      <primary>screensavers</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <indexterm>
      <primary>gnome-screensaver</primary>
      <see>screensavers</see>
    </indexterm>
    <para>「<firstterm>スクリーンセーバー</firstterm>」は、モニタの画面が使用されなくなったらそれを何か別の画像で置きかえるアプリケーションです。これに相当するアプリケーションは、GNOME デスクトップでは <application>gnome-screensaver</application> になります。これ以降のセクションではこの <application>gnome-screensaver</application> アプリケーションの設定方法と、スクリーンセーバーを利用できるテーマに変更する方法について説明します。</para>
  </sect1>
  <sect1 id="screensavers-2">
    <title>スクリーンセーバーの設定を指定する</title>
    <indexterm>
      <primary>screensavers</primary>
      <secondary>setting preferences</secondary>
    </indexterm>
    <para>スクリーンセーバーの設定はすべて <application>GConf</application> の中に保管されています。</para>
    <para>スクリーンセーバーの設定を変更する際、ユーザは<application>スクリーンセーバー</application>の設定ツールを利用します。この設定ツールについて詳細は「<ulink type="help" url="ghelp:user-guide?prefs-screensaver">GNOME デスクトップのユーザ・ガイド</ulink>」をご覧ください。</para>
    <para>さらに、ユーザは <command>/usr/bin/gnome-screensaver-preferences</command> というコマンドを直接実行して、<guilabel>スクリーンセーバーの設定</guilabel>ダイアログを開くことも可能です。</para>
    <para>すべてのユーザに対してデフォルトの設定とポリシーを指定したいのであれば、デフォルトの GConf 設定ソースの中にあるスクリーンセーバー用の項目を編集してください。</para>
    <para>すべてユーザに対してなんらかの設定とポリシーを強制したいのであれば、変更不可の GConf 設定ソースの中にあるスクリーンセーバー用の項目を編集してください。</para>
  </sect1>
  <sect1 id="screensavers-3">
    <title>スクリーンセーバーのテーマを変更する</title>
    <indexterm>
      <primary>screensavers</primary>
      <secondary>modifying screensaver themes</secondary>
    </indexterm>
    <para>スクリーンセーバーのアプリケーションを利用すると、ユーザは一つ以上の<firstterm>スクリーンセーバーのテーマ</firstterm>を選択できます。スクリーンセーバーのテーマとは、モニタの画面が使用されなくなったらユーザの画面に何か画像を表示するアプリケーションです。利用可能なスクリーンセーバーのテーマは<application>スクリーンセーバー</application>設定ツールの中に一覧表示されます。</para>
    <para>新しいスクリーンセーバーのテーマを追加する時は<firstterm>スクリーンセーバーのテーマ・エンジン</firstterm>に相当する実行形式を環境変数 PATH が通っているどこか、またはシステム規模の専用のフォルダにインストールしてください。お使いのシステムで、スクリーンセーバーのテーマ・エンジンを格納する専用のフォルダは次のコマンドで取得できます: <screen><userinput>pkg-config --variable=privlibexecdir gnome-screensaver</userinput></screen> それから、インストールしたテーマの <filename>.desktop</filename> ファイルをスクリーンセーバーのテーマ・フォルダにインストールします。スクリーンセーバーのテーマ・フォルダは次のコマンドで取得できます: <screen><userinput>pkg-config --variable=themesdir gnome-screensaver</userinput></screen> <filename>.desktop</filename> ファイルの <literal>Exec</literal> エントリにインストールしたスクリーンセーバーのテーマをウィンドウ単位ではなくモニタの画面全体に対して起動するのに必要な引数を追加しておきます。例えば、古いバージョンのテーマ・エンジンの場合だと <literal>-root</literal> というオプションを指定して、モニタの画面全体に対してスクリーンセーバーを起動するようにしなければなりません。</para>
    <para><application>スクリーンセーバー</application>は「<ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG メニューの仕様</ulink>」に準拠した実装になっています。この仕様に準拠することで、GNOME では次のようなことができるようになっています:</para>

    <itemizedlist>
      <listitem>
        <para>テーマを簡単にカスタマイズできる (テーマを利用可能な状態にカスタマイズするのにたくさんのファイルを変更する必要がなく、アプリケーションを変更したりファイルを移動する必要もない)</para>
      </listitem>

      <listitem>
        <para>テーマを簡単にインストールできる (テーマをインストールするのにシステム情報を提供する必要がない)</para>
      </listitem>

      <listitem>
        <para>ユーザがテーマを変更できないようにすることも可能である</para>
      </listitem>
    </itemizedlist>

  <para>詳細は「<xref linkend="menustructure-0"/>」をご覧ください。</para>

  </sect1>
</chapter>

<chapter id="sessions-0">
  <title>セッションの管理</title>
  <highlights>
    <para>この章ではセッションの管理について紹介し、セッション・デフォルトを指定する方法を説明します。加えて、セッションとログイン・スクリプトに関する情報も紹介します。</para>
  </highlights>
  <sect1 id="sessions-1">
    <title>セッションについて</title>
    <indexterm>
      <primary>sessions</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <para>セッションは、ユーザが GNOME デスクトップにログインしてからユーザがログアウトするまでの間に発生するものです。<application>ログイン・マネージャ</application>がユーザの認証を受け入れたらセッション・マネージャを起動します。このセッション・マネージャを使うと、ユーザはセッションそのものを管理できるようになります。例えば、セッションの状態を保存したり、次回ユーザがログインしたら保存しておいたセッションに復帰することが可能になります。</para>
    <para>少なくとも、セッションの中で次に示すアプリケーションが起動されます:</para>
    <itemizedlist>
      <listitem>
        <para>セッション・マネージャである <command>gnome-session</command></para>
      </listitem>
      <listitem>
        <para><application>GConf</application> の設定デーモンである <command>gnome-settings-daemon</command></para>
      </listitem>
      <listitem>
        <para>GNOME デスクトップでパネルとして使用する <application>gnome-panel</application></para>
      </listitem>
      <listitem>
        <para><application>Metacity</application> ウィンドウ・マネージャ</para>
      </listitem>
    </itemizedlist>
  </sect1>
  <sect1 id="sessions-3">
    <title>セッション・デフォルトを指定する</title>
    <indexterm>
      <primary>sessions</primary>
      <secondary>setting defaults</secondary>
    </indexterm>
    <para>デフォルトのセッション情報を格納するファイルを次の表に示します:</para>
    <informaltable frame="topbot">
      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colwidth="51.80*"/>
        <colspec colwidth="48.20*"/>
        <thead>
          <row rowsep="1">
            <entry>
              <para>ファイル</para>
            </entry>
            <entry>
              <para>説明</para>
            </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry valign="top">
              <para>
                <filename>/usr/share/gnome/default.session</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>デフォルト・セッションのファイル (このファイルの中にデフォルトのセッション情報の詳細が保管されている)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>$HOME/.gnome2/session</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>ユーザ専用のセッション・ファイル (ユーザがセッションを編集すると、その詳細がこのファイルの中に保管される)</para>
            </entry>
          </row>
        </tbody>
      </tgroup>
    </informaltable>
<!--The last row does not appear to be true in Mercury - check.-->
    <para>すべてのユーザに対してデフォルトのセッションの詳細を指定する際は、デフォルト・セッションのファイルを編集してください。</para>
    <para>すべてのユーザに対してデフォルト・セッションの設定に戻す際は、ユーザ専用のセッション・ファイルを削除してください。すると、ユーザ専用のセッション・ファイルが存在しない場合、<filename>/usr/share/gnome/default.session</filename> をデフォルト・セッションとして使用します。</para>
    <para>現在実行中のセッションをデフォルト・セッションとして保存する際は <command>gnome-session-save</command> というコマンドを実行してください。</para>
  </sect1>
</chapter>

<chapter id="help-0">
  <title>ヘルプ・システム</title>
  <highlights>
    <para>この章では GNOME デスクトップのヘルプ・システムについて説明します。</para>
  </highlights>
  <sect1 id="help-1">
    <title>ヘルプ・システムについて</title>
    <indexterm>
      <primary>online Help</primary>
      <see>ヘルプ</see>
    </indexterm>
    <indexterm>
      <primary>ヘルプ</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <para>GNOME デスクトップは <application>Yelp</application> というヘルプ・ブラウザの中にヘルプを表示するようになっています。ヘルプ・ブラウザについて詳細は <ulink url="ghelp:user-guide">GNOME デスクトップのユーザ・ガイド</ulink>にある「<ulink url="ghelp:user-guide?yelp">Yelp ヘルプ・ブラウザ</ulink>」をご覧ください。</para>
<para>ヘルプのソース・ドキュメントは XML 形式のファイルです。XML ファイルは DocBook XML Version 4.1.2 という文書型定義 (DTD) で記述されています。DocBook XML ファイルは、<application> gnome-doc-utils</application> と一緒にインストールされたスタイルシートを用い HTML に変換され、その HTML がヘルプ・ブラウザの中に表示されるような仕組みになっています。DocBook XML について詳細は次の URL をご覧ください:</para>
    <literallayout>
      <ulink url="http://www.oasis-open.org/docbook/xml/">http://www.oasis-open.org/docbook/xml</ulink>
    </literallayout>
    <para>ヘルプ・システムは <firstterm>Open Source Metadata Framework</firstterm> (OMF) のファイルとカタログ・システムを利用しています。次のセクションでは OMF ファイルとカタログ・システムについて説明します。</para>
  </sect1>
  <sect1 id="help-3">
    <title>OMF ファイル</title>
    <indexterm>
      <primary>.omf files</primary>
      <see>OMF files</see>
    </indexterm>
    <indexterm>
      <primary>ヘルプ</primary>
      <secondary>OMF files</secondary>
    </indexterm>
    <indexterm>
      <primary>OMF files</primary>
    </indexterm>
    <para>マニュアル毎に用意されている XML ファイルは一個の OMF ファイルに関連づけられています。この OMF ファイルにはヘルプ・ブラウザによって使用されるマニュアルの構成などの情報が記述されています。OMF ファイルの拡張子は <filename>.omf</filename> です。</para>
    <para>アプリケーションをインストールする場合、その過程で OMF ファイルを専用のフォルダにインストールするようにしてください。ヘルプのドキュメントがインストールした OMF ファイルに関連づけられていると、ヘルプ・ブラウザの中にヘルプのドキュメントが表示されるようになります。</para>
    <para>OMF ファイルには、次に示すようなヘルプのドキュメントに関する情報が記述されています:</para>
    <itemizedlist>
      <listitem>
        <para>ヘルプ・ドキュメントに対する XML ファイルの所在 (パス名)</para>
      </listitem>
      <listitem>
        <para>ヘルプのドキュメントのタイトル</para>
      </listitem>
      <listitem>
        <para>ヘルプのドキュメントが属すサブジェクトのカテゴリ</para>
      </listitem>
    </itemizedlist>
    <para>OMF ファイルの作成方法について詳細は「<ulink url="ghelp:writing_scrollkeeper_omf_files">Writing Scrollkeeper OMF Files</ulink>」をご覧ください。</para>
  </sect1>
  <sect1 id="help-2">
    <title>ScrollKeeper のカタログ作成システム</title>
    <indexterm>
      <primary>ヘルプ</primary>
      <secondary>ScrollKeeper cataloging system</secondary>
    </indexterm>
    <indexterm>
      <primary>ScrollKeeper cataloging system</primary>
    </indexterm>
    <para><application>ScrollKeeper</application> はドキュメント用のカタログを作成するシステムです。その主要な機能はヘルプ・ブラウザ向けに OMF ファイルに記載された情報を管理することです。アプリケーションをインストールする際、OMF ファイルのコピーが <filename><replaceable>$prefix</replaceable>/share/omf/<replaceable>&lt;アプリケーション名&gt;</replaceable></filename> というフォルダに作成されます。</para>

    <para><application>ScrollKeeper</application> は <filename><replaceable>$prefix</replaceable>/etc/scrollkeeper.conf</filename> という設定ファイルの中で指定されているフォルダの OMF ファイルの集合から目録を構築します。通常、この設定ファイルには、<varname>OMF_DIR</varname> で始まり OMF ファイルを再帰的に検索するための複数のフォルダをコンマ (<quote><literal>:</literal></quote>) で区切った一行だけが記載されています。</para>

    <programlisting>OMF_DIR=/usr/share/omf:/usr/local/share/omf:/opt/gnome2/share/omf:/opt/kde/omf
</programlisting>

    <para><application>ScrollKeeper</application> にはヘルプのドキュメントが属すことが可能な複数のカテゴリからなる階層ツリーが含まれています。OMF ファイルの中にあるサブジェクトのカテゴリを使って、ヘルプのドキュメント・ブラウザが提供している目録の中からドキュメントの所在を確定します。</para>

    <para>カテゴリの階層は <filename><replaceable>$prefix</replaceable>/scrollkeeper/Templates/<replaceable>&lt;言語&gt;</replaceable>/scrollkeeper_cl.xml</filename> というファイルの中に定義されています。ドキュメントのカテゴリはこのファイルの中で指定されている任意のカテゴリと関連付けられている必要があります。</para>

    <para><application>Scrollkeeper</application> システムの詳細については「<ulink url="http://scrollkeeper.sourceforge.net/">http://scrollkeeper.sourceforge.net/</ulink>」をご覧ください。</para>

    <note>
      <para>ヘルプ・ドキュメントの XML ファイルを別の場所に移動したら、OMF ファイルに記述した場所も同様に更新する必要があります。</para>
    </note>
  </sect1>
</chapter>

<chapter id="performance-0">
  <title>パフォーマンスの改善</title>
  <highlights>
    <para>この章では GNOME デスクトップのパフォーマンスを改善する方法について説明します。</para>
  </highlights>
  <sect1 id="performance-1">
    <title>パフォーマンスの改善について</title>
    <indexterm>
      <primary>performance, improving</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <para>この章では、GNOME デスクトップのパフォーマンスを改善するために変更することが可能な設定項目を紹介します。<command>gconftool-2</command> コマンドを使い、ユーザ向けの設定値を指定できます。この章で紹介するサンプルはユーザの設定ソースの中で値を指定する方法です。</para>
    <para>さらに <literal>--direct</literal> と <literal>--config-source</literal> オプションを使えば変更不可の値やデフォルト値を指定することも可能です。また、<command>gconftool-2</command> コマンドをスクリプトの中から呼び出せば、一度にたくさんの値を指定できます。<command>gconftool-2</command> コマンドとそのオプションについて詳細については「<xref linkend="gconf-0"/>」をご覧ください (【<emphasis>訳注</emphasis>】<emphasis>GNOME デスクトップの最新版で利用できないオプションが紹介されている場合もあります</emphasis>)。</para>
  </sect1>
  <sect1 id="performance-8">
    <title>CPU の使用率を減らす</title>
    <indexterm>
      <primary>performance, improving</primary>
      <secondary>reducing CPU usage</secondary>
    </indexterm>
    <indexterm>
      <primary>reducing</primary>
      <secondary>CPU usage</secondary>
    </indexterm>
    <indexterm>
      <primary>CPU usage</primary>
      <secondary>reducing</secondary>
    </indexterm>
    <para>このセクションでは、GNOME デスクトップで CPU 使用率を低減させたい場合に指定することが可能な設定項目について説明します。</para>
    <sect2 id="performance-3">
      <title>少ない CPU リソースでまかなえるテーマ・オプションを使う</title>
      <indexterm>
        <primary>themes</primary>
        <secondary>window frame options</secondary>
        <tertiary>and CPU usage</tertiary>
      </indexterm>
      <indexterm>
        <primary>themes</primary>
        <secondary>and CPU usage</secondary>
      </indexterm>
      <para>ウィンドウの境界に影響するテーマ・オプションの中には、フレームそのものの画像をファイルとして直接読み込むものがあります。それ以外のテーマ・オプションはそれよりも簡単な方法でウィンドウのフレームを描画しています。</para>
      <para><literal>Crux</literal> というテーマ・オプションは大量の画像ファイルを読み込むため、CPU のリソースが制限されているシステムでは処理が遅くなる可能性があります。ここで CPU の使用率を低減したいのであれば、次に示すテーマ・オプションを選択してみてください:</para>
      <itemizedlist>
        <listitem>
          <para>Atlanta</para>
        </listitem>
        <listitem>
          <para>Esco</para>
        </listitem>
      </itemizedlist>
      <para>次のテーマ・オプションも <literal>Crux</literal> よりも少ない CPU リソースで利用できます:</para>
      <itemizedlist>
        <listitem>
          <para>AgingGorilla</para>
        </listitem>
        <listitem>
          <para>Bright</para>
        </listitem>
        <listitem>
          <para>Metabox</para>
        </listitem>
      </itemizedlist>
      <note>
        <para>Metabox は HighContrastInverse のようにコントロール (インタフェースの部品) を反転させるオプションではうまく動作しません。コントロールを反転させるのであれば Atlanta というオプションを利用してみてください。</para>
      </note>
      <para><indexterm><primary>themes</primary><secondary>window frame options</secondary><tertiary>changing</tertiary></indexterm>ウィンドウ・フレームに影響するテーマ・オプションを変更する際は、次のコマンドを実行します:</para>
      <screen><userinput>gconftool-2 \
--type string \
--set /apps/metacity/general/theme <replaceable>オプション名</replaceable></userinput></screen>
      <para>例えば、Atlanta というテーマ・オプションを指定する場合のコマンドは次のようになります:</para>
      <screen><userinput>gconftool-2 \
--type string \
--set /apps/metacity/general/theme Atlanta</userinput></screen>
      <para>もしくは、<application>テーマ</application>の設定ツールを使って妥当なテーマ・オプションを選択することも可能です。</para>
      <tip>
        <para><application>Metacity のテーマ・ビューア</application>を使ってウィンドウ・フレームのテーマ・オプションのパフォーマンスを計測したり、プレビューすることも可能です。この <application>Metacity のテーマ・ビューア</application>を起動する際のコマンドは次のとおりです:</para>
        <screen><userinput>metacity-theme-viewer <replaceable>オプション名</replaceable></userinput></screen>
        <para>例えば、Atlanta をプレビューしながらその描画パフォーマンスを計測する際のコマンドは次のとおりです:</para>
        <screen><userinput>metacity-theme-viewer Atlanta</userinput></screen>
      </tip>
    </sect2>
    <sect2 id="performance-2">
      <title>メニューの中にアイコンを表示しないようにして CPU の使用率を減らす</title>
      <indexterm>
        <primary>icons, in menus</primary>
        <see>menu icons</see>
      </indexterm>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>and CPU usage</secondary>
      </indexterm>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>turning off</secondary>
      </indexterm>
      <para>メニュー項目の中にはその横にアイコンを表示するものがあります。この機能を無効にする際は、次のコマンドを実行します:</para>
      <screen><userinput>gconftool-2 \
--type bool \
--set /desktop/gnome/interface/menus_have_icons false</userinput></screen>
      <para>もしくは、<application>外観</application>の設定ツールの<guilabel>外観</guilabel>を開いて<guilabel>メニューの中にアイコンを表示する</guilabel>というオプションを無効にしてください。</para>
    </sect2>
    <sect2 id="performance-6">
      <title>スプラッシュ・スクリーンを無効にして CPU の使用率を減らす</title>
      <indexterm>
        <primary>splash screen</primary>
        <secondary>and CPU usage</secondary>
      </indexterm>
      <para>デフォルトでは、 ユーザがデスクトップにログインすると、スプラッシュ・スクリーンが表示されます。ログイン処理を行っている間、アイコンがスプラッシュ・スクリーン上に表示されます。このスプラッシュ・スクリーンを無効にして、ログイン時の CPU 使用率を低減させることが可能です。</para>
      <para><indexterm><primary>splash screen</primary><secondary>turning off</secondary></indexterm>この機能を無効にする際は、次のコマンドを実行します:</para>
      <screen><userinput>gconftool-2 \
--type bool \
--set /apps/gnome-session/options/show_splash_screen false</userinput></screen>
      <para>もしくは、<application>セッション</application>の設定ツールを利用して<guilabel>ログイン時にスプラッシュ・スクリーンを表示する</guilabel>というオプションを無効にしてください (【<emphasis>訳注</emphasis>】<emphasis>GNOME デスクトップの最新版で利用できないオプションです</emphasis>)。</para>
    </sect2>
    <sect2 id="performance-4">
      <title>パネルのアニメーションを無効にすることで CPU の使用率を減らす</title>
      <indexterm>
        <primary>panels</primary>
        <secondary>animation, turning off</secondary>
      </indexterm>
      <para>ユーザがパネルを表示したり隠したりする際に、アニメーション効果を付与することが可能になっています。この効果を無効にする際は、次のコマンドを実行します:</para>
      <screen><userinput>gconftool-2 \
--type bool \
--set /apps/panel/global/enable_animations false</userinput></screen>
      <para>もしくは、<application>パネル</application>の設定ツールから<guilabel>アニメーションを有効にする</guilabel>というオプションを無効にしてください (【<emphasis>訳注</emphasis>】<emphasis>GNOME デスクトップの最新版で利用できないオプションです</emphasis>)。</para>
    </sect2>
    <sect2 id="performance-7">
      <title>ファイル・マネージャのパフォーマンスを改善する</title>
      <indexterm>
        <primary>Nautilus</primary>
        <see>file manager</see>
      </indexterm>
      <para><application>Nautilus</application> ファイル・マネージャにはそのパフォーマンスを改善するために変更できる機能がいくつか含まれています。</para>
      <sect3 id="performance-9">
        <title>パフォーマンスの設定を変更する</title>
        <indexterm>
          <primary>file manager</primary>
          <secondary>modifying performance preferences</secondary>
        </indexterm>
        <para>ファイル・マネージャにはパフォーマンスに関連する設定があります。パフォーマンスの設定はそれぞれ三つの値から一つ選択できるようになっています。これらの値の意味を次の表に記します:</para>
        <informaltable frame="topbot">
          <tgroup cols="2" colsep="0" rowsep="0">
            <colspec colwidth="34.46*"/>
            <colspec colwidth="65.54*"/>
            <thead>
              <row rowsep="1">
                <entry>
                  <para>値</para>
                </entry>
                <entry>
                  <para>説明</para>
                </entry>
              </row>
            </thead>
            <tbody>
              <row>
                <entry valign="top">
                  <para>
                    <literal>常に (<literal>always</literal>)</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>ローカルにあるファイルと他のファイルシステム上にあるファイルの両方に対して指定した操作を実行する</para>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>ローカルのみ (<literal>local_only</literal>)</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>ローカルのファイルシステム上にあるファイルに対してのみ指定した操作を実行する (この設定にすると CPU の使用率が減る)</para>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>しない (<literal>never</literal>)</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>指定した操作を実行しない (この設定にすると CPU の使用率とネットワークのトラフィックが減る)</para>
                </entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
        <para>次の表はファイル・マネージャのパフォーマンス設定について説明しています。CPU の使用率を低減させたいのであれば、設定値を「<literal>しない</literal>」にしてください。</para>
        <informaltable frame="topbot">
          <tgroup cols="2" colsep="0" rowsep="0">
            <colspec colwidth="43.34*"/>
            <colspec colwidth="56.66*"/>
            <thead>
              <row rowsep="1">
                <entry>
                  <para>設定項目</para>
                </entry>
                <entry>
                  <para>説明</para>
                </entry>
              </row>
            </thead>
            <tbody>
              <row>
                <entry valign="top">
                  <para>
                    <literal>show_icon_text</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>アイコン表示の時にテキスト・ファイルの中身をプレビューするかどうかを指定する; テキスト・ファイルの中身をプレビューしない場合は次のコマンドを実行する:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/show_icon_text never</userinput></screen>
                  <para>もしくは、次の手順でも同様の効果を得られる:</para>
                  <orderedlist>
                    <listitem>
                      <para>ファイル・マネージャのウィンドウから<menuchoice><guimenu>編集</guimenu><guimenuitem>設定</guimenuitem></menuchoice>をクリックしてから、<guilabel>プレビュー</guilabel>タブを選択する</para>
                    </listitem>
                    <listitem>
                      <para><guilabel>アイコン内のテキスト表示</guilabel>という設定からオプションを一つ選択する</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>show_directory_item_counts</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>フォルダの中にあるアイテム総数を表示するかどうかを指定する; フォルダの中にあるアイテムの総数を表示しない場合は次のコマンドを実行する:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/show_directory_item_counts never</userinput></screen>
                  <para>もしくは、次の手順でも同様の効果を得られる:</para>
                  <orderedlist>
                    <listitem>
                      <para>ファイル・マネージャのウィンドウから<menuchoice><guimenu>編集</guimenu><guimenuitem>設定</guimenuitem></menuchoice>をクリックしてから、<guilabel>プレビュー</guilabel>タブを選択する</para>
                    </listitem>
                    <listitem>
                      <para><guilabel>アイテム数のカウント</guilabel>という設定からオプションを一つ選択する</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>show_image_thumbnails</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>画像ファイルのサムネイルを表示するかどうかを指定する; サムネイルを表示しない場合は次のコマンドを実行する:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/show_image_thumbnails never</userinput></screen>
                  <para>もしくは、次の手順でも同様の効果を得られる:</para>
                  <orderedlist>
                    <listitem>
                      <para>ファイル・マネージャのウィンドウから<menuchoice><guimenu>編集</guimenu><guimenuitem>設定</guimenuitem></menuchoice>をクリックしてから、<guilabel>プレビュー</guilabel>タブを選択する</para>
                    </listitem>
                    <listitem>
                      <para><guilabel>サムネイルの表示</guilabel>という設定からオプションを一つ選択する</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>preview_sound</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>サウンド・ファイルを演奏するかどうかを指定する; サウンド・ファイルを演奏しない場合は次のコマンドを実行する:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/preview_sound never</userinput></screen>
                  <para>もしくは、次の手順でも同様の効果を得られる:</para>
                  <orderedlist>
                    <listitem>
                      <para>ファイル・マネージャのウィンドウから<menuchoice><guimenu>編集</guimenu><guimenuitem>設定</guimenuitem></menuchoice>をクリックしてから、<guilabel>プレビュー</guilabel>タブを選択する</para>
                    </listitem>
                    <listitem>
                      <para><guilabel>サウンド・ファイルの演奏</guilabel>という設定からオプションを一つ選択する</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
      </sect3>
      <sect3 id="performance-10">
        <title>サイド・ペインやツールバー、場所バーを無効にする</title>
        <indexterm>
          <primary>file manager</primary>
          <secondary>side pane, turning off</secondary>
        </indexterm>
        <para>ファイル・マネージャにはサイド・ペインやツールバーを表示しないようにする設定があります。ファイル・マネージャのパフォーマンスを改善する際は、サイド・ペインやツールバーを無効にしてみてください。</para>
        <para>サイドペインを無効にする際は、次のコマンドを実行します:</para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/start_with_sidebar false</userinput></screen>
        <para><indexterm><primary>file manager</primary><secondary>toolbar, turning off</secondary></indexterm>ツールバーを無効にする際は、次のコマンドを実行します:</para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/start_with_toolbar false</userinput></screen>
        <para>さらに場所バーも無効にすることができます。無効にした後に必要であれば、<keycombo><keycap>Ctrl</keycap><keycap>L</keycap></keycombo> というキーボード・ショートカットで再び場所バーを表示することができるようになっています。</para>
        <para><indexterm><primary>file manager</primary><secondary>location bar, turning off</secondary></indexterm>場所バーを無効にする際は、次のコマンドを実行します:</para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/start_with_location_bar false</userinput></screen>
      </sect3>
      <sect3 id="performance-11">
        <title>デスクトップを無効にする</title>
        <indexterm>
          <primary>file manager</primary>
          <secondary>desktop, turning off</secondary>
        </indexterm>
        <indexterm>
          <primary>desktop</primary>
          <secondary>turning off</secondary>
        </indexterm>
        <para>ファイル・マネージャには <application>Nautilus</application> を使ってデスクトップを管理するような設定があります。デスクトップを無効にしてパフォーマンスを改善することは可能ですが、デスクトップを無効にしてしまうと、次に示すように使い勝手が悪くなります:</para>
        <itemizedlist>
          <listitem>
            <para>デスクトップの背景で使用するパターンや色をファイル・マネージャから変更できなくなる</para>
          </listitem>
          <listitem>
            <para><guilabel>ゴミ箱</guilabel>のようなデスクトップ上のオブジェクトを利用できなくなる (これらのオブジェクトがデスクトップ上に表示されなくなる)</para>
          </listitem>
        </itemizedlist>
        <para>以上を承知の上でデスクトップを無効にする際は、次のコマンドを実行します:</para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/show_desktop false</userinput></screen>
      </sect3>
    </sect2>
  </sect1>
  <sect1 id="performance-12">
    <title>Ｘウィンドウ・システムのネットワーク・トラフィックを減らす</title>
    <indexterm>
      <primary>reducing</primary>
      <secondary>X Window System network traffic</secondary>
    </indexterm>
    <indexterm>
      <primary>X Window System network traffic, reducing</primary>
    </indexterm>
    <indexterm>
      <primary>network traffic, reducing</primary>
    </indexterm>
    <para>このセクションでは、GNOME デスクトップにおけるＸウィンドウ・システムのネットワーク・トラフィック (通信量) を低減させたい場合に指定することが可能な設定項目について説明します。</para>
    <sect2 id="performance-14">
      <title>少ないネットワーク・トラフィックでまかなえるテーマ・オプションを使う</title>
      <indexterm>
        <primary>themes</primary>
        <secondary>window frame options</secondary>
        <tertiary>and network traffic</tertiary>
      </indexterm>
      <indexterm>
        <primary>themes</primary>
        <secondary>and network traffic</secondary>
      </indexterm>
      <para>リモート表示する際のＸプロトコルは、特定の範囲にあるピクセルがすべて同じ色であるならば、それらのピクセルを一個一個転送するようなことはしません。</para>
      <para>そのため、Ｘウィンドウ・システムのネットワーク・トラフィックを低減させたいのであれば、複数の色ではなく単ー色を使用しているウィンドウ・フレームのテーマ・オプションを選択してみてください。具体的には次のようなオプションのいずれかを選択してみてください:</para>
      <itemizedlist>
        <listitem>
          <para>Atlanta</para>
        </listitem>
        <listitem>
          <para>Esco</para>
        </listitem>
      </itemizedlist>
      <para>テーマ・オプションの変更方法について詳細は「<xref linkend="performance-3"/>」をご覧ください。</para>
    </sect2>
    <sect2 id="performance-15">
      <title>メニューの中にアイコンを表示しないようにしてネットワーク・トラフィックを減らす</title>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>and network traffic</secondary>
      </indexterm>
      <para>メニュー項目の中にはその横にアイコンを表示するものがあります。もしそのアイコンが別のファイルシステム上に格納されていると、このアイコン表示の機能によってＸウィンドウ・システムのネットワーク・トラフィックが増大する可能性があります。さらに、リモート・ホスト上にパネルを表示する際に、Ｘウィンドウ・システムのネットワーク・トラフィックを増大させる可能性もあります。</para>
      <para>この機能を無効にする方法について詳細は「<xref linkend="performance-2"/>」をご覧ください。</para>
    </sect2>
  </sect1>
  <sect1 id="performance-17">
    <title>使用する色数を減らして表示の品質を改善する</title>
    <indexterm>
      <primary>reducing</primary>
      <secondary>color usage</secondary>
    </indexterm>
    <indexterm>
      <primary>color usage</primary>
      <secondary>reducing</secondary>
    </indexterm>
    <indexterm>
      <primary>display quality, improving</primary>
    </indexterm>
    <para>現在あるコンピュータ・システムの多くは 24ビット色、すなわち 16,777,216色をサポートしています。しかしながら、依然として 8ビット色、すなわち 256色をサポートしているシステムを利用しているユーザもたくさんいます。</para>
    <para>GNOME デスクトップでは「<firstterm>Websafe カラー・パレット</firstterm>」を利用しています。このパレットは 216 色からなる汎用的な目的で使用するパレットで、8ビット色をサポートしているようなシステムで最適な色を利用するために設計されたものです。しかしながら、GNOME デスクトップのビジュアルなコンポーネントの中には 24ビット色をサポートするシステム向けに設計されたものもあります。</para>
    <para>次に示す表示上の問題が 8ビット色をサポートするシステムで発生する可能性があります:</para>
    <itemizedlist>
      <listitem>
        <para>ウィンドウやアイコン、そして背景の画像などが粗く表示される場合があります。テーマや背景の画像、アイコンの多くは Websafe カラー・パレットにはない色を使っています。パレットに存在しない色は限りなく等価な色またはディザ法で近似した色で置き換えられます。このように色を置き換えることで見映えが粗くなってしまうのです。</para>
      </listitem>
      <listitem>
        <para>Websafe カラー・パレットを利用しないアプリケーションでは利用できる色数が少ないため、色に関するエラーが発生する場合があります。アプリケーションのユーザ・インタフェースで正しく色が表示されない場合があります。アプリケーションが色を確保できない場合、アプリケーション自身がクラッシュするものもあります。</para>
      </listitem>
      <listitem>
        <para>Websafe カラー・パレットを利用しているアプリケーションと利用していないアプリケーションとをユーザが切り替えようとすると、色のちらつきが発生する場合があります。Websafe カラー・パレットを利用していないアプリケーションでは独自のカラー・マップを使用しているかもしれません。独自のカラー・マップを使用すると、他のビジュアルなコンポーネントに色が表れず全く何も表示されなくなってしまう場合もあります。</para>
      </listitem>
    </itemizedlist>
    <para>次のセクションでは 8ビット色をサポートするコンピュータで GNOME デスクトップの外観を最適化する方法について説明します。</para>
    <sect2 id="performance-20">
      <title>Websafe カラー・パレットを利用しているテーマ・オプションを使う</title>
      <indexterm>
        <primary>themes</primary>
        <secondary>window frame options</secondary>
        <tertiary>and color usage</tertiary>
      </indexterm>
      <indexterm>
        <primary>themes</primary>
        <secondary>and color usage</secondary>
      </indexterm>
      <para>ウィンドウ・フレームのテーマ・オプションの中には Websafe カラー・パレットの色を利用するものがあります。<literal>Bright</literal> と <literal>Esco</literal> は Websafe カラー・パレットの色を利用しています。この二つのテーマ・オプションは 8ビット色で表示すると、ウィンドウのフレーム (境界) が粗く表示されます。8ビットの表示モードではこのテーマ・オプションから選択してください。</para>
      <para>テーマ・オプションの変更方法について詳細は「<xref linkend="performance-3"/>」をご覧ください。</para>
    </sect2>
    <sect2 id="performance-21">
      <title>メニューの中にアイコンを表示しないようにして使用する色数を減らす</title>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>and color usage</secondary>
      </indexterm>
      <para>メニュー項目の中にはその横にアイコンを表示するものがあります。もしアイコンに含まれている色が Websafe カラー・パレットのものでない場合、この機能によって使用する色数が増える場合があります。</para>
      <para>この機能を無効にする方法について詳細は「<xref linkend="performance-2"/>」をご覧ください。</para>
    </sect2>
    <sect2 id="performance-18">
      <title>スプラッシュ・スクリーンを無効にして使用する色数を減らす</title>
      <indexterm>
        <primary>splash screen</primary>
        <secondary>and color usage</secondary>
      </indexterm>
      <para>スプラッシュ・スクリーンを無効にすることで GNOME デスクトップとそのアプリケーションで利用する色数を増やすことができます。</para>
      <para>スプラッシュ・スクリーンを無効にする方法について詳細は「<xref linkend="performance-6"/>」をご覧ください。</para>
    </sect2>
    <sect2 id="performance-19">
      <title>背景に単一色を指定することで使用する色数を減らす</title>
      <indexterm>
        <primary>background</primary>
        <secondary>using solid color</secondary>
      </indexterm>
      <para>デスクトップの背景に単一色を指定します。１個しか色を利用しないので GNOME デスクトップで使用する色数が減ることになります。</para>
      <para>背景に単一色を指定する際は、次のコマンドを実行します:</para>
      <screen><userinput>gconftool-2 \
--type string \
--set /desktop/gnome/background/picture_options none</userinput></screen>
      <screen><userinput>gconftool-2 \
--type string \
--set /desktop/gnome/background/color_shading_type solid</userinput></screen>
      <screen><userinput>gconftool-2 \
--type string \
--set /desktop/gnome/background/primary_color #<replaceable>16進表記の色</replaceable></userinput></screen>
      <para>もしくは、<application>外観</application>の設定ツールにある<guilabel>背景</guilabel>で背景に単一色を指定することもできます。</para>
    </sect2>
  </sect1>
</chapter>

<chapter id="lockdown-0">
  <title>GNOME デスクトップ機能の無効化</title>
  <highlights>
    <para>この章では GNOME デスクトップが提供している特定の機能を使えなくする方法について説明します。</para>
  </highlights>
  <sect1 id="lockdown-1">
    <title>GNOME デスクトップ機能の無効化について</title>
    <indexterm>
      <primary>disabling features</primary>
      <secondary>introduction</secondary>
    </indexterm>
    <indexterm>
      <primary>lockdown</primary>
      <see>disabling features</see>
    </indexterm>
    <para>GNOME デスクトップでは、ある特定の機能にアクセスすることを制限するための方法が提供されています。特定の機能を無効にするのは、システム管理者としてあなたのコンピュータに対する操作を制限させたいような場合に便利です。例えば、どこかの展示会で不特定多数のユーザによって操作される可能性があるデモ・マシンで、コマンドラインによる操作を無効にしたい場合などです。このように特定の機能を無効にすることを、「機能を<emphasis>ロックダウン</emphasis>する」といいます。</para>
    <para><application>GConf</application> キーを機能の無効にセットします。<application>GConf</application> キーを指定する方法について詳細は「<xref linkend="gconf-0"/>」をご覧ください。または<application>設定エディタ</application>というアプリケーションを使って、ユーザの設定ソースにある <application>GConf</application> キーを指定することも可能になっています。<application>設定エディタ</application>について詳細は「<ulink type="help" url="ghelp:gconf-editor">GConf エディタのマニュアル</ulink>」をご覧ください。</para>
  </sect1>
  <sect1 id="lockdown-manual">
    <title>手動でロックダウンを指定する</title>
    <sect2 id="lockdown-2">
      <title>画面のロックとログアウトを無効にする</title>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>lock screen</secondary>
      </indexterm>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>log out</secondary>
      </indexterm>
      <para>画面のロックとログアウトの機能を無効にする時は <literal>/apps/panel/global/disable_lock_screen</literal> と <literal>/apps/panel/global/disable_log_out</literal> というキーをそれぞれ <literal>true</literal> にします。</para>
      <para>画面のロックとログアウトの機能を無効にすると、次に示すアイテムが表示されなくなります:</para>
      <itemizedlist>
        <listitem>
          <para><guimenu>メイン・メニュー</guimenu>にある<guimenuitem>画面のロック</guimenuitem>と <guimenuitem><replaceable>user</replaceable> のログアウト</guimenuitem>というメニュー項目</para>
        </listitem>
        <listitem>
          <para><menuchoice><guimenu>パネルへ追加</guimenu><guimenuitem>ダイアログにある</guimenuitem></menuchoice>にある<guimenuitem>画面のロック</guimenuitem>と<guimenuitem>ログアウト</guimenuitem>という項目</para>
        </listitem>
        <listitem>
          <para><application>メニュー・バー</application>・アプレットの中にある<guimenu>システム</guimenu>・メニューの<guimenuitem>画面のロック</guimenuitem>と <guimenuitem><replaceable>user</replaceable> のログアウト</guimenuitem>というメニュー項目</para>
        </listitem>
      </itemizedlist>
      <para>加えて、パネル上にある<guibutton>画面のロック</guibutton>と<guibutton>ログアウト</guibutton>・ボタンも表示されなくなります。</para>
    </sect2>
    <sect2 id="lockdown-12">
      <title>コマンドライン操作を無効にする</title>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>command line</secondary>
      </indexterm>
      <para>コマンドラインからの操作を無効にする時は <literal>/desktop/gnome/lockdown/disable_command_line</literal> というキーを <literal>true</literal> にします。</para>
      <para>コマンドラインの操作を無効にすると、次に示すような変更がユーザ・インタフェースの中で発生します:</para>
      <itemizedlist>
        <listitem>
          <para><guimenuitem>アプリケーションの実行</guimenuitem>という項目が次のメニューから表示されなくなります:</para>
          <itemizedlist>
            <listitem>
              <para>
                <guimenu>メイン・メニュー</guimenu>
              </para>
            </listitem>
            <listitem>
              <para><guimenu>パネルへ追加</guimenu>ダイアログにある<guimenu>アクション</guimenu>というサブメニュー</para>
            </listitem>
            <listitem>
              <para><application>メニュー・バー</application>・アプレットの中にある<guimenu>システム</guimenu>・メニュー</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para>加えて、パネル上にある<guibutton>実効</guibutton>ボタンも表示されなくなります。</para>
        </listitem>
      </itemizedlist>
      <para>コマンドラインを無効にする場合は、<application>端末</application>を起動するメニュー項目も削除しておく必要があります。例えば、メニューから次のコマンドを含んだメニュー項目を削除した方が良いかもしれません:</para>
      <itemizedlist>
        <listitem>
          <para><application>GNOME 端末</application>コマンド (すなわち <command>/usr/bin/gnome-terminal</command>)</para>
        </listitem>
        <listitem>
          <para>
            <command>/usr/bin/xterm</command>
          </para>
        </listitem>
        <listitem>
          <para>
            <command>/usr/bin/setterm</command>
          </para>
        </listitem>
      </itemizedlist>
      <para>メニュー項目が次のメニューから削除されます:</para>
      <itemizedlist>
        <listitem>
          <para>
            <guimenu>メイン・メニュー</guimenu>
          </para>
        </listitem>
        <listitem>
          <para>
            <menuchoice>
              <guimenu>パネルへ追加</guimenu>
              <guimenuitem>メニューから起動する</guimenuitem>
            </menuchoice>
          </para>
        </listitem>
      </itemizedlist>
      <para>さらに、<application>コマンドライン</application>というアプレットも無効にしておいた方が良いでしょう。この<application>コマンドライン</application>というアプレットを無効にするには、<literal>/apps/panel/global/disabled_applets</literal> というキーを追加しておいてください。ここで<application>コマンドライン</application>というアプレットを無効すると、この<application>コマンドライン</application>・アプレットが<guimenu>メイン・メニュー</guimenu>と<application>パネルへ追加</application>というダイアログで表示されなくなります。</para>
    </sect2>
    <sect2 id="lockdown-11">
      <title>パネルの設定を変更できないようにする</title>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>panel configuration</secondary>
      </indexterm>
      <para>パネルの設定を変更できないようにする時は <literal>/apps/panel/global/locked_down</literal> というキーを <literal>true</literal> にします。</para>
      <para>パネルの設定を変更できないようにすると、次に示すような変更がユーザ・インタフェースの中で発生します:</para>
      <itemizedlist>
        <listitem>
          <para>パネルのポップアップ・メニューや引き出しのポップアップ・メニューから、次に示すメニュー項目が表示されなくなります:</para>
          <itemizedlist>
            <listitem>
              <para>
                <guimenuitem>パネルへ追加</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>このパネルを削除する</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>プロパティ</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>新しいパネル</guimenuitem>
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para>ランチャ毎のポップアップ・メニューが利用できなくなります</para>
        </listitem>
        <listitem>
          <para>アプレット毎のポップアップ・メニューから次のメニュー項目が表示されなくなります:</para>
          <itemizedlist>
            <listitem>
              <para>
                <guimenuitem>パネルから削除</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>ロックする</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>移動</guimenuitem>
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para><guimenu>メイン・メニュー</guimenu>のポップアップ・メニューが利用できなくなります</para>
        </listitem>
        <listitem>
          <para>ランチャのドラッグは利用できなくなります (ランチャをドラッグして何かしたり、ドラッグしたものを何かすることがすべてできなくなります)</para>
        </listitem>
        <listitem>
          <para>パネルのドラッグは利用できなくなります (パネルをドラッグして別の場所に移動することはできなくなります)</para>
        </listitem>
      </itemizedlist>
    </sect2>
  </sect1>
  <sect1 id="lockdown">
    <title>ロックダウン・エディタについて</title>
  
    <para>GNOME 2.14 から <application>Pessulus</application> という GUI を備えたロックダウン・エディタが提供されるようになり、デスクトップの設定を利用できないようにする作業が以前よりも簡単になりました (【訳注】<emphasis>お使いのバージョンによってロックダウン・エディタのユーザ・インタフェースが異なる場合もあります</emphasis>)。</para>
  
    <sect2 id="lockdown-start">
      <title>始めてみる</title>
  
      <para>ロックダウン・エディタの起動方法は次のいずれかです:</para>
  
      <itemizedlist>
        <listitem>
          <para>メイン・メニューの<menuchoice><guimenu>システム</guimenu><guisubmenu>システム管理</guisubmenu><guimenuitem>ロックダウン・エディタ</guimenuitem></menuchoice>をクリックする</para>
        </listitem>
  
        <listitem>
          <para>端末から <command>pessulus</command> コマンドを実行する</para>
        </listitem>
      </itemizedlist>
  
      <para>すると、いろいろなタブを持ったウィンドウが表示されます。これらのタブを使って、無効にすることが可能なデスクトップの設定をそれぞれ分類しています。次のセクションではそれぞれのタブについて説明し、無効にすることが可能な設定について概要を紹介します。</para>
    </sect2>
  
    <sect2 id="lockdown-disabling">
      <title>機能を無効にする</title>
  
      <para>ある設定を利用できないようにする場合、説明の横にあるチェックボックスがチェックされているか確認してください。ほとんどの設定はすぐに変更が反映されますが、中にはアプリケーションの再起動が必要なものもあります。</para>
  
      <para><application>pessulus</application> を起動すると、まず <application>GConf</application> の変更不可の設定ソースへの接続を試みます。この設定ソースは <literal>xml:merged:<replaceable>$prefix</replaceable>/etc/gconf/gconf.xml.mandatory</literal> です。<application>pessulus</application> を起動したユーザがこの設定ソースへアクセスする権限を持っていたら、チェックボックスの横に鍵のアイコンが表示されます。鍵のアイコンをクリックすると、その設定を変更可能また変更不可でトグルします。もし設定が変更不可ならば、通常のユーザはその設定を変更したり上書きすることはできません。<application>pessulus</application> を起動したユーザが変更不可の設定ソースにアクセスする権限が無い場合は、鍵のアイコンは表示されません。このような場合、すべて無効な設定が単にユーザのデフォルト設定ソースの中に格納され、後で <application>gconf-editor</application> や <application>gconftool-2</application> といったツールを使って変更することができます。<application>GConf</application> と変更不可の設定ソースについて詳細は「 <xref linkend="gconf-26"/>」をご覧ください。</para>
  
      <para>次のセクションでは、カテゴリ毎に無効にすることが可能な設定を簡単に説明します。</para>
  
      <note>
        <para>お使いのシステムによってはパッケージのインストール状況に応じ、ここで説明するカテゴリが存在しない場合もあります。</para>
      </note>
  
      <sect3 id="lockdown-disabling-general">
        <title>全般</title>
  
        <variablelist>
          <varlistentry>
            <term>コマンドラインを無効にする</term>
  
            <listitem>
              <para>ユーザが端末にアクセスしたり指定したコマンドを実行できないようにする (例えば、パネルにある<guilabel>アプリケーションの実行</guilabel>ダイアログにアクセスできないようにする)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>印刷を無効にする</term>
  
            <listitem>
              <para>印刷できないようにする (例えば、すべてのアプリケーションが提供する<guilabel>印刷</guilabel>ダイアログにアクセスできなくなる)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>印刷設定を無効にする</term>
  
            <listitem>
              <para>印刷設定を変更できないようにする (例えば、すべてのアプリケーションが提供する<guilabel>印刷設定</guilabel>ダイアログにアクセスできないようになる)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>ディスクへの保存を無効にする</term>
  
            <listitem>
              <para>ファイルをディスクに保存できないようにする (例えば、すべてのアプリケーションが提供する<guilabel>別名で保存</guilabel>ダイアログにアクセスできないようになる)</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
  
      <sect3 id="lockdown-disabling-panel">
        <title>パネル</title>
  
        <variablelist>
          <varlistentry>
            <term>パネル操作を利用不可にする</term>
  
            <listitem>
              <para>チェックすると、パネルに対するいかなる変更も受け入れられなくなるが、パネルの上にあるアプレットはそれぞれロックダウンしてやる必要がある (パネルの再起動が必要である)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>強制終了を無効にする</term>
  
            <listitem>
              <para>チェックすると、ユーザはアプリケーションを強制的に終了させることができなくなる (<guibutton>終了</guibutton>ボタンにアクセスできなくなるので)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>画面のロックを無効にする</term>
  
            <listitem>
              <para>チェックすると、ユーザは画面をロックさせることができなくなる (<guilabel>画面のロック</guilabel>というメニュー項目にアクセスできなくなるので)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>ログアウトを無効にする</term>
  
            <listitem>
              <para>チェックすると、ユーザはログアウトできなくなる (<guilabel>ログアウト</guilabel>というメニュー項目にアクセスできなくなるので)</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
  
      <sect3 id="lockdown-disabling-browser">
        <title>Epiphany ウェブ・ブラウザ</title>
  
        <variablelist>
          <varlistentry>
            <term>終了を無効にする</term>
  
            <listitem>
              <para>Epiphany ウェブ・ブラウザを閉じることができなくなる</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>URL の入力を無効にする</term>
  
            <listitem>
              <para>URL を入力する機能を利用できなくなる</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>ブックマークの編集を無効にする</term>
  
            <listitem>
              <para>ブックマークを追加したり編集できなくなる</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>履歴の操作を無効にする</term>
  
            <listitem>
              <para>履歴情報のすべてにアクセスできなくする (<guibutton>進む</guibutton>と<guibutton>戻る</guibutton>のボタンが利用できなくなり、履歴ダイアログも開かなくなり、最近使用したブックマークの一覧も表示されなくなるので)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>JavaScript 処理を無効にする</term>
  
            <listitem>
              <para>ウィンドウ Chrome を介した JavaScript の制御が利用できなくなる</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>ツールバーの編集を無効にする</term>
  
            <listitem>
              <para>ツールバーを編集できなくなる</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>強制的にフルスクリーン・モードにする</term>
  
            <listitem>
              <para>フルスクリーン・モードに固定してしまう</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>メニューバーを隠す</term>
  
            <listitem>
              <para>デフォルトでメニューバーを表示しない (<keycap>F10</keycap> キーを使えばメニューバーにはアクセスできる)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>安全ではないプロトコルを無効にする</term>
  
            <listitem>
              <para>危険なプロトコルからの読み込みを無効にする (安全なプロトコルとは <literal>http</literal> と <literal>https</literal> とする)</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
  
      <sect3 id="lockdown-disabling-screensaver">
        <title>GNOME スクリーンセーバー</title>
  
        <variablelist>
          <varlistentry>
            <term>起動時に画面をロックする</term>
  
            <listitem>
              <para>チェックすると、スクリーンセーバーを起動すると画面をロックする</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>ログアウトを許可する</term>
  
            <listitem>
              <para>チェックすると遅延ログアウトするためのダイアログを表示するオプションを追加する (遅延時間は <literal>logout_delay</literal> キーに指定する)</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>ユーザの切り替えを許可する</term>
  
            <listitem>
              <para>チェックすると、別のユーザ・アカウントに切り替えるためのダイアログを表示するオプションを追加する</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>
  </sect1>
</chapter>

  
  <appendix id="appendixa-0">
    <title>隠しフォルダの一覧</title>
    <highlights>
      <para>この章では、GNOME デスクトップがユーザのホームに追加する隠しフォルダについて説明します。</para>
    </highlights>
    <indexterm>
      <primary>hidden directories</primary>
    </indexterm>
    <indexterm>
      <primary>.* directories</primary>
      <see>hidden directories</see>
    </indexterm>
    <para>隠しフォルダとはその名前がピリオド (<quote>.</quote>) で始まるフォルダ (ディレクトリ) のことです。<xref linkend="appendixa-TBL-2"/> に GNOME デスクトップがユーザのホームに追加する隠しフォルダの一覧を示します:</para>
    <table frame="topbot" id="appendixa-TBL-2">
      <title>ユーザのホームにある隠しフォルダの一覧</title>
      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="33*"/>
        <colspec colname="colspec1" colwidth="67*"/>
        <thead>
          <row rowsep="1">
            <entry>
              <para>フォルダ名</para>
            </entry>
            <entry>
              <para>説明</para>
            </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry valign="top">
              <para>
                <filename>.config</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>環境変数の <envar>XDG_CONFIG_HOME</envar> がセットされていない時のデフォルトの場所 (ユーザ定義のメニューを <filename>menus/applications.menu</filename> というファイルに記述することが可能である)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.fonts</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>ユーザ専用のフォントを格納する場所 (フォントを Nautilus から <filename>fonts:///</filename> URI にドラッグしてインストールすると、フォントのコピーがこの場所に作成される)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.esd_auth</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>GNOME のサウンド・デーモンに対する認証クッキーを格納する場所 (GNOME のサウンド・デーモンは <firstterm>Enlightened Sound Daemon</firstterm> (ESD) である)</para>
<para><emphasis>注意: これはフォルダではなく、ファイルである</emphasis></para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gconf</filename>
              </para>
            </entry>
            <entry valign="top">
              <para><application>GConf</application> のユーザ向けの設定ソースを格納する場所 (ユーザが任意の設定を指定すると、新しい設定情報がこの場所に追加される)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gconfd</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>次に示す <application>GConf</application> デーモンの詳細情報を格納する場所:</para>
              <itemizedlist>
                <listitem>
                  <para>設定情報</para>
                </listitem>
                <listitem>
                  <para>任意の <firstterm>Interoperable Object Reference (IOR)</firstterm> が参照しているオブジェクトのロック情報</para>
                </listitem>
                <listitem>
                  <para>任意の IOR が参照しているオブジェクトの状態</para>
                </listitem>
              </itemizedlist>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gnome</filename>
              </para>
            </entry>
            <entry valign="top">
              <para><application>GConf</application> リポジトリには保管されないユーザ専用のアプリケーション情報 (または <application>GConf</application> をサポートしていないアプリケーションの情報) を格納する場所</para>
<para><emphasis>注意: このフォルダは廃止でかつ GNOME 1.x のアプリケーションのみが使用する</emphasis></para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gnome2</filename>
              </para>
            </entry>
            <entry valign="top">
              <para><application>GConf</application> リポジトリには保管されないユーザ専用のアプリケーション情報 (または <application>GConf</application> をサポートしていないアプリケーションの情報) を格納する場所で、例えば次のような情報を保管する:</para>
              <itemizedlist>
                <listitem>
                  <para>キーボード・ショートカットの情報</para>
                </listitem>
                <listitem>
                  <para>ウィンドウを配置する場所</para>
                </listitem>
                <listitem>
                  <para>パネルのランチャを表す <filename>.desktop</filename> エントリ・ファイル</para>
                </listitem>
              </itemizedlist>
              <para>さらに、このフォルダにはアプリケーション専用のデータを格納するためのサブ・フォルダがいくつか含まれている</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gnome2-private</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>このフォルダは無視すること (現在のところ、このフォルダには何の機能もない)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.local/share</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>環境変数の <envar>XDG_DATA_HOME</envar> がセットされていない時のデフォルトの場所 (ユーザ定義のデスクトップ・ファイルを <filename>applications</filename> というサブ・フォルダの中に作成することが可能であり、ユーザ定義の MIME 型を <filename>mime/packages/Overrides.xml</filename> というサブ・フォルダの中に作成することが可能である)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.metacity</filename>
              </para>
            </entry>
            <entry valign="top">
              <para><application>Metacity</application> ウィンドウ・マネージャのセッション・データを格納する場所</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.nautilus</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>ファイル・マネージャのユーザ専用データを格納する場所で、例えば次のような情報を保管する:</para>
              <itemizedlist>
                <listitem>
                  <para>ユーザが作業したフォルダのメタデータ</para>
                </listitem>
<!--Removed Nautilus themes.-->
                <listitem>
                  <para>ユーザが追加した <application>Nautilus</application> のエンブレム</para>
                </listitem>
                <listitem>
                  <para><application>Nautilus</application> のデスクトップ画像</para>
                </listitem>
              </itemizedlist>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.themes</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>テーマ・オプションやウィンドウ・フレーム、またはアイコンなどのユーザ向けテーマ・オプションを保管する場所 (ユーザは<application>外観</application>の設定ツールを使ってテーマを追加できる)</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.thumbnails</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>ユーザ専用の画像のサムネイルを格納する場所で、画像のサムネイルはファイル・マネージャで使用する (ちなみに、ファイル・マネージャはこのサムネイルを生成しないように制限する設定も提供している)</para>
            </entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </appendix>

  
  <appendix id="appendixb-0">
    <title>SMB プリンタを設定する際のセキュリティ上の注意事項</title>
    <highlights>
      <para>この章では、Windows ネットワーク共有で使用するプリンタの設定においてセキュリティに関連する注意事項を説明します。</para>
    </highlights>
    <indexterm>
      <primary>Samba</primary>
      <see>SMB</see>
    </indexterm>
    <indexterm>
      <primary>Windows network shares</primary>
      <see>SMB</see>
    </indexterm>
    <indexterm>
      <primary>SMB</primary>
      <secondary>configuring printers</secondary>
    </indexterm>
    <para>Windows のネットワーク共有は Samba または <firstterm>SMB</firstterm> 共有として参照されます。この SMB 共有上で任意のプリンタを設定する際は、印刷キューに対するユーザ名とパスワードを指定しなければなりません。</para>
    <para>印刷キューに対するユーザ名とパスワードは <filename>/etc/cups/printers.conf</filename> という暗号化されていない通常のテキスト・ファイルの中に保管されます。このファイルは root 権限を持つユーザに対してのみ読み込み専用の権限が付与されているので、他のユーザが root 権限を取得した場合、印刷キューに対するユーザ名とパスワードを入手できてしまいます。</para>
    <para>重大なセキュリティ侵害の可能性からくるインパクトを減らすには、これらのユーザ名とパスワードを印刷キューのためだけに利用するということを保証しなければなりません。これにより、認証していない印刷キューの使用を制限すると同時にセキュリティ情報の漏洩を未然に防ぐということにもつながります。</para>
  </appendix>

<glossary id="glossary-1">
  <title>用語の解説</title>
  <!-- these anchors are to maintain backwards compatibility for 
       obsolete glossary entries -->

  <!-- file content sniffer -->
  <anchor id="glossary-23"/>
  <!-- MIME information file -->
  <anchor id="glossary-20"/>
  <!-- MIME keys file -->
  <anchor id="glossary-21"/>
  <!-- MIME type registry -->
  <anchor id="glossary-22"/>
  <!-- pattern mask -->
  <anchor id="glossary-25"/>
  <!-- vfolder -->
  <anchor id="glossary-9"/>
  <!-- vfolder information file -->
  <anchor id="glossary-10"/>

  <glossentry id="glossary-13">
    <glossterm><filename>.desktop</filename> ファイル</glossterm>
    <glosssee otherterm="glossary-11"/>
  </glossentry>
  <glossentry id="glossary-14">
    <glossterm><filename>.directory</filename> ファイル</glossterm>
    <glosssee otherterm="glossary-12"/>
  </glossentry>
  <glossentry id="glossary-32">
    <glossterm><filename>.omf</filename> ファイル</glossterm>
    <glosssee otherterm="glossary-31"/>
  </glossentry>
  <glossentry id="glossary-18">
    <glossterm>アプリケーション・レジストリ</glossterm>
    <glossdef>
      <para>アプリケーション・レジストリとは、アプリケーションを登録するいろいろなデスクトップ・エントリのファイルの集合です。GNOME デスクトップで、このアプリケーション・レジストリが保管されている場所は <filename>$XDG_DATA_DIRS:$XDG_DATA_HOME/applications/</filename> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-11">
    <glossterm>デスクトップ・エントリのファイル</glossterm>
    <glossdef>
      <para>メニュー項目に相当する情報を提供するためのデータ・ファイルの一種です。デスクトップ・エントリのファイルには、メニュー項目として表示する名前や実行するコマンド、メニュー項目に表示するアイコンなどのような詳細情報を指定します。このファイルの拡張子は <filename>.desktop</filename> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-12">
    <glossterm>ディレクトリ・エントリのファイル</glossterm>
    <glossdef>
      <para>メニューに相当する情報を提供するためのデータ・ファイルの一種です。ディレクトリ・エントリのファイルには、メニューとして表示する名前やツールチップの説明、メニューに表示するアイコンなどのような詳細情報を指定します。このファイルの拡張子は <filename>.directory</filename> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-5">
    <glossterm>GConf の設定ソース</glossterm>
    <glossdef>
      <para><application>GConf</application> のリポジトリの中にある設定情報を保管する場所の一つです。例えば、<literal>xml:readonly:/etc/gconf/gconf.xml.defaults</literal> という設定ソースがあります。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-2">
    <glossterm>GConf の設定キー</glossterm>
    <glossdef>
      <para><application>GConf</application> リポジトリの中にある要素の一つで、アプリケーションの設定項目に相当します。例えば、<literal>/apps/gnome-session/options/show_splash_screen</literal> というキーは<application>セッション</application>の設定ツールにある<guilabel>ログイン時にスプラッシュ・スクリーンを表示する</guilabel>というオプションに相当します。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-6">
    <glossterm>GConf のパス・ファイル</glossterm>
    <glossdef>
      <para>いろいろな <application>GConf</application> の設定ソースを羅列したファイルで、羅列する順番が設定ソースを検索する優先順位になります。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-3">
    <glossterm>GConf スキーマ</glossterm>
    <glossdef>
      <para>スキーマ・キーとスキーマ・オブジェクトに対する総称です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-4">
    <glossterm>GConf のスキーマの定義ファイル</glossterm>
    <glossdef>
      <para><application>GConf</application> のスキーマの定義ファイルには特定のアプリケーションで使用するキーが羅列されており、それぞれのキーに関する特徴が定義されています。<application>GConf</application> スキーマは、このスキーマの定義ファイルから生成されます。このファイルの拡張子は <filename>.schemas</filename> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-7">
    <glossterm>GConf スキーマ・キー</glossterm>
    <glossdef>
      <para>設定キー毎にスキーマ・オブジェクトを格納する際に使用するキーです。例えば、<literal>/schemas/desktop/gnome/interface/font_name</literal> は <literal>/desktop/gnome/interface/font_name</literal> という設定キーに対するスキーマ・キーです。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-8">
    <glossterm>GConf スキーマ・オブジェクト</glossterm>
    <glossdef>
      <para><application>GConf</application> の設定ソースに保管されている要素の一つで、設定キーに関する情報 (デフォルト値や設定キーの説明など) を格納しています。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-glob-pattern">
    <glossterm>Glob パターン</glossterm>
    <glossdef>
      <para>Glob パターンは特殊な文字 (<literal>*</literal> とか <literal>?</literal>) を使ってファイル名を検索するためのパターンです。MIME 型のシステムではこの Glob パターンを使って、ファイル名や拡張子に応じた MIME 型を割り当てます。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-26">
    <glossterm>IOR</glossterm>
    <glossdef>
      <para><firstterm>Interoperable Object Reference</firstterm> (略して IOR) は CORBA オブジェクトへの参照の一つです (実体は文字列)。IOR は任意のホスト名やポート番号を符号化したもので、オブジェクトを管理するために送信されるデータです。さらに IOR にはそのオブジェクトを識別するためのオブジェクト・キーが一つ格納されています。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-magic-rule">
    <glossterm>マジック・ルール</glossterm>
    <glossdef>
      <para>マジック・ルールは、任意のファイルの先頭に何が格納されているか (文字列だったりバイナリ・データだったり) を指定することによって MIME 型を定義するものです。このデータを検索するためのオフセットをマジック・ルールの中で定義しておきます。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-menu-def">
    <glossterm>メニューの定義ファイル</glossterm>
    <glossdef>
      <para>メニューの定義ファイルは GNOME のメニューバーの中で使用するメニューの階層構造を定義したものです。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-27">
    <glossterm>MIME</glossterm>
    <glossdef>
      <para><firstterm>Multipurpose Internet Mail Extension</firstterm> の略で、多目的インターネットメール拡張という規格です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-mime-source-xml">
    <glossterm>MIME 型のソース XML ファイル</glossterm>
    <glossdef>
      <para>MIME 型のソース XML ファイルは、いろいろな種類のファイルに対してどのように MIME 型を解決するかを定義したものです。MIME 型を解決する方法が三つあります: ファイルの拡張子を調べる方法 (Glob パターン)、マジック・ルールを使う方法、そして XML の名前空間を利用する方法です。MIME 型のソース XML ファイルは <filename>$XDG_DATA_DIRS:$XDG_DATA_HOME/mime/packages</filename> というフォルダの中に格納されています。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-16">
    <glossterm>MIME 型</glossterm>
    <glossdef>
      <para>MIME 型はファイルの形式を明らかにするものです。MIME 型を使うと、アプリケーションはファイルを読むことができます (MIME 型から、どのようにファイルを読めばよいかが分かるので)。例えば、メール・クライアントは <literal>image/png</literal> という MIME 型を利用して、メールに添付されているファイルが PNG 画像 (<firstterm>Portable Networks Graphic</firstterm>) であることを知ることができます。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-mime-type-database">
    <glossterm>MIME 型のデータベース</glossterm>
    <glossdef>
      <para>MIME 型のデータベースは、デスクトップ環境に応じていろいろな MIME 型を登録するファイルの集合です。MIME 型のデータベースが格納されている場所は <filename>$XDG_DATA_DIRS:$XDG_DATA_HOME/mime</filename> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-31">
    <glossterm>OMF ファイル</glossterm>
    <glossdef>
      <para><firstterm>Open Source Metadata Framework</firstterm> ファイル (略して OMF) は、ドキュメントやマニュアルの XML ファイルに関連づけられたファイルです。この OMF ファイルにはヘルプ・ブラウザが使用するドキュメントに関する情報が格納されています。OMF ファイルの拡張子は <filename>.omf</filename> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-33">
    <glossterm>PAM</glossterm>
    <glossdef>
      <para><firstterm>Pluggable Authentication Modules</firstterm> (略して PAM) というユーザ認証方法の一つです。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-28">
    <glossterm>スクリーンセーバー</glossterm>
    <glossdef>
      <para>スクリーンセーバーは、モニタの画面が使用されなくなったらそれを何か別の画像で置きかえるアプリケーションです。GNOME デスクトップにおけるスクリーンセーバー・アプリケーションは <application>XScreenSaver</application> です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-29">
    <glossterm>スクリーンセーバーのディスプレイ</glossterm>
    <glossdef>
      <para>スクリーンセーバーのディスプレイは、モニタの画面が使用されなくなったらユーザの画面に何か別の画像を表示するアプリケーションです。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-34">
    <glossterm>UDP</glossterm>
    <glossdef>
      <para><firstterm>User Datagram Protocol</firstterm> (略して UDP) です。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-15">
    <glossterm>URI</glossterm>
    <glossdef>
      <para><firstterm>Uniform Resource Identifier</firstterm> (略して URI) はファイル・システムまたはインターネット上にある特定の場所を表す文字列です。例えば、ウェ・ページのアドレスは URI の一つです。</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-24">
    <glossterm>Websafe カラー・パレット</glossterm>
    <glossdef>
      <para>Websafe カラー・パレットは 216 色からなる汎用的な目的で使用するパレットです。このカラー・パレットは 8ビット色をサポートしているようなシステムで最適な色を利用するために設計されたものです。このカラー・パレットは <emphasis>Netscape カラー・パレット</emphasis>とか <emphasis>Netscape カラー・キューブ</emphasis>とも呼ばれています。</para>
    </glossdef>
  </glossentry>
</glossary>


<!-- If generating PDFs and if you want an index, then uncomment <index/> -->
<!-- <index/> -->

</book>
