GNOME 2.2 システム管理 (Linux 版)

第 2 章 メニューのカスタマイズ

この章では、GNOME デスクトップがどのようにメニューを実装するか、また管理者はどのようにメニューをカスタマイズできるか説明します。

メニューの概要

GNOME デスクトップがメニューをどのように実装するかにより、次のことが可能になります。

GNOME デスクトップ上のメニューは、次のコンポーネントを使用します。

ファイル抽象レイヤー

gnome-vfs ファイル抽象レイヤーは、アプリケーションがファイルと相互に作用するための単純かつ一般化された方法を提供します。 また、ファイル抽象レイヤーは、特定のメニュー構成ファイルに対応付ける URI (Uniform Resource Identifier) ロケーションを提供します。 すべてのユーザー用にメニューまたはメニュー項目を追加するには、そのメニューまたはメニュー項目を URI ロケーションの 1 つに追加する必要があります。 項目を追加できるメニューと、そのメニューに対応する URI ロケーションは表 2–1 に示しています。

表 2–1 メニューと URI ロケーション

メニュー 

URI ロケーション 

すべてのユーザーの「アプリケーション」メニュー

applications-all-users:///

すべてのユーザーの「設定」メニュー

preferences-all-users:///

vfolder とメニュー

一般的に、「vfolder」は、システム上の物理的な場所 (1 箇所または複数) に存在する項目の仮想表現になります。 たとえば、vfolder が、いくつかのディレクトリの内容を表す場合があります。 また vfolder は、1 つまたは複数の物理的な場所の抽象概念になります。 GNOME デスクトップのメニューの場合、vfolder は、物理的に複数のディレクトリに置かれている項目のメニュー上の表現になります。

vfolder 情報ファイルは、vfolder を説明する XML ファイルです。 vfolder 情報ファイルは、メニューの構造を指定する vfolder 情報ファイルは、メニューの名前と、メニューに表示されるアプリケーションの順序を指定します。 vfolder 情報ファイルには、.vfolder-info ファイル拡張子が付きます。

以下に vfolder 情報ファイルの抜粋を示します。

<?xml version="1.0"?>
<VFolderInfo>
.
.
.
  <Folder>
    <Name>Applications</Name>
    <Desktop>Applications.directory</Desktop>
    <Folder>
      <Name>Accessories</Name>
      <DontShowIfEmpty/>
      <Desktop>Accessories.directory</Desktop>
      <Query>
        <And>
          <Keyword>Application</Keyword>
          <Keyword>Utility</Keyword>
        </And>
      </Query>
    </Folder>
.
.
.
  </Folder>
</VFolderInfo>

表 2–2 は、vfolder 情報ファイル内の要素を示しています。

表 2–2 vfolder 情報ファイルの要素

要素 

説明 

<Folder>

メニューの名前、内容、構造を定義する要素が含まれる 

<Name>

メニューの名前を指定する。 

<Desktop>

メニューの名前、コメント、アイコンを指定するディレクトリエントリファイルの名前 

<Query>

デスクトップエントリファイルに対するクエリー。 クエリー要件と一致するデスクトップエントリファイルと、メ ニュー項目がメニュー上に表示される 

上記抜粋内のクエリーでは、Categories キー内にキーワード ApplicationUtility を含むデスクトップエントリファイルが検索される。 一致するデスクトップエントリファイルが「アプリケーション」メニューに表示される

この要素は任意 

<DontShowIfEmpty/>

この要素がある場合は、項目を何も含まないメニューは表示されない 

この要素は任意 

デスクトップエントリファイル

「デスクトップエントリファイル」は、メニュー内の項目に関する情報を提供するデータファイルです。 デスクトップエントリファイルは、名前、実行するコマンド、アイコンなどの項目の詳細を指定します。 また、デスクトップエントリファイルには、メニュー階層内での項目の位置を決定するキーワードが含まれています。 デスクトップエントリファイルには、.desktop ファイル拡張子が付く

以下は、デスクトップエントリファイルのサンプルです。

[Desktop Entry]
Encoding=UTF-8
Name=Calculator
Comment=Perform calculations
Exec=gcalctool
Icon=gcalctool.png
Terminal=false
Type=Application
Categories=GNOME;Application;Utility;
X-GNOME-DocPath=gcalctool/gcalctool.xml

表 2–3 は、デスクトップエントリファイルで最も重要なキーを説明しています。

表 2–3 デスクトップエントリキー

