Posso usar a área de trabalho remota para outro usuário na mesma máquina?

13

No meu trabalho, no Mac, que fica fisicamente no meu escritório, quero manter minhas coisas de trabalho separadas das minhas, usando duas contas de usuário diferentes. Eu normalmente permaneço logado como o usuário 'comercial'. Mas quero tê-los visíveis ao mesmo tempo, pois tenho uma tela grande. Acho que poderia obter uma boa configuração se pudesse usar o cliente de área de trabalho remota embutido ou um cliente VNC de terceiros para conectar à tela de login da máquina existente, para que eu possa selecionar um usuário diferente. Ou se eu pudesse me conectar como um usuário específico, mesmo que a máquina física já esteja conectada como outra pessoa.

Normalmente, uso meu sistema com o modo "gerenciamento remoto" ativado (não apenas a área de trabalho remota) e geralmente uso um cliente VNC em casa para acessar a área de trabalho do Mac no trabalho. Embora essa não seja minha rotina diária. Nesse modo, o cliente VNC se conecta imediatamente à área de trabalho existente. Existe uma maneira de forçar essa conexão a ir para a tela de login? Quando uso um cliente VNC para conectar-me à tela existente, posso vê-lo tentando (você obtém o tipo de regressão infinita que poderia esperar), para que a conexão básica funcione. Eu só quero que eu selecione outro usuário.

Edit: Eu acho que parte do problema é que o sistema pode estar executando uma sessão do servidor VNC em segundo plano, esperando que eu me conecte. Ele se conecta à sessão ativa. Parece acontecer quando eu tenho "gerenciamento remoto" ativado ou apenas "compartilhamento de tela". O uso de um usuário alternativo em um comando "aberto" resulta em um erro sobre a impossibilidade de controlar sua própria tela.

Para ser claro, as duas contas estão no meu computador de trabalho. Em casa, quero conectar-me ao meu "usuário comercial" no meu computador comercial. Na minha mesa de trabalho, conectado como meu "usuário profissional", quero poder me conectar ao "usuário pessoal" no meu computador de trabalho.

Acho que meu problema real está relacionado ao que acontece no lado do servidor da conexão. Quero que o sistema operacional inicie a janela de login, mesmo que haja um usuário conectado na tela / teclado principal. Sei que em algumas circunstâncias um usuário de logon remoto pode receber a tela de logon. Talvez seja necessário desistir da ideia de, algumas vezes, conectar-me ao usuário conectado e, outras vezes, conectar-me a um novo login. Se eu puder mudar completamente para o modo de login novo, isso seria um começo.

Como o Mac OS decide se mostra a tela de logon para uma conexão remota versus apenas conectá-lo à área de trabalho em execução? Eu pensei que estava relacionado a ter "gerenciamento remoto" ativado vs "compartilhamento de tela". Mas, com apenas o "compartilhamento de tela" ativado, ainda recebo o comportamento de conectar ao existente.

Chris Quenelle
fonte
Gostaria de perguntar: existe algum defaults writetruque que relaxe a restrição Screen Sharing.appou existe uma recomendação para o visualizador gratuito do VNC?
amdyes

Respostas:

14

ARD na sua "conta comercial" e faça o seguinte no computador remoto para abrir uma janela de compartilhamento de tela na sua "conta pessoal" no mesmo computador remoto.

Crie um túnel SSH. Funciona para mim usando o 10.9.

Habilite o Login Remoto (SSH) em Preferências do Sistema> Compartilhamento e na Execução do Terminal:

ssh -NL 5901:localhost:5900 localhost

Por fim, use o compartilhamento de tela para conectar-se ao host local: 5901 (em vez da porta padrão 5900). Em vez da porta 5901, você pode usar uma porta muito mais alta que não está sendo usada por mais nada.

O aplicativo Screen Sharing está localizado aqui: /System/Library/CoreServices/Screen Sharing.app

