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 .xsession
znajdujący się w DOMU użytkownika <username>
.
Opcjonalne X-Ubuntu-Gettext-Domain
jest potrzebne do poprawnego tłumaczenia języka na wypadek, gdybyśmy później załadowali pulpit Unity / GNOME (zamień gdm
na 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 logout
na 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-desktop
lub gnome-session
(odpowiednio opcje) ze skryptu, ale domyślnie już to robimy.