デスクトップエントリキー 

説明 

Encoding

デスクトップエントリファイルのエンコーディングを指定する 

Name

項目の名前を指定する。 この名前は、メニュー上の項目として表示される 

Comment

項目の短い説明を指定する。 コメントは、メニュー上のメニュー項目を指したときにツールチップとして表示される 

Exec

メニューから項目を選択したときに実行されるコマンドを指定する 

Icon

項目を表すアイコンのファイル名を指定する。 ファイル名へのパス、あるいはファイル拡張子は指定しない 

Terminal

Exec キーで指定したコマンドを端末で実行するかどうかを指定する。 値が true の場合は、コマンドが端末で実行される

コマンドを実行するウィンドウを作成しない場合は、このキーの値を true にする必要がある

Type

項目のタイプを指定する。 次のいずれかを指定する 

  • Application: アプリケーションを起動する項目の場合はこのオプションを入力

  • Link: ファイル、フォルダ、または FTP サイトにリンクする項目の場合はこのオプションを入力

Categories

項目を説明するキーワードを指定する。 キーワードはセミコロン (;) で区切る。 標準のカテゴリキーワードのリストについては、以下の URL のデスクトップメニュー仕様を参照 

 http://www.freedesktop.org

vfolder 情報ファイルは、メニューに入力するキーワードを対応付ける 

X-GNOME-DocPath

メニュー項目のポップアップメニューから「%s のヘルプ」を選んだときに表示されるヘルプファイルを指定する

デスクトップエントリファイルのキーに関する詳細については、以下の URL のデスクトップエントリ仕様を参照してください。

http://www.freedesktop.org

注 –

パネルランチャーやデスクトップオブジェクトも、デスクトップエントリファイルを使用します。 ランチャーやデスクトップオブジェクト用のデスクトップエントリファイルは、メニュー項目用のデスクトップエントリファイルと同じ情報を提供します。 たとえば、デスクトップエントリファイルは、ユーザーがランチャーまたはオブジェクトを選択したときに実行されるコマンドを提供します。


ディレクトリエントリファイル

ディレクトリエントリファイル」は、メニューに関する情報を提供するデータファイルです。 「ディレクトリエントリファイル」は、名前、ツールチップ、アイコンなどのメニューの詳細を指定します。 ディレクトリエントリファイルには、.directory ファイル拡張子が付きます。

以下は、ディレクトリエントリファイルのサンプルです。

[Desktop Entry]
Name=Accessories
Comment=Accessories menu
Icon=gnome-util.png
Type=Directory

表 2–4 は、ディレクトリエントリファイルの最も重要なキーを説明しています。

表 2–4 ディレクトリエントリキー

ディレクトリエントリキー 

説明 

Name

メニューの名前を指定する。 この名前は、メニューに表示される 

Comment

メニューの短い説明を指定する。 コメントは、メニューを指したときにツールチップとして表示される 

Icon

メニューを表すアイコンのファイル名を指定する。 ファイル名へのパス、あるいはファイル拡張子は指定しない 

Type

メニューのタイプを指定する。 このキーの値は常に Directory

メニューの編集

以下の GNOME デスクトップコンポーネントを使用してメニューを編集できます。

ファイルマネージャを使用してすべてのユーザーにメニューまたはメニュー項目を追加する場合は、メニューまたはメニュー項目を URI ロケーションに追加します。 項目を追加できるメニューと、そのメニューに対応する URI ロケーションは表 2–1 に示しています。

パネルを使用して、すべてのユーザーのメニューをカスタマイズする場合は、メニュー項目ポップアップメニューを使用します。 詳細は、『GNOME 2.2 ユーザーズガイド (Linux 版)』「メニューの操作方法」を参照してください。

メニューのカスタマイズに、メニュー構成ファイルおよびメニューデータファイルを使用することもできます。

メニューの追加

次の方法を使用して、メニューをすべてのユーザーに追加できます。

ファイルマネージャによるメニューの追加

すべてのユーザーにメニューを追加するには、次の手順を実行します。

  1. ファイルマネージャウィンドウで、メニューを追加する場所にアクセスします。 たとえば、「アプリケーション」メニューにメニューを追加する場合は、「場所」フィールドに applications-all-users:/// と入力して、リターンキーを押します。

  2. 「ファイル」->「新規フォルダ」を選択します。 タイトルのないフォルダ「未タイトルのフォルダ」が表示区画に追加されます。 フォルダの名前が選択されています。

  3. フォルダの名前を入力して、Return キーを押します。 手順1 でアクセスした場所用の vfolder 情報ファイルは、新しいメニューの詳細を反映して自動的に更新されます。 フォルダの名前は、メニューの名前として表示されます。

次回ユーザーがログインすると、メニューに表示されます。

メニューファイルによるメニューの追加

すべてのユーザーにメニューを追加するには、次の手順を実行します。

  1. 追加する項目用にディレクトリエントリファイルを作成します。 ディレクトリエントリファイルは、 /usr/share/gnome/vfolders ディレクトリに作成します。 ディレクトリエントリファイルの詳細については、ディレクトリエントリファイルを参照してください。

  2. メニューを追加する場所用の vfolder 情報ファイルの場所を確認します。 「アプリケーション」メニューにメニューを追加する場合は、ファイル /etc/gnome-vfs-2.0/vfolders/applications-all-users.vfolder-infoの場所を確認します。

  3. vfolder 情報ファイルに、新しいメニュー用の <Folder> 要素を追加します。 vfolder 情報ファイルの詳細については、vfolder とメニューを参照してください。

次回ユーザーがログインすると、メニューに表示されます。

メニューへの項目の追加

すべてのユーザーのメニューに項目を追加するには、次の手順を実行します。

  1. 追加する項目用にデスクトップエントリファイルを作成します。 デスクトップエントリファイルの詳細については、デスクトップエントリファイルを参照してください。

  2. ファイルマネージャウィンドウを開きます。 「ファイル」->「新規ウィンドウ」を選択して、別のファイルマネージャウィンドウを開きます。

  3. 1 つのウィンドウで、メニュー項目を追加する場所にアクセスします。 たとえば、「設定」メニューにメニュー項目を追加する場合は、「場所」フィールドに preferences-all-users:/// と入力し、リターンキーを押します。

  4. 別のウィンドウで、そのメニュー項目用に作成したデスクトップエントリファイルを選択します。 メニュー項目を追加する場所にデスクトップエントリファイルをドラッグします。

    あるいは、デスクトップエントリファイルをコピーして、メニュー項目を追加する場所にそのファイルを貼り付けます。

次回ユーザーがログインすると、メニュー項目に表示されます。

メニューの設定を編集する

すべてのユーザーのメニューの設定を編集するには、次の手順を実行します。

  1. パネルから編集するメニューを開きます。 メニュー上の任意の項目を右クリックします。

  2. 「メニュー全体」->「設定」を選択します。 「ランチャーの設定」ダイアログが表示されます。

  3. 「ランチャーの設定」ダイアログでメニューの設定を変更します。 「ランチャーの設定」ダイアログの要素については、『GNOME 2.2 ユーザーズガイド (Linux 版)』「パネルの操作方法」を参照してください。

  4. 「了解」をクリックします。

メニュー項目を編集する

メニュー項目を編集するには、次の手順を実行します。

  1. パネルから、編集する項目を含むメニューを開きます。 編集する項目を右クリックします。

  2. 「設定」を選択します。 「ランチャーの設定」ダイアログが表示されます。

  3. 「ランチャーの設定」ダイアログでメニュー項目の設定を変更します。 「ランチャーの設定」ダイアログの要素については、『GNOME 2.2 ユーザーズガイド (Linux 版)』「パネルの操作方法」を参照してください。

  4. 「了解」をクリックします。

メニューから項目を削除する

メニューから項目を削除するには、パネルから削除する項目を含むメニューを開きます。 削除する項目を右クリックします。 「ランチャーをメニューから削除」を選択します。

次回ユーザーがログインすると、そのメニュー項目はメニューに表示されません。

ユーザーが変更できないメニューの設定

以下の条件が当てはまる場合、ユーザーはメニューを変更できません。

ユーザーが変更できないようにメニューを設定するには、次の手順を実行します。

  1. /etc/gnome-vfs-2.0/vfolders ディレクトリに、設定するメニュー用の vfolder 情報ファイルを作成します。

  2. vfolder 情報ファイルの名前に、設定するメニューに対応する URI ロケーションの名前を指定します。 たとえば、「アプリケーション」メニューを設定する場合、/etc/gnome-vfs-2.0/vfolders ディレクトリに applications.vfolder-info という名前で vfolder 情報ファイルを作成します。

  3. vfolder 情報ファイルのアクセス許可を読み取り専用に設定します。