Como ativar o protetor de tela diretamente para a tela de login no Ubuntu

6

(aka Como alternar usuários sem digitar a senha, parte II) (consulte a parte I )

Eu tenho o Ubuntu 9.10 com uma conta de usuário para minha esposa e uma para mim. "Despertar do protetor de tela" deve resultar em "escolher usuário" sem precisar digitar nenhuma senha. Eu sei como fazer isso no Windows, mas ainda não sou bom com o Linux.

Parte disso foi respondida na minha pergunta anterior, que me ajudou a passar pela tela de login sem senhas (após a inicialização e depois de escolher "alternar usuário"), mas depois que o protetor de tela entra em ação e eu o acordo novamente, o sistema não apresenta a tela "escolher usuário". Em vez disso, ele desativa o protetor de tela e apresenta a área de trabalho do usuário mais recente ou (se o protetor de tela estiver configurado para bloquear a tela) solicita a senha do usuário (que pode ser facilmente ultrapassada clicando no botão "alternar usuário" e escolhendo o mesmo usuário novamente).

Portanto, a tela de login ("escolher usuário") foi tratada. Como faço para que o (qualquer) protetor de tela retorne à tela de login ao ativar, em vez de à área de trabalho do usuário atual? O Windows pode fazer isso, tenho certeza que o Linux também - mas como?

Torben Gundtofte-Bruun
fonte
Então você está logado. O protetor de tela entra em ação. Você quer acordar na tela de login e não está mais conectado? Porque, se for, prefiro o título "Como ativar o protetor de tela diretamente para a tela de login" . Para trocar de usuário sem digitar a senha, suponho que você apenas defina o protetor de tela para bloquear a tela e clique em "alternar usuário" para ser direcionado à tela de login. A "digitação da senha" ou não não é uma questão de discussão, pelo que entendi esta questão.
Cregox 30/03/10
@ Cayas: não é realmente o melhor título para descrever a situação atual, é? Eu acho que é corrigível ... #
4400

Respostas:

2

Você está criando o hábito de ajustes estranhos, não é?

Enfim, este é estranho, mas interessante. Lamento dizer que não tenho uma solução completa, mas encontrei alguns itens interessantes que justificam uma resposta. Eles podem lhe dar algumas idéias de onde ir a partir daqui.

  • As perguntas frequentes do Gnome-Screensaver indicam que o protetor de tela emite um sinal DBus quando o status ocioso da sessão muda:

    Existe uma maneira de executar ações quando o protetor de tela é ativado ou desativado? Ou quando a sessão fica ociosa?

    Uma maneira é observar os sinais do D-Bus do protetor de tela do gnome. (...)

    O FAQ fornece um exemplo de comando dbus-monitor :

    dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'"
    

    Embora eu acredite que a interface e os detalhes dos membros estejam desatualizados para o Ubuntu 9.10; os valores adequados parecem ser interface = org.freedesktop.ConsoleKit.Session e member = IdleHintChanged . (Consulte a documentação do ConsoleKit .)

    Quando o bloqueio do protetor de tela está ativado, o sinal IdleHintChanged é emitido depois que a senha é inserida com sucesso na caixa de diálogo de desbloqueio.

  • O comando gdmflexiserver -xnest pode ser usado na linha de comando para retornar à tela de login. Ele funciona na sua sessão X por si só, mas você pode usar o dbus-launch para executá-lo a partir de, por exemplo, uma sessão SSH:

    DISPLAY=:0 dbus-launch gdmflexiserver -xnest
    

    Isso "ativa" a tela de login do GDM, sem desconectar a sessão atual do usuário, exatamente como a opção de menu "Alternar usuário ..." (pelo menos até onde eu sei).

O truque será encontrar uma maneira de colar esses dois juntos. Parece-me que o que você gostaria de fazer é basicamente:

  1. Desative o bloqueio do protetor de tela;
  2. Registre um ouvinte no DBus que ouça o sinal IdleHintChanged em todas as sessões;
  3. Peça ao ouvinte para executar o comando gdmflexiserver quando detectar o sinal.

A Etapa 1 é necessária para que você não obtenha a solicitação de senha. Se a etapa 2 funcionar corretamente e a etapa 3 começar, você receberá a janela de login sempre que seu sistema sair do protetor de tela. Mas o passo 2 é o que não tenho certeza de como fazer.

quack quixote
fonte
se eu apresentar algo inteligente para o passo 2, eu o edirei, mas isso pode lhe dar algo para trabalhar nesse meio tempo.
quack quixote
No mac, quando você bloqueia a tela, há uma opção para "alterar usuário", que acessa a tela de login por padrão. Se o outro usuário não tiver uma senha, você poderá desbloquear a tela sem precisar de uma. Esta não é uma pergunta estranha.
Cregox 30/03/10
@ Cayas: sim, isso não é uma afirmação especialmente séria.
quack quixote
Eu não acho que isso seja um ajuste estranho. Estou surpreso que um sistema multiusuário como o Linux não tenha esse recurso integrado desde sempre. Especialmente considerando que o Mac OS e o Windows têm esse recurso. Também estou surpreso que a solução seja tão indireta, mas, novamente, sou apenas um usuário simples, sem experiência em programação; talvez seja a melhor solução dessa maneira.
Torben Gundtofte-Bruun 31/03
Agora não sei o que fazer com a recompensa. Acho que vou aceitar essa resposta, mas me sinto incapaz de realmente tentar se funciona. Eu pensei que haveria uma configuração "lá em algum lugar" para acionar o que eu quero. Obrigado por sua explicação muito elaborada!
Torben Gundtofte-Bruun 31/03
1

Entendo que essa pergunta existe há anos, mas alguns usuários ainda podem estar procurando por isso.

Pode-se preferir a tela de login do Ubuntu para bloquear a tela ao acordar (por exemplo, para não mostrar nem o papel de parede em uma casa criptografada), e isso é possível no Ubuntu 12.10 e 13.04 (não tenho certeza sobre as versões anteriores).

Para fazer isso, abra o Dconf Editor (pré-instalado no Ubuntu 12.10+) e acesse:

org > gnome > desktop > protetor de tela

Digite o comando dbus-launch gdmflexiserver -xnestpara a variável incorporado-teclado-comando . Em seguida, verifique o teclado incorporado ativado para o mesmo esquema.

Alen
fonte
0

Vou precisar fornecer minha própria resposta aqui, que aparentemente não existe uma solução (fácil) para o que estou pedindo.

Uma solução existe potencialmente, mas não está completa e requer profundo entendimento do Linux - como pode ser visto na primeira resposta. Portanto, não é uma resposta pronta para uso que eu acharia correto em aceitar como "a" resposta.

Pergunta, questão:

Como faço para que o (qualquer) protetor de tela retorne à tela de login ao ativar, em vez de à área de trabalho do usuário atual?

Resposta: Você não pode.

Torben Gundtofte-Bruun
fonte