Comment remplacer le bureau par une application?

31

Parfois, il peut être nécessaire qu'un utilisateur n'ait accès qu'à une certaine application. L'exécution de l'environnement de bureau peut alors être indésirable, que ce soit pour des raisons de sécurité ou pour obtenir une meilleure accessibilité à l'application donnée.

Dans ces cas, il peut être souhaitable de remplacer le bureau par une application qui s'exécute immédiatement après la connexion.

Les autres utilisateurs doivent avoir un accès normal à leurs bureaux.

Takkat
la source

Réponses:

36

Remplacement du bureau par une application

Définir une session définie par l'utilisateur

Nous devrons d'abord définir une session définie par l'utilisateur qui gère le cas spécial où aucun bureau ne doit être chargé. Nous définirons cette session en créant un fichier custom.desktop dans / usr / share / xsessions / avec un contenu similaire à celui-ci:

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

Cela indiquera à GDM d'exécuter le script .xsessionsitué dans le HOME de l'utilisateur <username>.

Facultatif X-Ubuntu-Gettext-Domainest nécessaire pour une traduction correcte de la langue au cas où nous chargerions le bureau Unity / GNOME plus tard (remplacer par gdmen 10.04).

Créer un script pour commencer

Ce script ~ / .xsession pourrait être aussi simple que cela:

#! /bin/bash

xterm
logout

Charger une session personnalisée à la connexion

Si nous définissons maintenant pour charger notre session "Personnalisé" lors de la connexion de l'utilisateur donné à l'écran gdm, seul le X-Terminal sera démarré et nous serons de retour à gdm à la sortie. La prochaine fois que nous nous connecterons en tant qu'utilisateur, ce paramètre sera conservé par défaut.

Exécutez une application qui nécessite la gestion de Windows

Bien sûr, nous ne sommes pas encore en mesure d'exécuter une application qui nécessite un gestionnaire de fenêtres tel que GNOME. Pour ce faire, remplacez le script .xsession par quelque chose comme:

#! /bin/bash

gnome-wm &
firefox
logout

Nous pouvons voir que le gestionnaire de fenêtres GNOME est maintenant chargé mais aucun élément de bureau n'est présent. Cela permet de démarrer une application (par exemple firefox ici).

Mais faites attention à ce que vous faites: si nous minimisons l'application sur le plateau inexistant, nous nous retrouverons avec un joli fond d'écran à regarder. Pour cette raison, il est très important d'inclure logoutà la fin du script pour déconnecter la session après la fin de l'application. Il n'y a vraiment aucun autre programme en cours d'exécution pour le faire jusqu'à ce que vous en ajoutiez un à votre script. Vous avez délibérément remplacé votre bureau par Firefox uniquement (une mauvaise idée).

Bien sûr, nous pourrions également démarrer gnome-desktopou gnome-session(resp. Options) à partir du script, mais c'est ce que nous faisons déjà par défaut.

Takkat
la source
Un seul problème avec le plein écran dans les sessions personnalisées. Voir la question askubuntu.com/questions/184610/…
Juzer Ali
Votre solution crée une session vue par tous les utilisateurs, mais en exécutant le script d'un utilisateur spécifique. - Pas idéal.
Robert Siemer