mente travessa
fonte
Isso apenas redireciona 5901 para 5900, certo? Na verdade, ele não executa um novo processo de login remoto no lado do servidor.
precisa
Página de manual SSH :: -L Especifica que a porta especificada no host local (cliente) deve ser encaminhada para o host e a porta especificados no lado remoto. :: -N Não execute um comando remoto. Isso é útil apenas para encaminhamento de portas (somente protocolo versão 2).
mindmischief
Oh meu Deus, isso é ótimo! Finalmente, posso verificar rapidamente coisas como cadeias de caracteres localizadas em menus sem recorrer a máquinas virtuais ou fazer logoff e logon novamente!
Asmus
Isso realmente é ótimo, finalmente algo como o X aninhado no Linux. Está trabalhando na Sierra. Ter a conta de outro usuário aberta na segunda área de trabalho virtual é muito melhor do que mudar constantemente de conta.
Sr. Tao
11
Isso ainda está funcionando no Mojave 10.14. Para iniciantes como eu, eu adicionaria algumas coisas que me causaram confusão momentânea: 1. você digita o comando ssh no Terminal na conta que deseja remotamente para o INTO (vamos chamá-lo de conta 1) e deixa esse processo em execução no Terminal . O Terminal irá discutir sobre a "autenticidade do host 'localhost', mas isso parece normal. O único feedback que você verá de que o processo SSH está funcionando está na barra de título da janela do Terminal. 2. Quando você inicia o Screen Sharing , você fazer isso na conta que deseja remoto FROM (chamando esta conta 2).
Gorb
4

Você pode especificar um usuário específico usando o comando open no terminal.

open vnc://user:password@hostname(or IP)

Isso também é possível através do Go Connect to Server ( cmd+ k) do localizador e digitando vnc: // hostname (ou IP)

Você pode ter apenas dois usuários executando em uma máquina remotamente.

tron_jones
fonte
11
No 10.9, ambos dizem: "Você não pode controlar seu próprio computador". Ambos abrem efetivamente o compartilhamento de tela, o que não permite.
mindmischief
Recebo a mensagem sobre "Você não pode controlar sua própria tela".
precisa
Vejo na sua edição acima que isso não é possível. Você já tentou se conectar a cada usuário do seu computador doméstico separadamente.
21414 Trium_jones #
Eu era capaz de fazê-lo funcionar através de minha explicação
mindmischief
Se você tiver uma nova tela de login na mesma máquina, na qual um usuário já efetuou login, diga-me quais itens você ativou nas configurações de 'Compartilhamento'.
precisa
1

Para esclarecer a resposta @mindmischief , aqui estão as etapas para configurá-lo:

  1. (opcional) Crie um novo usuário (por exemplo vnc) em Preferências / Usuários com a senha.
  2. Em Preferências / Compartilhamento , habilite o Compartilhamento de Tela e o Login Remoto (também Permitir acesso ).
  3. Verifique se ssh vnc@localhostfunciona.
  4. Execute: ssh -NL 5901:localhost:5900 vnc@localhost(conforme esta postagem ).

Nota: Você pode usar um usuário diferente de vnc. Para depuração, adicione -vvvao seu sshcomando.

Agora abra a conexão VNC pelo seguinte comando:

open vnc://localhost:5901/
kenorb
fonte
como a criação de um novo usuário é opcional? Como posso me conectar sem ter um usuário? Parece que você deve especificar um em "Permitir acesso para:"
trainoasis
@trainoasis Você sempre pode enviar ssh para outro usuário existente.
kenorb
0

Atualmente, isso funciona imediatamente com o recurso “Compartilhamento de tela” embutido (que é apenas um servidor VNC embutido).

Vá para “Preferências do sistema → Compartilhamento” e ative o “Compartilhamento de tela” para todos os usuários. Agora, cada conta de usuário poderá se conectar usando qualquer cliente VNC e fazer login em sua própria sessão.

Kirelagin
fonte