Como substituo a área de trabalho por um aplicativo?

30

Às vezes, pode ser necessário que um usuário tenha acesso apenas a um determinado aplicativo. A execução do ambiente de área de trabalho pode ser indesejada, seja por motivos de segurança ou para obter melhor acessibilidade para o aplicativo fornecido.

Nesses casos, pode ser necessário substituir a área de trabalho por um aplicativo que seja executado imediatamente após o login.

Outros usuários devem ter acesso normal aos seus computadores.

    
por Takkat 29.01.2011 / 22:29

1 resposta

36

Substituindo o desktop por um aplicativo

Definir sessão definida pelo usuário

Primeiro, teremos que definir uma sessão definida pelo usuário que lide com o caso especial quando nenhuma área de trabalho precisar ser carregada. Vamos definir essa sessão criando um arquivo custom.desktop em / usr / share / xsessions / com um conteúdo semelhante a este:

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

Isso dirá ao GDM para executar o script .xsession localizado na HOME do usuário <username> .

Opcional X-Ubuntu-Gettext-Domain é necessário para uma tradução correta do idioma caso carreguemos a área de trabalho do Unity / GNOME mais tarde (substitua por gdm em 10.04).

Faça um script para começar

Este script ~ / .xsession poderia ser tão simples assim:

#! /bin/bash

xterm
logout

Carregar sessão personalizada no login

Se agora definirmos para carregar nossa sessão "Custom" durante o login do usuário na tela do gdm, somente o X-Terminal será iniciado e voltaremos ao gdm na saída. Da próxima vez que fizermos login como usuário, essa configuração será lembrada como padrão.

Executar aplicativo que precisa de gerenciamento do Windows

É claro que ainda não podemos executar um aplicativo que precise de um gerenciador de janelas, como o GNOME. Para fazer isso, substitua o script .xsession por algo como:

#! /bin/bash

gnome-wm &
firefox
logout

Podemos ver que o gerenciador de janelas do GNOME agora está carregado, mas não há elementos da área de trabalho presentes. Isso permite que um aplicativo (por exemplo, firefox aqui) seja iniciado.

Mas tome cuidado com o que você faz: Se minimizarmos o aplicativo na bandeja inexistente, acabaremos com um papel de parede legal. Por isso, é muito importante incluir logout no final do script para efetuar o logout da sessão após o término do aplicativo. Realmente não há nenhum outro programa em execução para fazer isso por você até que você adicione um ao seu script. Você deliberadamente substituiu sua área de trabalho apenas pelo Firefox (uma má ideia).

É claro que também poderíamos iniciar gnome-desktop ou gnome-session (resp. opções) do script, mas isso é o que já fazemos por padrão.

    
por Takkat 29.01.2011 / 22:32

Tags