Olpc-utils: Difference between revisions
(New page: == olpc-utils localization and configuration subsystem == The current configuration scheme is implemented in olpc-utils (before, it was scattered through initscripts, sugar and pilgrim). ...) |
No edit summary |
||
(14 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
'''olpc-utils''' is a collection of OLPC-specific utilities and configurations. |
|||
== olpc-utils localization and configuration subsystem == |
|||
Source: |
|||
The current configuration scheme is implemented in olpc-utils |
|||
* git://dev.laptop.org/projects/olpc-utils |
|||
(before, it was scattered through initscripts, sugar and pilgrim). |
|||
* http://dev.laptop.org/git/projects/olpc-utils |
|||
* http://dev.laptop.org/pub/source/olpc-utils/ |
|||
Current maintainer: [[User:Quozl|James Cameron]] |
|||
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 == |
|||
=== |
=== olpc-configure === |
||
Runs early at system boot to do some OLPC-specific initializations and the first-boot configuration. |
|||
initializations and the first-boot configuration. |
|||
The first-boot configuration is conditionalized on the <tt>/home/olpc/.olpc-configured</tt> flag. |
|||
it uses /home/olpc/.olpc-configured instead. |
|||
⚫ | |||
olpc-configure used to rewrite /etc/sysconfig/i18n. Now it writes language |
|||
⚫ | |||
<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. |
|||
it's more intuitive when you have two or more layouts than the separate |
|||
layout/variant keys. The old syntax is still supported. |
|||
⚫ | |||
For MP machines, I'll set the keyboard directly from mfg data, without a |
|||
hardcoded table to map KA tags to X11 keyboars. |
|||
This directory contains X configuration files for the various XO laptop models, and sisusbvga output. |
|||
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. |
|||
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. |
|||
⚫ | |||
⚫ | |||
This file is *no longer* hacked by olpc-configure |
|||
⚫ | |||
actually, xorg.conf is not even a file: olpc-configure creates a symlink to |
|||
one of two possible configuration files, which are read-only and can be |
|||
upgraded normally |
|||
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 missing a way to allow user customizations in xorg.conf. In the future, |
|||
I could make olpc-dm check for /home/olpc/.xorg.conf and use it if present. |
|||
But frankly, customizing xorg.conf is for power users who may also want to |
|||
customize other /etc entries. So if we really want to support these use |
|||
cases, we'd be better off finding a generic way to preserve user |
|||
customizations. |
|||
⚫ | |||
⚫ | |||
So streamlined that it doesn't even have a UI. In the future, it could be |
|||
extented to support multiple users, XDMCP and other fancy things. That day, I |
|||
hope to be at a safe distance. |
|||
olpc-dm spawns X and the session through startx and xinit. I'm planning to |
|||
through them away shortly. This will also allow us to do something smarter |
|||
than sysvinit's once/respawn modes for restarting X. |
|||
olpc-dm still hogs the console and dies when you hit ^C. The fix is not a |
|||
one-liner, and it's not a critical bug, but I'm planning to fix it some day. |
|||
=== /usr/bin/olpc-session === |
=== /usr/bin/olpc-session === |
||
This is responsible for launching the configured shell (Sugar/GNOME). |
|||
This script replaces /home/olpc/.xinitrc . It sources /home/olpc/.i18n for |
|||
$LANG, $XKB_LAYOUT and, optionally, $XKB_VARIANT. |
|||
olpc-session also replaces /usr/bin/sugar, which will shortly go away, thus |
|||
simplifying our boot process even more. |
|||
=== /home/olpc/.xsession === |
|||
This is an "extensibility hook" for customizing your session. It gets sourced |
|||
near the end of /usr/bin/olpc-session. A default is provided as |
|||
.xsession-example, with some tips you may want to review. |
|||
[[Category:XO startup]] |
|||
This file also replaces the /home/olpc/.sugar.debug |
Latest revision as of 02:37, 21 October 2014
olpc-utils is a collection of OLPC-specific utilities and configurations.
Source:
- git://dev.laptop.org/projects/olpc-utils
- http://dev.laptop.org/git/projects/olpc-utils
- http://dev.laptop.org/pub/source/olpc-utils/
Current maintainer: James Cameron
Questions and contributions should be sent to the devel mailing list.
Contents
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 X configuration files for the various XO laptop models, 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).