¿Cómo reemplazo el escritorio por una aplicación?

31

A veces puede ser necesario que un usuario solo tenga acceso a una determinada aplicación. La ejecución del entorno de escritorio puede ser no deseada, ya sea por razones de seguridad o para lograr una mejor accesibilidad a la aplicación dada.

En estos casos, puede desear reemplazar el escritorio por una aplicación que se ejecute inmediatamente después de iniciar sesión.

Otros usuarios deben tener un acceso normal a sus escritorios.

Takkat
fuente

Respuestas:

36

Reemplazo de escritorio por una aplicación

Definir sesión definida por el usuario

Primero tendremos que definir una sesión definida por el usuario que maneje el caso especial cuando no se debe cargar ningún escritorio. Definiremos esta sesión creando un archivo custom.desktop en / usr / share / xsessions / con un contenido similar a este:

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

Esto le indicará a GDM que ejecute el script .xsessionubicado en el INICIO del usuario <username>.

Opcional X-Ubuntu-Gettext-Domaines necesario para una traducción correcta del idioma en caso de que carguemos el escritorio Unity / GNOME más tarde (reemplace con gdmen 10.04).

Hacer un guión para comenzar

Este script ~ / .xsession podría verse tan simple como eso:

#! /bin/bash

xterm
logout

Cargar sesión personalizada al iniciar sesión

Si ahora definimos cargar nuestra sesión "Personalizada" durante el inicio de sesión del usuario dado en la pantalla de gdm, solo se iniciará el X-Terminal y volveremos a gdm al salir. La próxima vez que iniciemos sesión como usuario, esta configuración se recordará como predeterminada.

Ejecute la aplicación que necesita Windows-Managing

Por supuesto, todavía no podemos ejecutar una aplicación que necesite un administrador de Windows como GNOME. Para hacer esto, reemplace el script .xsession por algo como:

#! /bin/bash

gnome-wm &
firefox
logout

Podemos ver que el administrador de Windows GNOME ahora está cargado pero no hay elementos de escritorio presentes. Esto permite que se inicie una aplicación (por ejemplo, Firefox aquí).

Pero tenga cuidado con lo que hace: si minimizamos la aplicación en la bandeja inexistente, terminaremos con un bonito fondo de pantalla para mirar. Debido a esto, es muy importante incluir logoutal final de la secuencia de comandos para cerrar la sesión después de que finalice la aplicación. Realmente no hay otro programa en ejecución para hacer esto por usted hasta que agregue uno a su script. Deliberadamente reemplazaste tu escritorio solo por Firefox (una mala idea).

Por supuesto, también podríamos iniciar gnome-desktopu gnome-session(opciones de respuesta) desde el script, pero esto es lo que ya hacemos de forma predeterminada.

Takkat
fuente
Solo un problema con la pantalla completa en sesiones personalizadas. Ver pregunta askubuntu.com/questions/184610/…
Juzer Ali
Su solución crea una sesión vista por todos los usuarios, pero ejecutando un script de un usuario específico. -- No es ideal.
Robert Siemer