Como habilitar o compartilhamento de tela do OS X (VNC) através do SSH?

59

Esqueci de ativar "Os visualizadores VNC podem controlar a tela com senha", para entrar no meu Mac em funcionamento, existe uma maneira de ativar esse recurso remotamente via SSH (agora estou no WindowsXP)?

Jari Keinänen
fonte

Respostas:

90

Fonte: http://technotes.twosmallcoins.com/?p=279 ( arquivado )

O Putty é um bom cliente SSH para Windows.

1) SSH na sua máquina remota do OS X com o login e a senha de um administrador.

2) Ative a Área de trabalho remota (também conhecido como compartilhamento de tela, também conhecido como VNC) com este comando:

sudo  /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-activate -configure -access -on \
-clientopts -setvnclegacy -vnclegacy yes \
-clientopts -setvncpw -vncpw mypasswd \
-restart -agent -privs -all

3) Faça o login usando um cliente VNC. Como mencionei, o TightVNC trabalhou para mim; por alguma razão, o RealVNC e o UltraVNC não. Sua senha é "mypasswd" (consulte o sinalizador -vncpw no comando acima; você pode e deve alterar isso).

4) Quando terminar, mude o compartilhamento de tela usando sua sessão SSH:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-deactivate -configure -access -off
RobinJ
fonte
2
Surpreendente! Trabalho!
Uma coisa que o Mac RD bastante inutilizável para mim (muito lentamente) ... em vez do Windows RDC, o que é muito bom.
Você já experimentou o Vine Server?
2
Mais de 3 anos depois e funciona perfeitamente em Yosemite. Obrigado!
Jordan
11
@Novellizator Tanto o Mac quanto o Linux têm o ssh disponível imediatamente. Não há necessidade de um pacote separado, como você precisa no Windows.
21416 Christopher Schultz
30

Aqui está uma maneira diferente que permite que o compartilhamento de tela acesse todos os usuários atuais, em vez de usar uma única senha vnc;

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
  -activate -configure -access -on \
  -configure -allowAccessFor -allUsers \
  -configure -restart -agent -privs -all

Desative o mesmo de antes.

Isso permite que você se conecte ao computador remoto a partir de um mac usando o share screenbotão no Finder.

Referência: http://ss64.com/osx/kickstart.html

Michael Camden
fonte
2
Para a posteridade: se você fizer isso, também poderá se conectar via /System/Library/CoreServices/Screen Sharing.app.
Dougal 27/05
Note que você pode (muito) fácil iniciar o aplicativo de compartilhamento de tela usando uma pesquisa Spotlight
Vincent Robert
não funciona para mim no MacOS Sierra 10,12
Segfault
trabalhou para mim no macOS High Sierra 10.13.6
Fahim
2
Obtenha esta resposta no macOS Mojave: "Aviso: o macos 10.14 e posterior só permite controlar se o compartilhamento de tela está ativado nas Preferências do sistema".
toralux