[debian-edu-commits] debian-edu/ 10/183: Expanded README, couple of small beatifications in the xsession script
Alexander Alemayhu
ccscanf-guest at moszumanska.debian.org
Wed Jun 11 16:48:28 UTC 2014
This is an automated email from the git hooks/post-receive script.
ccscanf-guest pushed a commit to branch master
in repository desktop-profiles.
commit 11d6c039aa4e34dc6002c2a04f56fdcb4eba6801
Author: Bart Cornelis <cobaco at linux.be>
Date: Thu Oct 14 21:58:11 2004 +0000
Expanded README, couple of small beatifications in the xsession script
---
20desktop-profiles_activateDesktopProfiles | 22 ++++----
README | 91 ++++++++++++++++++++++--------
2 files changed, 77 insertions(+), 36 deletions(-)
diff --git a/20desktop-profiles_activateDesktopProfiles b/20desktop-profiles_activateDesktopProfiles
index c66a677..52b6e5a 100644
--- a/20desktop-profiles_activateDesktopProfiles
+++ b/20desktop-profiles_activateDesktopProfiles
@@ -19,7 +19,7 @@ LISTINGS=`ls $PROFILE_DIR/*.listing`;
# returns succesfully ($?=0) if requirement is met
# returns 1 otherwise
######################################################################
-testRequirement(){
+test_requirement(){
#######################
# negative requirement
#######################
@@ -37,7 +37,7 @@ testRequirement(){
# !<group> -> $USER is not a member of <group>
###############################################
if (groups | grep -v $GROUP > /dev/null); then
- exit;//success
+ exit;# success
fi;
######################
@@ -53,14 +53,14 @@ testRequirement(){
####################
else
if (groups | grep $1 > /dev/null); then
- exit;//success
+ exit;# success
fi;
fi;
#########################
# not met if we get here
#########################
- exit 1;//failure
+ exit 1;# failure
}
##########################################################
@@ -110,7 +110,7 @@ get_profiles_with_fulfilled_requirements () {
############################
# test current requirement
############################
- if !(testRequirement "$REQUIREMENT"); then
+ if !(test_requirement "$REQUIREMENT"); then
continue 2;# requirment not fulfilled -> goto next profile
fi
done;
@@ -127,7 +127,7 @@ get_profiles_with_fulfilled_requirements () {
# $1 = Profile-kind
# (KDE, ROX, GCONF, XDG_DATA or XDG_CONFIG)
#################################################
-getProfiles() {
+get_profiles() {
#################
# order profiles
#################
@@ -150,25 +150,25 @@ getProfiles() {
# Script Entry
###############
#if variable empty or = default -> no need to set it
-KDEDIRS=`getProfiles KDE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+KDEDIRS=`get_profiles KDE | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$KDEDIRS"x != x) &&
(test "$KDEDIRS" != "`cat $PROFILE_DIR/default.listing | grep "^kde-prefix" | cut --fields 2 --delimiter ";"`"); then
export KDEDIRS;
fi;
-XDG_CONFIG_DIRS=`getProfiles XDG_CONFIG | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+XDG_CONFIG_DIRS=`get_profiles XDG_CONFIG | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$XDG_CONFIG_DIRS"x != x) &&
(test "$XDG_CONFIG_DIRS" != "`cat $PROFILE_DIR/default.listing | grep "^default-xdg_config_dirs" | cut --fields 2 --delimiter ";"`"); then
export XDG_CONFIG_DIRS;
fi;
-XDG_DATA_DIRS=`getProfiles XDG_DATA | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+XDG_DATA_DIRS=`get_profiles XDG_DATA | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$XDG_DATA_DIRS"x != x) &&
(test "$XDG_DATA_DIRS" != "`cat $PROFILE_DIR/default.listing | grep "^default-xdg_data_dirs" | cut --fields 2 --delimiter ";"`"); then
export XDG_DATA_DIRS;
fi;
-CHOICESPATH==`getProfiles ROX | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
+CHOICESPATH==`get_profiles ROX | sed -e "s/^ *//" -e "s/ *$//" -e "s/ /:/g"`
if (test "$CHOICESPATH"x != x) &&
(test "$CHOICESPATH" != "`cat $PROFILE_DIR/default.listing | grep "^default-choicespath" | cut --fields 2 --delimiter ";"`"); then
# Rox doesn't have a seperate variable for the user settings, they need to be added here
@@ -185,4 +185,4 @@ fi;
# contain a include directive for this generated file. (if the default.listing file in
# /etc/desktop-profiles is unchanged it should _only_ contain the include directive)
PROFILE_PATH_FILE="/var/cache/desktop-profiles/${USER}_profiles.path"
-getProfiles GCONF > $PROFILE_PATH_FILE
+get_profiles GCONF > $PROFILE_PATH_FILE
diff --git a/README b/README
index be7b9e6..361b9bb 100644
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
1. INTRO:
=========
One general problem is that often you want to have different setups (profiles)
-when different conditions are met (e.g. IT-staff, vs. regular user).
+when different conditions are met (e.g. IT-staff member, vs. regular user).
KDE, ROX, and freedesktop all natively provide a way to add profiles (by setting
certain environment variables), GNOME can be made to support profiles (with a
@@ -21,7 +21,7 @@ ROX, and XFCE to varying degrees for the existing freedesktop standards)
consists of name, location, precedence, requirements to activate,
profile-kind, and description (See 3. for the exact format of these files).
- -> no need to mess with config files of other packages
+ NOTE: Packages that add profiles should use <package-name>.listing
2.2. When starting X an Xsession.d script is run that activates the profiles
based on the data in the /etc/desktop-profiles/*.listing files
@@ -49,6 +49,13 @@ ROX, and XFCE to varying degrees for the existing freedesktop standards)
directory (if so seperate them with spaces).
Except for the GCONF profiles, where this field contains the
directive to be included in the generated path file.
+
+ Directives are either
+ include "path-to-a-pathfile"
+ or
+ <gconf-backend>:<permissions>:<root-of-configuration-source>
+ with <gconf-backend> normally = 'xml'
+ and <permissions> = 'readonly' or 'readwrite'.
- 3th field: Precedence of the the profile, used to order the profiles when
multiple profiles are active. Empty = lowest precedence. This
is mainly important if 2 active profiles define the same
@@ -74,30 +81,64 @@ ROX, and XFCE to varying degrees for the existing freedesktop standards)
4. Building profiles:
=====================
- 4.1. KDEDIRS:
- =============
- - principles:
- - cascading config files
- - kiosk
- - possibilities
- - tools
+ 4.1. KDE (KDEDIRS):
+ ===================
+ - Each profile directory is layed out according to the KDE file system
+ hierarchy (see http://www.kde.org/areas/sysadmin/fsh.php)
+
+ - Config files in the different profiles are merged (in case of conflicting
+ keys, the value of the highest precedence profile is used). For other
+ files the highest precedence profile that contains the file supplies it.
+
+ - Starting with kde 3.3. the kiosk framework can be used to lock settings
+ down in the profiles, for all unlocked settings user-specified values are
+ always used when available.
+ (see http://www.kde.org/areas/sysadmin for more info on the
+ kiosk-framework, and the format of kde config files)
+
+ NOTE: There is a graphical tool called kiosk-tool to easy the creation and
+ maintenance of kde-profiles (not necesarily using kiosk features).
+ It's available in .deb format from the kalyxo archives, see
+ http://www.kalyxo.org/twiki/bin/view/Main/StagingArchive)
+
+ 4.2. Freedesktop (XDG_*_DIRS):
+ ==============================
+ - The 'Desktop base directory specification' defines the basic framework for
+ using profiles (see http://freedesktop.org/Standards/basedir-spec).
- 4.2. XDG_*_DIRS:
- ================
- - basedir spec
- - specs that build on that
+ - The actual contents of the profiles is filled in by things conforming to
+ other freedesktop standards (e.g. the 'menu specification'). A list of
+ freedesktop standards (that are being worked on) can be found at
+ http://freedesktop.org/Standards. Most of these standards are still
+ under development and not (yet) widely supported. Eventually you can
+ probably suspect support of at least KDE, GNOME, ROX, and XFCE.
- 4.3. CHOICESPATH:
- =================
- - used by ROX desktop
- - user settings -> place / allow
+ 4.3. ROX (CHOICESPATH):
+ =======================
+ - Each profile directory has one subdirectory for each app for which it
+ provides settings. When a configuration value is needed the profile
+ directorys are searched in order, first profile that contains the file
+ supplies it.
+
+ NOTE: Programs _may_ merge the files the different profiles. If the
+ merging encounters conflicting values the one from the highest order
+ profile is used.
+
+ See http://rox.sourceforge.net/choices.html for a more detailed description.
- 4.4. GCONF "Configuration Sources":
- ===================================
+ 4.4. GNOME (GCONF "Configuration Sources"):
+ ===========================================
+ - Each configuration source is structured like a simple hierarchical file
+ system as follows:
+ - Directories correspond to applications that use the GConf repository.
+ - Subdirectories correspond to categories of preferences.
+ - Files list the preference keys in the directory, and contain information
+ about the keys.
+ - A /schemas directory that contains files that describe all of the
+ preference keys.
-5. FURTHER INFO:
-================
-- About KDEDIRS, and the hierarchy of files in such a directory can be found
- at http://www.kde.org/areas/sysadmin/fsh.php
-- The XDG Base Directory Specification can be found at
- ttp://freedesktop.org/Standards/basedir-spec
+ - Configuration Sources are searched in order or each value, first source that
+ has the value (or is writeable in case of storing values) is used.
+
+ -> See the GNOME administration manual for a detailed explanation
+ (http://www.gnome.org/learn/admin-guide/2.6/system-admin-guide.html).
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-edu/pkg-team/desktop-profiles.git
More information about the debian-edu-commits
mailing list