Jak zastąpić pulpit aplikacją?

31

Czasami może być konieczne, aby użytkownik miał dostęp tylko do określonej aplikacji. Uruchomienie środowiska pulpitu może być niepożądane ze względów bezpieczeństwa lub w celu uzyskania lepszego dostępu do danej aplikacji.

W takich przypadkach może być pożądane zastąpienie pulpitu aplikacją, która działa natychmiast po zalogowaniu.

Inni użytkownicy powinni mieć normalny dostęp do swoich komputerów stacjonarnych.

Takkat
źródło

Odpowiedzi:

36

Zastępowanie pulpitu aplikacją

Zdefiniuj sesję zdefiniowaną przez użytkownika

Najpierw będziemy musieli zdefiniować sesję zdefiniowaną przez użytkownika, która będzie obsługiwać specjalny przypadek, w którym nie powinno się ładować pulpitu. Sesję tę zdefiniujemy, tworząc plik custom.desktop w / usr / share / xsessions / o treści podobnej do tej:

[Desktop Entry]
Name=Custom
Comment=Custom Session to run ~./.xsession
Exec=/home/<username>/.xsession
X-Ubuntu-Gettext-Domain=<gnome-session-3.0>

Dzięki temu GDM uruchomi skrypt .xsessionznajdujący się w DOMU użytkownika <username>.

Opcjonalne X-Ubuntu-Gettext-Domainjest potrzebne do poprawnego tłumaczenia języka na wypadek, gdybyśmy później załadowali pulpit Unity / GNOME (zamień gdmna 10.04).

Stwórz skrypt, aby rozpocząć

Ten skrypt ~ / .xsession może wyglądać tak prosto:

#! /bin/bash

xterm
logout

Załaduj niestandardową sesję podczas logowania

Jeśli teraz zdefiniujemy ładowanie naszej sesji „Niestandardowe” podczas logowania danego użytkownika na ekranie gdm, tylko X-Terminal zostanie uruchomiony i wrócimy do gdm przy wyjściu. Przy następnym logowaniu jako użytkownik to ustawienie zostanie zapamiętane jako domyślne.

Uruchom aplikację, która wymaga zarządzania systemem Windows

Oczywiście nie jesteśmy jeszcze w stanie uruchomić aplikacji, która potrzebuje menedżera systemu Windows, takiego jak GNOME. Aby to zrobić, zamień skrypt .xsession na coś takiego:

#! /bin/bash

gnome-wm &
firefox
logout

Widzimy, że menedżer okien GNOME jest teraz załadowany, ale nie ma żadnych elementów pulpitu. Umożliwia to uruchomienie aplikacji (np. Firefox) tutaj.

Ale uważaj na to, co robisz: jeśli zminimalizujemy aplikację do nieistniejącej tacy, otrzymamy ładną tapetę do oglądania. Z tego powodu bardzo ważne jest dołączenie logoutna końcu skryptu, aby wylogować się z sesji po zakończeniu aplikacji. Tak naprawdę nie ma uruchomionego innego programu, który zrobiłby to za Ciebie, dopóki nie dodasz go do skryptu. Celowo zastąpiłeś swój pulpit tylko firefoxem (zły pomysł).

Oczywiście moglibyśmy również uruchomić gnome-desktoplub gnome-session(odpowiednio opcje) ze skryptu, ale domyślnie już to robimy.

Takkat
źródło
Tylko jeden problem z pełnym ekranem w sesjach niestandardowych. Zobacz pytanie askubuntu.com/questions/184610/…
Juzer Ali
Twoje rozwiązanie tworzy sesję widoczną dla wszystkich użytkowników, ale z uruchomionym skryptem określonego użytkownika. -- Nieidealny.
Robert Siemer,