Come posso sostituire il desktop con un'applicazione?


31

A volte può essere necessario che un utente abbia accesso solo a una determinata applicazione. L'esecuzione dell'ambiente desktop potrebbe quindi essere indesiderata, sia per motivi di sicurezza sia per ottenere una migliore accessibilità alla specifica applicazione.

In questi casi potrebbe essere necessario sostituire il desktop con un'applicazione che viene eseguita immediatamente dopo l'accesso.

Gli altri utenti dovrebbero avere un accesso normale ai loro desktop.

Risposte:


36

Sostituzione del desktop con un'applicazione

Definire la sessione definita dall'utente

Per prima cosa dovremo definire una Sessione definita dall'utente che gestisca il caso speciale quando nessun desktop dovrebbe essere caricato. Definiremo questa sessione creando un file custom.desktop in / usr / share / xsessions / con un contenuto simile al seguente:

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

Questo dirà a GDM di eseguire lo script .xsessionsituato nella HOME dell'utente <username>.

Opzionale X-Ubuntu-Gettext-Domainè necessario per una corretta traduzione della lingua nel caso in cui si carica il desktop Unity / GNOME in un secondo momento (sostituirlo con gdmin 10.04).

Crea uno script per iniziare

Questo script ~ / .xsession potrebbe apparire così semplice:

#! /bin/bash

xterm
logout

Carica sessione personalizzata all'accesso

Se ora definiamo di caricare la nostra sessione "Personalizzata" durante il login dell'utente dato nella schermata di gdm, verrà avviato solo l'X-Terminal e torneremo a gdm all'uscita. La prossima volta che effettueremo l'accesso come utente questa impostazione verrà ricordata come predefinita.

Esegui l'applicazione che richiede la gestione di Windows

Ovviamente non siamo ancora in grado di eseguire un'applicazione che necessita di un gestore di Windows come GNOME. Per fare ciò, sostituire lo script .xsession con qualcosa del tipo:

#! /bin/bash

gnome-wm &
firefox
logout

Possiamo vedere che il gestore di Windows GNOME è ora caricato ma non sono presenti elementi desktop. Ciò consente l'avvio di un'applicazione (ad es. Firefox qui).

Ma fai attenzione a ciò che fai: se minimizziamo l'applicazione sul vassoio inesistente, finiremo con un bel sfondo da guardare. Per questo motivo è molto importante includere logoutalla fine dello script per disconnettersi dalla sessione al termine dell'applicazione. Non c'è davvero nessun altro programma in esecuzione per fare questo per te fino a quando non ne aggiungi uno al tuo script. Hai deliberatamente sostituito il desktop solo da Firefox (una cattiva idea).

Naturalmente saremmo anche in grado di iniziare gnome-desktopo gnome-session(risp. Opzioni) dallo script, ma questo è ciò che già facciamo di default.


Solo un problema con lo schermo intero nelle sessioni personalizzate. Vedi domanda askubuntu.com/questions/184610/…
Juzer Ali,

La tua soluzione crea una sessione vista da tutti gli utenti, ma eseguendo uno script di un utente specifico. - Non ideale.
Robert Siemer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.