Как заменить рабочий стол приложением?

Иногда может потребоваться, чтобы пользователь имел доступ только к определенному приложению. В этом случае запуск среды рабочего стола может быть нежелательным, будь то по соображениям безопасности или для обеспечения лучшей доступности для данного приложения.

В этих случаях может потребоваться заменить рабочий стол приложением, которое запускается сразу после входа в систему.

Другие пользователи должны иметь обычный доступ к своим рабочим столам.

31
задан 30 January 2011 в 00:29

1 ответ

Замена рабочего стола приложением

Определение пользовательского сеанса

Сначала нам нужно определить пользовательский сеанс, который обрабатывает особый случай, когда не нужно загружать рабочий стол. Мы определим этот сеанс, создав файл 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, расположенный в ГЛАВНАЯ пользователя <username>.

Необязательный X-Ubuntu-Gettext-Domain необходим для правильного языкового перевода в случае, если мы позже загрузим рабочий стол Unity / GNOME (замените на gdm в 10.04).

Создать скрипт для запуска

Этот скрипт ~ / .xsession может выглядеть так просто:

#! /bin/bash

xterm
logout

Загрузить пользовательский сеанс при входе в систему

Если мы сейчас Определите, чтобы загрузить наш сеанс "Custom" во время входа данного пользователя на экране gdm, только X-Terminal будет запущен, и мы вернемся к gdm при выходе. При следующем входе в систему в качестве пользователя этот параметр будет запомнен по умолчанию.

Запустить приложение, которое нуждается в управлении Windows

Конечно, мы пока не можем запустить приложение, которому нужен менеджер окон, такой как GNOME. Для этого замените скрипт .xsession на что-то вроде:

#! /bin/bash

gnome-wm &
firefox
logout

Мы можем видеть, что менеджер окон GNOME теперь загружен, но нет элементов рабочего стола. Это позволяет запускать приложение (например, Firefox здесь).

Но позаботьтесь о том, что вы делаете: Если мы свернем приложение в несуществующий лоток, мы получим красивые обои для просмотра. Из-за этого очень важно включить logout в конец скрипта, чтобы выйти из сеанса после завершения приложения. На самом деле не существует никакой другой программы, выполняющей это за вас, пока вы не добавите ее в свой скрипт. Вы намеренно заменили свой рабочий стол только Firefox (плохая идея).

Конечно, мы также сможем запустить gnome-desktop или gnome-session (соответственно, опции) из скрипта, но это то, что мы уже делаем по умолчанию.

0
ответ дан 30 January 2011 в 00:29

Другие вопросы по тегам:

Похожие вопросы: