Existe uma maneira de forçar absolutamente um Logout, Desligar ou Reiniciar com guias abertas e documentos não salvos?

15

Não consegui encontrar uma maneira relativamente simples de sair rapidamente de um Mac de uso público, com muitas abas abertas e documentos não salvos em segundo plano sem recorrer sudo shutdown -h now.

A razão pela qual pergunto é que, às vezes, um usuário terá sua conta conectada nos iMacs aqui na escola e tentaria sair e sair, pensando que foi concluído, mas o processo é interrompido pelos aplicativos Safari e Office, deixando seus conta, montagens e sites ainda acessíveis para a próxima pessoa que se sentar.

Obviamente, uma string de atalho seria legal em vez de postar uma nota dizendo à pessoa para digitar coisas misteriosas em um terminal. Por exemplo, apenas tê-los tentando encontrar o Terminal.app será uma tarefa árdua.

Isso não parece fazer sentido, porque o usuário pode simplesmente sair de cada aplicativo e clicar em algumas caixas de diálogo, mas, diferentemente de você e eu, para quem pressiona repetidamente Command-Q enquanto pressiona a barra de espaço e as teclas D, provavelmente é uma segunda natureza.

molheira
fonte
2
Alguém pode responder a esta pergunta por desconectar-se e não desligar? Por alguma razão, tudo está travado: posso passar o mouse, mas não posso digitar ou clicar. Tentei sair da linha de comando, mas a falta de salvamento a cancelou para mim. Não consigo reiniciar, pois há outros usuários com trabalho não salvo que não quero forçar.
Michael

Respostas:

7

Na minha faculdade, eles tinham um aplicativo no Dock cujo ícone era um quadrado branco com LOG OUT em grandes letras vermelhas. Ele executou um script (junto com appify ou similar) que matou todos os aplicativos em execução e desconectou o usuário. Isso também ajudou pessoas que não conheciam o Mac e não procuraram no menu da Apple o item de menu de logout.

Cajunluke
fonte
5

Você pode criar um aplicativo AppleScript, salvo na área de trabalho ou em outro local de destaque, que diz

  do shell script "sudo shutdown -h now" with administrator privileges

O usuário clica duas vezes no script de desligamento, obtém uma caixa de diálogo solicitando a senha e, se estiver correta, o desligamento prossegue. Observe que isso funciona apenas para contas com privilégios de administrador.

Daniel
fonte
4

Há também o atalho Command+ Shift+ Option+ Qpara sair sem confirmação, mas não ajuda quando você tem documentos não salvos antes da versão 10.7; apenas evita a necessidade de pressionar Command+ Qrepetidamente. No entanto, com o recurso Currículo do Leão , isso funciona conforme o esperado - deixando documentos não salvos para a próxima vez que você fizer login.

David
fonte
No Mojave (10.14.6), isso não parece mais funcionar - Cmd + Shift + Option + Q me dá os mesmos prompts que um Cmd + Shift + Q simples.
Greg Preço
3

Você pode usar um programa de terceiros como o Power Manager para desconectar automaticamente usuários inativos . O Power Manager encerra qualquer aplicativo em execução e lida com aplicativos que tentam bloquear o processo com planilhas ou caixas de diálogo.

Power Manager - desconectar automaticamente o usuário inativo

Divulgação: Trabalho para a DssW, fabricante do Power Manager.

Graham Miln
fonte
0

Isso poderia ser facilmente realizado com o Automator. Ao iniciar o Automator, selecione "Aplicativo". Pegue o comando sudo shutdown -h nowe coloque-o em uma ação do automatizador "Run Shell Script". Salve-o como um aplicativo e cole-o no Dock ou no meio da área de trabalho. Para um efeito adicional, faça uma pesquisa de imagens em busca de um ícone apropriado que você possa adicionar (usando a nova janela de informações do aplicativo). Talvez o botão de E / S clássico ou algo assim, como estes .

soxman
fonte
O sudocomando requer uma senha de administrador e, portanto, não funcionará incorporado em uma ação Executar Shell Script. Um AppleScript pode solicitar uma senha de usuário administrativo ao executar o comando, mas um não administrador não pode fazê-lo e um script de shell não setuid. Agora, se você quiser escrever um programa em AC ...
Daniel
Muito verdadeiro. Hoje em casa estou doente, então não estou pensando com clareza, acho que senti falta disso. O espírito é o mesmo, porém, pois isso pode ser facilmente realizado sem uma tonelada de codificação, etc., e pode ser implantado facilmente em todas as máquinas em rede.
Soxman
Sim, se você acha que é uma boa idéia permitir que usuários não administrativos forcem o desligamento da máquina, independentemente do que outros usuários estejam conectados no momento. É claro que eles já têm essa opção ainda mais abruptamente se tiverem acesso físico ao botão liga / desliga. Ou a ficha. Ou o disjuntor.
Daniel