Existe o caminho para entrar no modo de usuário único sem reiniciar?

8

Como no antigo UNIX, quando você pode simplesmente enviar um comando para inite você está olhando para a tela de texto em preto com casca para seu próprio uso. ;)

poige
fonte
Após muitas horas de teste usando várias versões do OS X / macOS de 10.11.6 a 10.14.2, com e sem o SIP ativado, diferentes máquinas físicas e virtuais, nem uma única vez em várias dezenas de vezes fez sudo launchctl reboot userspace -sum espaço de usuário útil e bem-sucedido reiniciar! Simplificando, independentemente da fonte da documentação, o comando mencionado acima não funcionou e não funciona e, portanto, independentemente do fato de a resposta a essa pergunta ter sido aceita, no entanto, não achei que funcionasse e é a razão do meu voto negativo.
precisa saber é o seguinte
minha resposta afirmou exatamente "testado em El Captian", onde funciona. A resposta está muito editada agora, mas isso ainda pode ser encontrado em seu histórico de revisões. Simplificando Eu não disse que ele iria trabalhar em qualquer outra coisa
poige
11
Testei em El Capitan, além de Sierra, High Sierra e Mojave. Em nenhum caso, foi realizada sudo launchctl reboot userspace -suma reinicialização de espaço de usuário útil e bem-sucedida do Terminal enquanto na GUI! Por favor, respeite que não apenas levei tempo, energia e esforço consideráveis, como também expressei uma razão válida para o meu voto negativo, que é claro que não tenho obrigação de fazê-lo. O fato de que em três sistemas Apple diferentes, um MacBook Pro, iMac e MacBook Air, executando o El Capitan e posterior, não funcionou para mim como anunciado aqui ou na documentação! AFAIC Para mim, fim da história.
user3439894
Trabalhou para mim. Aqui: 15.6.0 x86_64 root:xnu-3248.73.11~1/RELEASE_X86_64 x86_64. De que respeito você está falando? :) Ou se você fala sobre respeito, onde está o seu respeito pelas minhas palavras? :)
poige 11/01/19
Resposta editada. Pensando em gravar vídeo e enviá-lo no youtube. ;)
poige 11/01/19

Respostas:

5

Dependendo das suas necessidades, tente alterar a janela de login para solicitar um nome de usuário e, em seguida, insira > console como o usuário.

É provável que isso tenha sido removido às 10h10, portanto, você precisará inicializar para recuperação ou ssh ou usar um aplicativo de terminal se esse desvio de tipo de inicialização herdado não for o que você procura.

Além disso, esse não é o verdadeiro modo de usuário único raiz, que precisa ocorrer no início do processo de inicialização no macOS moderno.

bmike
fonte
Parece que encontrei uma resposta real à minha pergunta. Irá verificar e responder
poige
@poige Eu certamente não consigo fazê-lo funcionar no Mojave (mas não mexi com a gravação de padrões.) Sinta-se à vontade para editar minha resposta para torná-la exatamente o que você deseja ou responder automaticamente se uma resposta mais limpa for melhor depois de testar .
bmike
> Não há maneira documentada de fazer a transição de um sistema operacional inicializado para o modo de usuário único sem uma reinicialização. isso é afirmação falsa.
poige 8/01/19
Oi @poige talvez haja confusão sobre o modo de usuário único. Uma pessoa votou positivamente em sua resposta e 5 em negativo. Sinta-se à vontade para dar uma nova resposta se tiver mais alguma coisa a acrescentar? Que a Wikipedia menciona que o modo de usuário único no macOS só acontece antes da inicialização, então estou aberto a que você tenha um significado diferente do que eu no que você considera usuário único. Deixe-me saber se eu posso ajudar
bmike
3

Teoria

Em poucas palavras, existe uma man launchctlmaneira documentada de realizar essa mudança para o Modo Único sem a reinicialização do kernel. Pode ser implantado, por exemplo, na janela Terminal com um comando SHELL:

sudo launchctl reboot userspace -s

Prática

o capitão

Testei-o em El Capitan em um Macbook Air 2015, onde funcionava. Mas também tenho um relatório de um usuário de que suas tentativas no El Capitan foram malsucedidas. A única diferença que consigo pensar é na Retina, que requer um modo gráfico diferente ou algo assim. Não tenho Macbook com Retina executando o El Capitan, por enquanto não posso contar mais nada para apoiar essa versão.

High Sierra, Mojave

Minhas tentativas com High Sierra estavam mostrando que essa funcionalidade não está mais funcionando (em comparação com El Capitan). Novamente, pode ser que seja devido a Retina, não está claro. O Mojave também não funciona.


Explicação completa de um colaborador¹

Existe uma maneira de voltar ao modo de usuário único a partir de um macOS em execução e sem executar uma reinicialização completa executando

sudo launchctl reboot userspace -s

Isso reiniciará apenas a parte do espaço do usuário do macOS sem reiniciar o kernel do Darwin e é equivalente a alterar o nível de execução nos UNIXs antigos.

Para detalhes adicionais, consulte man launchctl:

reboot [system|userspace|halt|logout|apps|reroot ]
    Instructs launchd to begin tearing down userspace. With no argu-
    ment given or with the system argument given, launchd will make
    the reboot(2) system call when userspace has been completely
    torn down. With the halt argument given, launchd will make the
    reboot(2) system call when userspace has been completely torn
    down and pass the RB_HALT flag, halting the system and not ini-
    tiating a reboot.

    With the userspace argument given, launchd will re-exec itself
    when userspace has been torn down and bring userspace back up.
    This is useful for rebooting the system quickly under conditions
    where kernel data structures or hardware do not need to be re-
    initialized.

    -s       When rebooting the machine (either a full reboot or
             userspace reboot), brings the subsequent boot session
             up in single-user mode.

Isso significa que em um nível técnico sudo launchctl reboot userspace -snão é necessário reboot(2)e, portanto, fornece uma maneira de alternar para o modo de usuário único sem uma reinicialização.

Também o artigo da Wikipedia sobre o modo de usuário único diz:

No OS X El Capitan e versões posteriores do MacOS, o modo pode ser revertido para o modo de utilizador único com o comando sudo launchctl reboot userspace -sno terminal, e o sistema pode ser totalmente reinicializado no modo de utilizador único com o comando sudo launchctl reboot system -s.


1 - Cortesia de @ nohillside

poige
fonte