web-dev-qa-db-fra.com

Comment remplacer le bureau par une application?

Parfois, il peut être nécessaire qu'un utilisateur n'ait accès qu'à une application donnée. L'exécution de l'environnement de bureau peut alors être indésirable, que ce soit pour des raisons de sécurité ou pour améliorer l'accessibilité de 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 ordinateurs de bureau.

31
Takkat

Remplacement du bureau par une application

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

Nous devons d’abord définir une session définie par l’utilisateur qui gère le cas particulier dans lequel aucun poste de travail 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 .xsession situé dans la page d’accueil de l’utilisateur <username>.

X-Ubuntu-Gettext-Domain est facultatif pour une traduction correcte de la langue au cas où nous chargerions le bureau Unity/GNOME ultérieurement (remplacez-le par gdm dans 10.04).

Faire un script pour commencer

Ce script ~/.xsession peut paraître aussi simple que cela:

#! /bin/bash

xterm
logout

Charger une session personnalisée à la connexion

Si nous décidons maintenant de charger notre session "Custom" lors de la connexion de l'utilisateur donné à l'écran gdm, seul le terminal X-Terminal sera démarré et nous serons de retour à la sortie de gdm. Lors de la prochaine connexion en tant qu'utilisateur, ce paramètre sera mémorisé par défaut.

Exécuter une application nécessitant une gestion de Windows

Bien entendu, nous ne sommes pas encore en mesure d’exécuter une application nécessitant 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 qu’aucun élément de bureau n’est présent. Cela permet à une application (par exemple, firefox ici) de démarrer.

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

Bien sûr, nous pourrions également démarrer gnome-desktop ou gnome-session (options respectives) à partir du script, mais c’est ce que nous faisons déjà par défaut.

36
Takkat