Console plans for Debian post-sarge
This is a summary of work I plan to get done for Debian Sarge+1:
Note: Current work is purely bugfix.
console-common
(-1): Push for python to be in base for sarge+1.
This is important for Project Utopia, etc. which expect python;
updated /etc/init.d tools should have python available.
(1) On-going: merge console-tools, console-data changes back to kbd.
Andries Brouwer is amenable to this; I have started factoring console-tools changes (all recent additions, anyway) for ease of merging; continue this and feed changes back.
Console-tools and console-data are effectively dead upstream. There have been mentions of people willing to get involved, but no active work. Better to merge all good code back to kbd, and declare it dead.
(2) Make loadkeys work with xkbd definitions, and merge the keymaps.
This is the big one. Merging the keymaps would save a large amount of code and configuration.
(3) Rewrite console-common.
The plans are for the following:
- Activate based on dbus events for initializing the console, not on startup. Hence if there is no console then no work is done to init it.
- Separate console setup and keyboard setup. Note that keyboard setup may need to be done multiple times as keyboards are dynamically added
- Use kbd-chooser to set up keyboard. This should be as automatic as possible: maximal autodetect.
- Speed up console-common.
- Select fonts for console within console-common using debconf. Low/medium priority questions, which can be shared with console-cyrillic, fonty. etc. Allows automated update and can be set within debian-installer.
To speed up console-common, it will be rewritten as a single python module, with an interface to libconsole.so.
The idea is to eliminate the multiple forks and script startups, etc happening within /etc/init.d/console-screen.sh today, replacing it with a single python process. (One process for stability: if it fails, it does not bring down the whole rcS.d process). This then gets started by a d-bus event. Stuff that cannot be done (easily/cleanly) within
python gets moved to libconsole.so: eg. vt-it-UTF8 is moved to libconsole.so.
Kernel Changes
- Unicode diacritic support. See bug #179613
- Add a Single ioctl() / sysfs call to change font, unicode status, etc on all VTs.