Як замінити робочий стіл додатком?


31

Іноді може знадобитися, щоб користувач мав доступ лише до певної програми. Тоді запуск робочого середовища на робочому столі може бути небажаним, чи то з міркувань безпеки, чи для досягнення кращої доступності до даної програми.

У цих випадках може захотіти замінити робочий стіл додатком, який працює відразу після входу.

Інші користувачі повинні мати нормальний доступ до своїх робочих столів.

Відповіді:


36

Заміна робочого столу додатком

Визначення визначеного користувачем сесії

Спочатку нам доведеться визначити визначену користувачем сесію, яка обробляє особливий випадок, коли жоден робочий стіл не повинен завантажуватися. Ми визначимо цей сеанс, створивши файл custom.desktop у / usr / share / xsesions / зі змістом, подібним до цього:

[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

Завантажте користувальницьку сесію під час входу

Якщо ми зараз визначимо завантажувати наш сеанс "Користувальницький" під час входу даного користувача на екрані gdm, буде запущено лише X-термінал, і ми повернемося в gdm при виході. Наступного разу, коли ми ввійдемо як користувач, це налаштування запам'ятається як за замовчуванням.

Запустіть додаток, який потребує керування Windows

Звичайно, ми ще не в змозі запустити програму, яка потребує менеджера Windows, такого як GNOME. Для цього замініть .xsession скрипт чимось на зразок:

#! /bin/bash

gnome-wm &
firefox
logout

Ми бачимо, що менеджер вікон GNOME зараз завантажений, але елементів робочого столу немає. Це дозволяє запустити програму (наприклад, Firefox тут).

Але подбайте про те, що ви робите: Якщо ми зведемо до мінімуму додаток до неіснуючого лотка, ми закінчимо гарну шпалеру для перегляду. Через це дуже важливо logoutв кінці сценарію включити для виходу з сеансу після закінчення програми. Насправді не існує іншої програми, яка працює для вас, поки ви не додасте її до свого сценарію. Ви навмисно замінили робочий стіл лише firefox (погана ідея).

Звичайно, ми також могли б запустити сценарій gnome-desktopабо gnome-session(відповідно, варіанти) зі сценарію, але це те, що ми вже робимо за замовчуванням.


Лише одна проблема з повноекранним режимом у користувацьких сесіях. Дивіться питання askubuntu.com/questions/184610/…
Juzer Ali

Ваше рішення створює сеанс, який бачать усі користувачі, але запускає сценарій конкретного користувача. - Не ідеально.
Роберт Сімер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.