Archive:KDE System Administration/Configuration Files (zh TW): Difference between revisions

    From KDE TechBase
    No edit summary
    No edit summary
    Line 19: Line 19:
    </code>
    </code>


    Entries in a group consists of a key and value separated by an equal sign.
    在組中的每個項目都是使用「關鍵字=值」的格式。關鍵字能夠包含空格,也可在其後加上放置於中括號內的選項。
    The key can contain spaces and may be followed by options placed in
    square brackets.


    The part after the equal sign is the value of the entry. Any white space
    等號後面的部分是每個項目的值。所有在等號周圍和項目末端的空格都將被忽略。
    surrounding the equal sign is ignored, as is any trailing white space.


    If a value is supposed to include a space at the begin or end then this can be achieved
    如果一個值需要包含一個空格在它的開始或結尾,這種情況可以用反斜線加 s 來代替。
    by using a backslash followed by an 's'.


    There are several other backslash codes, here is the complete list:
    有許多其他這樣的反斜線替代碼,以下是完整列表:


    * "<tt>\s</tt>" can be used as space
    * <tt>\s</tt>」 能夠被當作空格使用
    * "<tt>\t</tt>" can be used to include a tab
    * <tt>\t</tt>」 能夠被當作 tab 使用
    * "<tt>\r</tt>" for a carriage return character
    * <tt>\r</tt>」 表示 return 符號
    * "<tt>\n</tt>" for a linefeed character (new line)
    * <tt>\n</tt>」 表示換行符號(新增一行)
    * "<tt>\\</tt>" to include the backslash itself
    * <tt>\\</tt>」 表示反斜線本身


    ==== 範例:空白 ====
    ==== 範例:空白 ====
    The following config file fragment is equivalent to the one in the
    下面的配置檔片段相當於與上一個範例。關鍵字與值周圍的空白將被忽略。
    previous example. Whitespace surrounding the key and value is ignored.
    <code ini>
    <code ini>
    [KDE]
    [KDE]
    Line 51: Line 46:


    ==== 範例:保留空白 ====
    ==== 範例:保留空白 ====
    In the following example the value of the "<tt>Caption</tt>" entry starts
    在接下來的例子中「<tt>Caption</tt>」項的值以兩個空格開始,同時「<tt>Description</tt>」項包含三行文字。反斜線標記的換行符號(\n)用於分割不同行。
    with two spaces while the "<tt>Description</tt>" entry contains three lines
    of text. Linefeeds in backslash notation are used to separate the different lines.
    <code ini>
    <code ini>
    [Preview Image]
    [Preview Image]
    Line 60: Line 53:
    </code>
    </code>


    Empty lines in configuration files are ignored, just as lines that
    配置檔中的空行將被忽略,就像對待井字「#」開始的行一樣。井字用於在配置檔中加上註釋,但是需要注意當 KDE 應用程式更新配置檔時,這些註釋將不被保留。
    start with a hash mark '#'. The hash mark can be used to add comments to
    configuration files but it should be noted that when a KDE application
    updates a configuration file the comments are not
    preserved.


    == 配置 ==
    == 配置 ==

    Revision as of 10:09, 7 December 2009


    KDE System Administration/Configuration Files

    檔案格式

    KDE 在它所有的配置檔都使用單純基於文字的檔案格式。這種檔案包含由多項相配關鍵字與值(key-value)組合成的組(group)。所有的 KDE 配置檔使用 UTF-8 編碼,而不用 ASCII。

    每組的開始處是由放置在中括號內的組名標示。所有放置在開始標籤後的關鍵字與值項目皆屬於該組。每個組結束於下一組的開始標籤或設定檔的結尾。

    在檔案最上面的第一個項,不會作為預設的組被優先處理。

    範例:一份簡單的設定檔

    以下的範例展示了一個包含兩個組的配置檔。第一組包含了關鍵字「LargeCursor」和「SingleClick」,第二組包含了關鍵字「Show hidden files」和「Sort by」。 [KDE] LargeCursor=false SingleClick=true

    [KFileDialog Settings] Show hidden files=false Sort by=Name

    在組中的每個項目都是使用「關鍵字=值」的格式。關鍵字能夠包含空格,也可在其後加上放置於中括號內的選項。

    等號後面的部分是每個項目的值。所有在等號周圍和項目末端的空格都將被忽略。

    如果一個值需要包含一個空格在它的開始或結尾,這種情況可以用反斜線加 s 來代替。

    有許多其他這樣的反斜線替代碼,以下是完整列表:

    • \s」 能夠被當作空格使用
    • \t」 能夠被當作 tab 使用
    • \r」 表示 return 符號
    • \n」 表示換行符號(新增一行)
    • \\」 表示反斜線本身

    範例:空白

    下面的配置檔片段相當於與上一個範例。關鍵字與值周圍的空白將被忽略。 [KDE] LargeCursor= false SingleClick = true

    [KFileDialog Settings]

      Show hidden files   = false
    

    Sort by =Name

    範例:保留空白

    在接下來的例子中「Caption」項的值以兩個空格開始,同時「Description」項包含三行文字。反斜線標記的換行符號(\n)用於分割不同行。 [Preview Image] Caption=\s My Caption Description=This is\na very long\ndescription.

    配置檔中的空行將被忽略,就像對待井字「#」開始的行一樣。井字用於在配置檔中加上註釋,但是需要注意當 KDE 應用程式更新配置檔時,這些註釋將不被保留。

    配置

    There can be multiple configuration files with the same name in the share/config sub-directory of the various [[../KDE Filesystem Hierarchy#Location_of_the_Directory_Trees|KDE Directory Trees]]. In that case the information of all these configuration files is combined on a key-by-key basis. If the same key within a certain group is defined in more than one place, the key value read from the directory tree with the highest precedence will be used. Configuration files under $KDEHOME always have the highest precedence. If a key in a certain group is defined multiple times in a single file, the value of the last entry is used.

    KDE's cascading configuration scheme can be used to provide users with system or organisation-wide default settings while still allowing the users to make individual changes to these settings. KDE will not write entries to the user's configuration file under $KDEHOME that match any default settings provided this way. This way changes made to the default settings will immediately be propagated to the user. Note that differs from the traditional way of providing default settings for users through the use of /etc/skel, changes to /etc/skel will only be propagated when creating a new user account.

    When it is undesirable that individual users can make changes to default settings, the default setting can be locked down.

    Shell 擴展

    So called Shell Expansion can be used to provide more dynamic default values. With shell expansion the value of a configuration key can be constructed from the value of an environment variable or from the output of a shell command.

    To enable shell expansion for a configuration entry, the key must be followed by [$e]. Normally the expanded form is written into the users configuration file after first use. To prevent that, it is recommend to lock the configuration entry down by using [$ie].

    範例:動態項目

    In the following example the value for the "Host" entry is determined by the output of the hostname program. This setting is also locked down to ensure that the value is always determined dynamically.

    The value for the "Email" entry is determined by filling in the values of the $USER and $HOST environment variables. When joe is logged in on joes_host this will result in a value equal to "joe@joes_host". The setting is not locked down.

    [Mail Settings] Host[$ie]=$(hostname) Email[$e]=${USER}@${HOST}

    本地化

    All configuration entries can be indexed with a language code. In this case, the language that the user has selected for use on the desktop is used to look up the key value. If the default language (American English) has been selected or if there is no index that corresponds to the selected language, the key entry without index is used.

    範例:UTF8 In Keys

    In the following example the value of the "Caption" entry depends on the language. If the user has selected french as language (language code fr) the value of the entry will be "Ma Légende". In all other cases the value "My Caption" will be used. [Preview Image] Caption=My Caption Caption[fr]=Ma Légende

    鎖定

    To prevent users from overriding default settings, you can lock these settings down in the system-wide config files. Settings can be locked down individually, per group, or per file. An individual entry can be locked down by adding [$i] behind the key. A group of entries can be locked down by placing [$i] behind the group name. To lock down the entire file, start the file with [$i] on a single line.

    範例:Using [$i]

    In the following example the "Caption" entry has been locked down. All entries in the "Mail Settings" group have been locked down as well. [Preview Image] Caption[$i]=My Caption

    [Mail Settings][$i] Host[$e]=$(hostname) Email=waldo@kde.org

    If an entry has been locked down, entries that would otherwise take precedence over the default setting will now be ignored.

    Any changes that applications make to settings that have been locked down will be silently dropped. Applications may respond differently to locked down settings. Some applications recognize when a setting has been locked down and will remove the elements from its user interface. Other applications will continue to offer these options in their user interface even though the option does not have any effect any more. It is also possible that it is actually still possible to change the setting in the running program. In that case the changed setting will be effective for the time the program remains running. When the program is restarted it will then return to the locked-down default settings.

    編輯器

    If you do not want to use a text editor then KConfigEditor offers a convenient way to edit KDE configuration files.

    For scripts or modifying files from the command line, the command line app kwriteconfig is very useful. kwriteconfig expects a configuration file name, a group, a key, an optional type and a value, such as:

    kwriteconfig --file kickerrc \

                --group General \
                --key AutoHidePanel \
                --type bool \
                true