Olpc-utils: Difference between revisions
(add link to olpc-utils git repo) |
DanielDrake (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
'''olpc-utils''' is a collection of OLPC-specific utilities and configurations. |
|||
⚫ | |||
Source: |
|||
⚫ | |||
* git://dev.laptop.org/projects/olpc-utils |
|||
(before, it was scattered through initscripts, sugar and pilgrim). |
|||
⚫ | |||
Current maintainer: [[User:DanielDrake]] |
|||
We strive to minimize the number of system files we write to, |
|||
and keep our deviations from Linux as backwards compatible |
|||
as possible. User controlled files are kept in /home/olpc, so |
|||
they get automatically preserved on updates. |
|||
Questions and contributions should be sent to the devel [[Mailing lists|mailing list]]. |
|||
== Contents == |
|||
⚫ | |||
; <tt>/home/olpc/.i18n</tt>: Contains the LANG tag for the olpc user session |
|||
Some (not all) of the configurations and utilities are described below. |
|||
; <tt>/etc/sysconfig/i18n</tt>: Used only for the system startup scripts and daemons. Should always contain <tt>LANG=C</tt> for performance reasons. |
|||
⚫ | |||
; <tt>/etc/sysconfig/keyboard</tt>: Contains the keyboard configuration for X11 (XKB) and for the Linux console. Can be overridden per-user by creating a file named <tt>/home/olpc/.kbd</tt>. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
initializations and the first-boot configuration. |
|||
The first-boot configuration is conditionalized on the <tt>/home/olpc/.olpc-configured</tt> flag. |
The first-boot configuration is conditionalized on the <tt>/home/olpc/.olpc-configured</tt> flag. |
||
Line 28: | Line 23: | ||
olpc-configure writes language and keyboard settings to <tt>/home/olpc/.i18n</tt>, overridable by users. |
olpc-configure writes language and keyboard settings to <tt>/home/olpc/.i18n</tt>, overridable by users. |
||
<tt>/etc/sysconfig/keyboard</tt> is programmed with keyboard information from the manufacturing data. We preferably specify XKB keyboards with the <tt>layout(variant)</tt> syntax because it's more intuitive when you have two or multiple layouts. The separate layout and variant syntax is still supported. |
|||
<tt>/etc/sysconfig/i18n</tt> is only used by initscripts, and |
|||
should contain LANG=C for improved performance (cuts 5-6 seconds from the boot). |
|||
We preferably specify XKB keyboards with the <tt>layout(variant)</tt> |
|||
syntax because it's more intuitive when you have two or multiple |
|||
layouts. The separate layout and variant syntax is still supported. |
|||
For MP machines, we set the keyboard directly from mfg data, |
|||
without a hardcoded table to map mfg tags to XKB layout names. |
|||
The Linux console keyboard is still not being set accordingly. |
|||
Not sure if we really want to do it. Power users can run loadkeys |
|||
themselves if they really want to. |
|||
⚫ | |||
xorg.conf is now a symlink created by olpc-configure, |
|||
pointing to one of two possible fixed configuration files, |
|||
that don't need exceptional handling for the update process. |
|||
We still handle some differences between Geode+DCON and |
|||
emulators. I'd like to get X to autodetect these things |
|||
better so we could kill off the configuration files altogether. |
|||
We're currently missing a way to allow user customizations in |
|||
xorg.conf. In the future, we could make olpc-dm check for |
|||
<tt>/home/olpc/.xorg.conf</tt> and use it if present. |
|||
On the other hand, customizing xorg.conf is for power users |
|||
who may also want to customize other <tt>/etc</tt> entries. |
|||
So if we really want to support these use cases, we'd be better |
|||
off finding a generic way to preserve user customizations. |
|||
⚫ | |||
⚫ | |||
GDM or KDM. So streamlined that it doesn't even have a UI. |
|||
It could be extented to support multiple users, XDMCP and other |
|||
fancy things. |
|||
olpc-dm currently spawns the X server and the session through |
|||
startx and xinit, but there are plans to make it do it directly. |
|||
This will also allow us to do something smarter than SysVinit's |
|||
once/respawn modes for restarting X. |
|||
'''BUG''': olpc-dm still hogs the console and dies when you hit <tt>^C</tt>. |
|||
The fix is not a one-liner, and it's not a critical bug, but |
|||
we're planning to fix it some day. |
|||
⚫ | |||
⚫ | |||
This script replaces <tt>/home/olpc/.xinitrc</tt>. It sources |
|||
<tt>/home/olpc/.i18n</tt> for $LANG, $XKB_LAYOUT and, optionally, |
|||
$XKB_VARIANT. |
|||
This directory contains a X configuration files for the XO-1, XO-1.5, and sisusbvga output. |
|||
The last action olpc-session does is spawning the Sugar shell. |
|||
olpc-configure maintains hardlinks to these files in /etc/xorg.conf.d, dynamically configured on each boot. |
|||
It is our hope that these configurations shrink with time to the point where they can just exist as one static file. |
|||
=== /home/olpc/.xsession === |
|||
⚫ | |||
This is an "extensibility hook" for customizing your session. |
|||
It gets sourced near the end of <tt>/usr/bin/olpc-session</tt>. |
|||
A default is provided as .xsession-example, with some tips |
|||
you may want to review. |
|||
⚫ | |||
This file also replaces the old <tt>/home/olpc/.sugar.debug</tt> |
|||
⚫ | |||
This is responsible for launching the configured shell (Sugar/GNOME). |
|||
== Related pages == |
|||
* [[Localization]] |
|||
* [[XO_l10n]] |
|||
[[Category:XO localization]] |
|||
[[Category:XO startup]] |
[[Category:XO startup]] |
Revision as of 14:59, 23 February 2011
olpc-utils is a collection of OLPC-specific utilities and configurations.
Source:
Current maintainer: User:DanielDrake
Questions and contributions should be sent to the devel mailing list.
Contents
olpc-utils localization and configuration subsystem
Some (not all) of the configurations and utilities are described below.
/etc/init.d/olpc-configure
Runs early at system boot to do some OLPC-specific initializations and the first-boot configuration.
The first-boot configuration is conditionalized on the /home/olpc/.olpc-configured flag.
olpc-configure writes language and keyboard settings to /home/olpc/.i18n, overridable by users.
/etc/sysconfig/keyboard is programmed with keyboard information from the manufacturing data. We preferably specify XKB keyboards with the layout(variant) syntax because it's more intuitive when you have two or multiple layouts. The separate layout and variant syntax is still supported.
This directory contains a X configuration files for the XO-1, XO-1.5, and sisusbvga output.
olpc-configure maintains hardlinks to these files in /etc/xorg.conf.d, dynamically configured on each boot.
It is our hope that these configurations shrink with time to the point where they can just exist as one static file.
/usr/sbin/olpc-dm
This is our display manager, a streamlined equivalent of GDM or KDM.
/usr/bin/olpc-session
This is responsible for launching the configured shell (Sugar/GNOME).