Estou tentando ativar e desativar o requisito de senha do protetor de tela na linha de comando.
defaults read com.apple.screensaver
mostra uma variável askForPassword definida como 0 ou 1, dependendo se eu configurei um requisito de senha nas Preferências do Sistema ou não.
defaults write com.apple.screensaver askForPassword 1
e
defaults write com.apple.screensaver askForPassword 0
ativar e desativar a configuração de senha, ou assim eu pensei.
O que eu acho é que os comandos realmente marcam e desmarcam a caixa de seleção em Preferências do Sistema em Segurança, mas não afetam o protetor de tela.
Se eu habilitar a senha nas Preferências do Sistema e desabilitá-la usando o segundo comando de gravação de padrões, a caixa de seleção nas Preferências do Sistema estará desmarcada, mas o protetor de tela ainda solicitará uma senha. Somente marcar e desmarcar a caixa de seleção nas Preferências do Sistema pode alterar esse comportamento agora.
E se eu desativar a senha nas Preferências do Sistema e ativá-la usando o primeiro comando de gravação de padrões, a caixa de seleção em Preferências do Sistema está marcada, mas a proteção de tela não solicitará uma senha. Somente desmarcar e marcar a caixa de seleção em Preferências do Sistema altera o comportamento posteriormente.
O que está acontecendo?
Eu posso imaginar que essa é uma configuração global e devo modificar em /Library/Preferences/com.apple.screensaver
vez do domínio do usuário. Mas, nesse caso, por que há um efeito na caixa de seleção Preferências do sistema?
fonte
Respostas:
Se você não for forçado a usar a gravação padrão, poderá usar o seguinte comando. Ele interage com o sistema operacional da mesma forma como se você utilizasse as Preferências do Sistema.
TESTADO EM:
NOTA: Se o comando estiver sendo executado dentro de um script que recebeu privilégios de root, você não precisaria do sudo .
fonte
Corri para um problema semelhante e encontrei uma solução do usuário Guillaume nesta postagem do fórum . Basicamente, você precisa forçar o protetor de tela a reler a preferência de requisito de senha, o que você pode fazer com um programa C:
E compile isso com:
Em seguida, ligue para este programa imediatamente após sua ligação para
defaults write
fonte