Т.е. чтоб заменить рабочий стол на свою программку, я должен написать свою оболочку.
- Нет. Можно (или нужно) в любом оконном менеджере запустить свою программу на весь экран.
А вообще зачем заменять рабочий стол или писать свой? В чем задача стоит? Я так пологаю автор хочет сделать киоск.
Для этой задачи можно использовать готовый оконный менеджер, возможно даже KDE.
Мы делали так:
-Ставили голый линукс (без кде, гнома и т.п.),
-ставили xorg
-ставили оконный менеджер icewm,
-ставили свою программу, которая должна быть рабочим столом.
-Настраивали запуск иксов так, чтоб запускался оконный менеджер и в в нем запускалась наша программа в full-screen.
-настраивали оконный менеджер таким образом, чтоб не было панели задач с меню "пуск" и у программы не было заголовка с кнопками "свернуть", "свернуть в окно", "закрыть". Получался - киоск, в котором пользователь может работать только с одной программой растянутой на весь экран.
Вместо icewm можно использовать любой другой легкий оконный менеджер.