Замена рабочего стола приложением
Определить пользовательский сеанс
Сначала нам нужно определить пользовательский сеанс, который обрабатывает особый случай, когда не нужно загружать рабочий стол. Мы определим этот сеанс, создав файл custom.desktop в / usr / share / xsessions / с содержимым, похожим на это:
[Desktop Entry]
Name=Custom
Comment=Custom Session to run ~./.xsession
Exec=/home/<username>/.xsession
X-Ubuntu-Gettext-Domain=<gnome-session-3.0>
Это скажет GDM запустить скрипт, .xsession
расположенный в HOME пользователя <username>
.
X-Ubuntu-Gettext-Domain
Для правильного языкового перевода необязательно, если мы загрузим рабочий стол Unity / GNOME позже (замените gdm
на 10.04).
Сделать сценарий для запуска
Этот скрипт ~ / .xsession может выглядеть так просто:
#! /bin/bash
xterm
logout
Загрузить пользовательский сеанс при входе в систему
Если мы теперь определим, чтобы загружать наш сеанс «Custom» во время входа данного пользователя на экране gdm, то будет запущен только X-терминал, и мы вернемся к gdm при выходе. При следующем входе в систему в качестве пользователя этот параметр будет запомнен по умолчанию.
Запустить приложение, которое нуждается в управлении Windows
Конечно, мы пока не можем запустить приложение, которому нужен менеджер окон, такой как GNOME. Для этого замените скрипт .xsession на что-то вроде:
#! /bin/bash
gnome-wm &
firefox
logout
Мы видим, что менеджер окон GNOME загружен, но элементы рабочего стола отсутствуют. Это позволяет запускать приложение (например, Firefox здесь).
Но позаботьтесь о том, что вы делаете: если мы сворачиваем приложение на несуществующий лоток, мы получим красивые обои для просмотра. Из-за этого очень важно включить logout
в конец сценария выход из сеанса после завершения работы приложения. На самом деле не существует другой программы, выполняющей это за вас, пока вы не добавите ее в свой сценарий. Вы намеренно заменили свой рабочий стол только Firefox (плохая идея).
Конечно, мы также можем запустить gnome-desktop
или gnome-session
(соответственно параметры) из скрипта, но это то, что мы уже делаем по умолчанию.