Desbloqueia o gnome-screensaver em vez de desativar

4

Então, estou tentando criar uma chave USB para minha máquina.

Eu usei o PAM-Usb como descrito em muitos lugares na Internet (por exemplo, este , que é basicamente copypasted em todos os lugares). Eu entendo o que acontece lá e isso é muito legal.

Meu problema é - se eu bloquear a tela (com o botão, desligando o USB ou com gnome-screensaver-command -l ), então gnome-screensaver-command -d não me levará de volta à minha área de trabalho, mas sim acordará o monitor. Eu ainda tenho que fornecer senha - e eu não quero isso quando eu ligar o stick USB.

Eu não quero desativar o prompt de senha no desbloqueio. Eu quero meu computador livremente acessível a qualquer momento quando o pen drive USB está conectado e acessível com senha em outro caso.

Então, a questão é: como desbloqueio o gnome-screensaver com uma linha de comando?

PS. Engraçado: se eu usar uma chave USB, não preciso fornecer senha ao fazer o login. Por outro lado, no desbloqueio é necessário. Eu entendo porque isso acontece, mas ainda assim, parece estranho.

== EDIT ==

Esqueci: estou usando o Ubuntu 15.04 simples (que significa Unity-based). Nenhuma modificação relacionada ao protetor de tela foi feita.

    
por Filip Malczak 17.09.2015 / 19:43

2 respostas

2

O Ubuntu 14.04+ não usa mais o gnome-screensaver, é por isso que gnome-screensaver-command -d pode não funcionar (provavelmente, eu não tenho certeza, mas o Ubuntu substituiu o antigo gnome-screensaver por algo novo e esse comando não funciona atualmente ). Você pode bloquear e desbloquear seu computador usando o dbus.

Bloqueio:

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock

Desbloquear:

dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply --reply-timeout=20000 /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:false

Deve desbloquear sem pedir senha.

    
por kurogetsusai 23.09.2015 / 18:45
0

Em 15.04 a tela de bloqueio é implementada em unidade.

Parece que a libpam_usb não está explicitamente ligada à libpam, pois (falsamente) espera que o programa que a utiliza já tenha a libpam carregada. Este é o caso da maioria dos programas (por exemplo, sudo, lightdm etc), mas não para o compiz. Uma mudança no makefile da libpam-usb e recompilação é necessária para consertá-lo.

Embora, como solução alternativa, você possa editar /usr/share/applications/compiz.desktop e substituir

Exec=compiz

com

Exec=/bin/sh -c "LD_PRELOAD=libpam.so compiz"

    
por user448115 24.09.2015 / 09:30