Remove o seletor de sessões da unidade-greeter

1

Existe uma maneira limpa de ocultar o widget "Selecionar ambiente de área de trabalho" do selecionador de sessão da tela unidade-recepção ou forçar um usuário específico a usar um ambiente de área de trabalho específico (mesmo que outras estejam instaladas)? Estou construindo um quiosque no Ubuntu 16.04 e preciso evitar que o usuário do quiosque tenha acesso a qualquer coisa que não seja o ambiente Openbox desmembrado que autolaunches um aplicativo específico. Por outro lado, preciso que o usuário administrador tenha acesso total ao ambiente padrão do Ubuntu Unity.

A única opção que vi foi uma edição rápida dos arquivos de sessão * .desktop para apontar as opções Exec e TryExec para scripts externos que verificam em quem o usuário está logado e executam uma sessão de área de trabalho específica para o usuário, independentemente de qual eles selecionam na tela unidade-greeter.

Estou surpreso que essa não seja uma opção facilmente configurável.

ATUALIZAÇÃO:

Eu construí uma versão personalizada de unidade-saudação da fonte. Comentar estas duas linhas (veja a saída do diff abaixo) faz com que o emblema desapareça. Não é a solução ideal, pois isso desativa o seletor de sessão para todos os usuários, mas como essa funcionalidade não é realmente necessária após a instalação, eu sou o.k. com ele (especialmente desde que eu não tenho facilidade com "vala"). A solução ideal seria duplicar a funcionalidade "usuário oculto" com uma "sessão oculta" equivalente, mas algumas horas tentando implementar isso de uma maneira ingênua sugerem que isso está além das minhas capacidades de codificação.

849c849 
<             /* e.show_options.connect (prompt_box_show_options_cb); */
---
>             e.show_options.connect (prompt_box_show_options_cb); 
934c934 
<             /* if (!should_show_session_badge ()) */
---
>             if (!should_show_session_badge ())

Como isso está desativado, eu precisava editar o arquivo AccountServices para a conta de usuário que precisa de uma sessão de área de trabalho completa / var / lib / AccountServices / users / username e definir "XSession" como "ubuntu".

    
por Thomas Van Ness Leavitt 08.05.2018 / 20:59

0 respostas