Resumo: a solução atual, utilizável e aceitável é aceitável apenas em um ambiente cooperativo multiusuário, pode ser melhorada.
Eu escrevi um patch de prova de conceito utilizável para %code% que faz o trabalho.
Faz o que precisamos aqui!
Veja abaixo as instruções de instalação.
Pré-requisitos
- Um sistema com pelo menos duas contas de usuário e usuários dispostos a permitir a troca rápida entre sessões gráficas sem redigitar senhas.
- Cada usuário pode usar qualquer ambiente de área de trabalho que use totalmente %code% , inclusive usando %code% para bloqueio de sessão. Unity e XFCE devem funcionar.
Testado com o XFCE.
Como usar, como ver as alterações
Tente isso antes de realizar as alterações:
- faça o usuário A abrir uma sessão gráfica
- peça ao usuário B para abrir outra sessão gráfica
Agora, em qualquer uma das duas sessões, você pode fazer:
%pre%
ou
%pre%
Efeito das alterações
Sem a alteração, você verá um prompt de login que precisa digitar uma senha.
Com a mudança, você verá uma mudança imediata sem o prompt de login.
Aqui o interruptor é realmente rápido. Muito mais rápido que no Ubuntu 12.04 e mesmo sem piscar em alguns casos.
Uso prático
Para o máximo benefício, recomendo criar um ícone de iniciador em algum lugar em um dock / panel / wharf (seja qual for o nome em seu ambiente de desktop específico) que, quando clicado, é executado:
%pre%
AVISO DE SEGURANÇA
A aplicação dos comandos abaixo substitui os pacotes %code% do sistema por versões modificadas que permitem alternar entre dois usuários que estão sendo registrados em uma sessão gráfica. Isso enfraquece a segurança do sistema, por exemplo, o usuário A registra-se graficamente, bloqueia a sessão, vai embora, o usuário B efetua login. O usuário B pode desbloquear a sessão do usuário A e alternar para ela sempre que for aberta. E o contrário (trocar A e B).
As alterações não podem ser aplicadas sem acesso de administrador ( %code% é assumido, especialmente para instalação de pacotes).
Funciona bem para nós , mas ainda assim, note que %code% é um pacote importante e isso pode quebrá-lo ou introduzir outros bugs sutis. Quebra quebrará a capacidade de usar sessões de login gráficas para todos os usuários. Você é totalmente responsável pelo uso dos comandos abaixo. Você foi avisado.
Aviso de permanência
As alterações são quase permanentes. Eles ficam após a reinicialização.
Para revertê-los, instale (usando %code% , %code% ou qualquer outro) os pacotes %code% regulares que substituirão os alterados.
Observe que sempre que o Ubuntu atualizar %code% packages e as atualizações estiverem instaladas, elas reverterão as alterações. O administrador pode aplicá-las novamente.
Possível refinamento (restaurar segurança)
Esta prova de conceito pode ser refinada por um uso inteligente de, e. Grupos Unix. %code% só permitiria a mudança se os usuários atuais e de destino fossem listados em qualquer grupo com um nome de arquivo convencional, como %code% .
Tal mudança (possível junto com outras) poderia eventualmente ser incorporada em alguma solução oficial.
Comandos
Sugiro fazer login em um console de texto (pressione Ctrl-Alt-F1 e login) para seguir as etapas abaixo. Isso permite reiniciar o lightdm sem perder o shell atual.
Copie e cole os comandos abaixo em um bash shell e ele ajustará %code% para realizar as alterações.
%pre%
Observe que o comando abaixo fechará imediatamente todas as sessões gráficas sem a chance de salvar os dados, portanto, todos os usuários devem fechar os aplicativos adequadamente e salvar os dados necessários primeiro.
Se os pacotes foram bem instalados, a mudança pode ser ativada imediatamente com:
%pre%
ou reiniciando.
Feedback
Isso funciona para você? Você pode pensar em uma variante?
Feedback bem-vindo.
___