Sesja VNC z zablokowanym ekranem

4

Czy istnieje sposób na uruchomienie sesji VNC, gdy ekran jest „zablokowany” w systemie Windows?

Chcę uruchomić serwer VNC w oknie systemu Windows, zablokować ekran (aby nikt nie mógł uzyskać do niego dostępu), a następnie połączyć się z tym urządzeniem za pomocą VNC.

Wolę blokowanie okien natywnych, ale każdy blokada chroniona hasłem jest dobra.

zzz
źródło
Czy hasło użytkownika to nie spełni? Gdy łączysz się z nim zdalnie i używasz hasła, nie odblokuje lokalnego komputera.
Raystafarian

Odpowiedzi:

2

Niestety, istnieje tutaj problem pojęciowy. VNC działa poprzez renderowanie pulpitu na lokalnym komputerze, a następnie efektywne robienie zdjęć z pulpitu i wysyłanie ich przez sieć. Oznacza to, że to, co wysyła VNC musi być renderowane na komputerze obsługującym.

Podczas gdy system Windows może obsługiwać wiele sesji interaktywnych jednocześnie, jest wyłączony w wersjach innych niż serwer i rzadko jest używany. Oznacza to, że w praktyce serwer VNC musi wysyłać to, co jest renderowane przez interaktywną sesję na lokalnej konsoli - więc to, co widzisz w swojej sesji VNC, musi być tym, co jest wysyłane na wyświetlacz.

Istnieją dwa możliwe obejścia:

  1. Podkładka sterownika ekranu, która znajduje się między systemem Windows a kartą graficzną i zastępuje dane wideo czymś innym, jak pusty ekran. Jest to metoda, której używa LogMeIn, jeśli włączasz Wygaszanie wyświetlania - podczas gdy sesja LogMeIn jest aktywna, używa sterownika ekranu, który instaluje, aby skutecznie odłączyć monitor.
  2. Używaj RDP, ponieważ sesje RDP są rodzimym interfejsem dla Windows, a nie tylko protokołem „zdalnego pulpitu” - istnieje znacząca różnica koncepcyjna między RDP a VNC. (W rzeczywistości, ponieważ wersje systemu Windows inne niż serwer zezwalają tylko na jedną sesję na raz, zalogowanie się do komputera przez RDP wymusi zablokowanie sesji konsoli, jeśli ktoś jest tam zalogowany).

Jeśli chodzi o opcję 1, nie znam żadnych serwerów VNC, które implementują tę funkcję, ale podejrzewam, że muszą istnieć. Jeśli nic innego, LMI wdroży go tak, jak wspomniałem.

Jeśli chodzi o opcję 2, powiedziałbym, że istnieje duże prawdopodobieństwo, że tak właśnie powinno się robić. W większości przypadków RDP jest lepszą wydajnością opcji, bezpieczeństwem i funkcjonalnością. Wyjątkiem będzie sytuacja, w której masz domową edycję okien, ponieważ tylko wersja Professional i wyżej umożliwiają włączenie serwera RDP (chociaż jest on zainstalowany w wydaniach Home, tylko wyłączony).

jcrawfordor
źródło
Chociaż technicznie, ekran blokady jest wyświetlany na innym obiekcie „Desktop” niż programy użytkownika, VNC powinien mieć do niego dostęp ... Ponadto, wielosesyjność systemu Windows jest zawsze włączona i nazywa się „Szybki użytkownik” Przełącz ”zaczynając od XP. Ogranicza się tylko do jednego aktywny sesja (nie licząc nieoficjalnych poprawek).
grawity
Zastanawiałem się nad tym, jak napisałem odpowiedź, czy jakikolwiek serwer VNC może to wykorzystać, ale moje rozumienie Windows polega na tym, że przynajmniej programy WPF przestaną rysować, gdy nie są dołączone do monitora lub sesji RDP. Nie jestem tego jednak pewien, więc może jest jakiś serwer VNC, który wyprowadza sprytną sztuczkę sesyjną.
jcrawfordor
Prawdopodobnie tak; to rozsądna optymalizacja.
grawity
@grawity: wejście (np. funkcja SendInput) i komunikaty w oknie również przestają działać zgodnie z oczekiwaniami, gdy pulpit nie jest widoczny. Nie wiem dlaczego.
Harry Johnston
1

To zależy od wersji systemu Windows, sposobu instalacji VNC i wersji VNC.

Po pierwsze, musisz zainstalować VNC jako usługę.

Następnie w systemie Windows Vista i 7 należy wyłączyć UAC, aby VNC odblokował ekran. Nie możesz tego zapomnieć, ponieważ nie masz, okno jest wypaczone, wyjaśniając problem.
Windows XP, 2003 i 2008 nie są dostrajane.

Niektóre wersje komercyjne są w porządku z włączoną funkcją UAC. Może niektóre wersje GPL też działają, ale ja nie wiem.

Gregory MOUSSAT
źródło
0

Udało mi się to zrobić przez przypadek ... Jestem VNC'd i mogę zobaczyć bieżącą sesję, ale rzeczywisty komputer pokazuje ekran blokady.

Uważam, że tak się stało, ponieważ wcześniej uruchomiłem sesję RDP, która blokuje ekran, a następnie VNC ponownie używa tej sesji RDP.

KERR
źródło