Zdalny dostęp do komputera to funkcja, która może być przydatna w wielu sytuacjach. Dzięki niej możemy zdalnie zarządzać pracą serwera, prowadzić szkolenia, albo komuś pomóc.

W systemie Windows zdalny dostęp do komputera możemy uzyskać przy użyciu usługi “Pulpit zdalny”, albo przy pomocy jakiegoś zewnętrznego programu, który to umożliwia np. TeamViewer’a.

Osoby niewidome pracujące na komputerze z użyciem programu odczytu ekranu, zdalny dostęp do komputera mogą uzyskać tylko przy pomocy “Pulpitu zdalnego”. Niestety wiąże się to ze znacznymi opóźnieniami, które spowalniają reakcje ScreenReader’a przez co taka praca nie jest komfortowa ani efektywna. Inne programy najczęściej umożliwiają pracę zdalną poprzez graficzne przekazywanie informacji (ekranu) z komputera zdalnego co uniemożliwia wykorzystanie ich przez osoby niewidome – ScreenReader’y w pracujące w takim środowisku nie będą w stanie niczego przeczytać.

Firmy tworzące programy odczytu ekranu chcąc udostępnić osobom niewidomym komfortową pracę na zdalnych komputerach stworzyły własne rozwiązania, które taką funkcjonalność realizują. W JAWS jest to mechanizm o nazwie JAWS Tandem, w WindowEyes funkcja zwana “Pomoc zdalna” a w NVDA narzędzie o nazwie “Zdalne”. Narzędzie to jest zewnętrzną wtyczką, którą użytkownicy muszą sobie sami z głównego repozytorium dodatków pobrać i w NVDA zainstalować. Klikając w ten link otworzymy podstronę, z której można je pobrać.

Wtyczka powstała jako darmowe narzędzie sfinansowane z kampanii Crowdfundingowej w serwisie Indiegogo. Oficjalna strona projektu znajduje się pod adresem https://nvdaremote.com/. Do miejsca tego prowadzi także link z repozytorium dodatków dla NVDA. O tym jak instalować dodatki można przeczytać w pomocy ScreenReadera.

(Zrzut ekranu strony NVDA Remote Access)

Pod tym samym adresem dostępny jest także główny serwer dla narzędzia “Zdalne”, który umożliwia zestawianie połączenia pomiędzy dwoma komputerami. Na powyższej stronie niestety tylko w języku angielskim umieszczony jest też podręcznik opisujący działanie wtyczki.Dlatego w artykule tym opiszę funkcjonalność tego narzędzia.

Jak dostać się do narzędzia “Zdalne”?

Do opcji umożliwiających zdalne połączenie z komputerem w NVDA dostaniemy się rozwijając kolejno w głównym menu ScreenReadera pozycję “Narzędzia” a następnie “Zdalne”.

(Zrzut ekranu z rozwiniętym menu narzędzia “Zdalne”)

Aby nawiązać połączenie po między dwoma komputerami w miejscu tym musimy uaktywnić opcję “Połącz”. Po jej zatwierdzeniu wyświetlone zostanie okno pod tym samym tytułem zawierające grupę opcji umożliwiających skonfigurowanie połączenia.

(Zrzut ekranu okna dialogowego “Połącz”)

W trakcie połączenia dwóch komputerów jeden jest komputerem kontrolującym a drugi kontrolowanym. Dlatego konfiguracja połączenia na każdym z nich nieznacznie się różni. Samo połączenie też może być realizowane na dwa różne sposoby. Możemy do zestawienia połączenia użyć serwera zdalnego, albo nawiązać połączenie bezpośrednie wykorzystując jako serwer komputer kontrolujący lub kontrolowany.

Należy pamiętać, że nawiązania połączenia przy użyciu narzędzia “Zdalne” niezbędne jest, aby program NVDA był uruchomiony na obu komputerach: kontrolującym oraz kontrolowanym. Na każdym z nich należy także dokonać właściwej konfiguracji opisanej poniżej.

Konfigurowanie połączenia z użyciem serwera zdalnego

Aby ustanowić połączenie pomiędzy dwoma komputerami z użyciem serwera zdalnego w oknie “Połączenie “w pierwszej grupie opcji zarówno na komputerze kontrolującym jak i kontrolowanym wybieramy przycisk “Klient”.

W następnej grupie opcji dla komputera kontrolującego zaznaczamy przycisk “kontroluj inny komputer” a na komputerze kontrolowanym w tym samym miejscu oznaczamy “Zezwól na kontrolę tego komputera”.

W polu “Host” na każdym komputerze wpisujemy adres serwera, który będzie zestawiał połączenie. Może to być serwer na którym znajduje się strona projektu dostępny pod adresem “nvdaremote.com”, albo inny serwer znajdujący się pod innym znanym nam adresem. W obydwu przypadkach musi być podane odwołanie do tego samego serwera.

Następnie w pole “Klucz” wpisujemy ciąg znaków identyfikujących nasze połączenie. Na każdym komputerze ciąg ten musi być identyczny. Możemy tu wpisać dowolny zestaw znaków, składający się z liter, cyfr albo ich połączeń. Jeżeli nie chcemy wpisywać własnego zestawu znaków, to możemy go wygenerować korzystając z przycisku “Generuj klucz”. Do zestawienia połączenia wypełnienie tego pola jest konieczne. Po zdefiniowaniu połączenia zatwierdzamy przycisk “OK”.

W efekcie powyższych czynności narzędzie “Zdalne” zaloguje się do serwera i dwa komputery będą gotowe do nawiązania z sobą połączenia. Informację o tym otrzymamy zarówno w postaci odpowiedniego sygnału dźwiękowego, jak i komunikatu, który zostanie odczytany przez NVDA.

Powyżej opisany sposób zestawienia połączenia po między komputerami jest stabilny i najbardziej zalecany.

Konfigurowanie połączenia z użyciem serwera działającego na komputerze użytkownika

Komputerem pracującym jako serwer zdalnego połączenia może być komputer kontrolujący, albo kontrolowany. Do stworzenia takiego połączenia także wykorzystujemy opcję “Połącz”. Aby się do niej dostać postępujemy w taki sam sposób, jak to zostało opisane wcześniej. Po otwarciu okna “Połącz” w pierwszej grupie opcji na komputerze, który ma pełnić rolę serwera wybieramy przełącznik “Server”, zaś na komputerze, który ma się do niego odwoływać w tym samym miejscu przycisk “Klient”.

W następnej grupie opcji dla komputera kontrolującego zaznaczamy pozycję “Kontroluj inny komputer” a na komputerze kontrolowanym w tym samym miejscu oznaczamy “Zezwól na kontrolę tego komputera”. Następnie na komputerze będącym klientem do pola “Host” musimy wprowadzić adres IP komputera, który jest serwerem. Na komputerze pełniącym rolę serwera zamiast pola “Host” wyświetlane jest pole o nazwie “Zewnętrzne IP”, które jest tylko do odczytu i sami nie możemy go wypełnić. Aby pole to zostało wypełnione adresem IP, musimy uaktywnić przycisk “Pobierz zewnętrzny IP”. Po jego kliknięciu pole to automatycznie zostanie wypełnione adresem IP naszego komputera. Adres ten musimy zapamiętać i wpisać go w pole “Host” na komputerze, który będzie Klientem. Dodatkowo w sieci, w której pracuje komputer pełniący funkcję serwera musi być otwarty port o numerze (6837) ponieważ wtyczka wykorzystuje go do połączenia. Jeżeli w trakcie uzyskiwania adresu IP na komputerze będącym serwerem port ten jest nie dostępny, to narzędzie nie będzie mogło uzyskać zewnętrznego adresu IP o czym zostaniemy poinformowani odpowiednim komunikatem. Jeżeli port ten nie jest dostępny, to wówczas musimy na ruterze dokonać jego przekierowania, albo go odblokować. Jeżeli nie wiemy jak to zrobić, to musimy sięgnąć do instrukcji obsługi posiadanego przez nas rutera, lub skontaktować się z administratorem naszej sieci.

Po uporaniu się z adresem IP, w pole “Klucz” wpisujemy ciąg znaków identyfikujący nasze połączenie. Na każdym komputerze ciąg ten musi być identyczny. Możemy tu wpisać dowolny zestaw znaków, składający się z liter, cyfr albo ich połączeń. Jeżeli nie chcemy wpisywać własnego zestawu znaków, to możemy go wygenerować korzystając z przycisku “Generuj klucz”. Do zestawienia połączenia wypełnienie tego pola jest konieczne. Po zdefiniowaniu połączenia zatwierdzamy przycisk “OK”.

W efekcie powyższych czynności narzędzie “Zdalne” zaloguje się do komputera-serwera i dwa komputery będą gotowe do nawiązania z sobą połączenia. Informację o tym otrzymamy zarówno w postaci odpowiedniego sygnału dźwiękowego, jak i komunikatu, który zostanie odczytany przez NVDA.

Należy pamiętać, że w wielu domowych sieciach internetowych (u operatorów kablowych, sieciach GSM czy sieciach DSL np. Neostrada) zewnętrzny adres IP jest zmienny. Każdorazowa zmiana tego adresu będzie zatem wymagała uaktualniania opisanej wcześniej konfiguracji połączenia opartego na serwerze działającym na komputerze użytkownika.

Nawiązanie połączenia

Po prawidłowym skonfigurowaniu dwóch komputerów, możemy z komputera kontrolującego nawiązać połączenie z komputerem kontrolowanym. W tym celu naciskamy klawisz “F11”. Po jego naciśnięciu na komputerze kontrolującym usłyszymy komunikat “wysyłanie klawiszy” co oznacza, że komputer oczekuje na wciśnięcie przez nas pojedynczego klawisza, albo ich kombinacji, które zostaną wysłane do komputera kontrolowanego. Od tej pory każdy klawisz, lub ich kombinacja będzie wysyłana z klawiatury komputera kontrolującego do komputera kontrolowanego. Tym samym komputer kontrolujący stanie się terminalem komputera kontrolowanego.

Przykładowo, jeśli na klawiaturze komputera kontrolującego wciśniemy kombinację klawiszy “Windows+m” to przejdziemy na pulpit komputera kontrolowanego. Gdy będziemy teraz naciskać klawisze strzałek kursora, to usłyszymy znajdujące się na nim nazwy ikon. Mając takie połączenie na komputerze kontrolowanym możemy pracować tak samo jak na naszym a więc możemy otwierać programy, zmieniać ustawienia, zarządzać plikami itp. Wszystkie komunikaty, które będzie odczytywał NVDA będą odnosić się do tego co dzieje się na ekranie komputera kontrolowanego. Są one wypowiadane głosem posiadanego przez nas syntezatora mowy. Dzięki takiemu rozwiązaniu pracując na komputerze kontrolującym możemy używać swojego ulubionego syntezatora mowy. Właściciel komputera kontrolowanego też nie musi go zmieniać.

Ponowne wciśnięcie klawisza “F11” zawiesi połączenie, ale go nie rozłączy. Przy zawieszonym połączeniu znowu możemy pracować na naszym komputerze. Aby ponownie przejąć kontrolę nad komputerem zdalnym, wystarczy wcisnąć klawisz “F11”. Jeżeli oprócz syntezatora mowy do pracy na komputerze używamy także brajlowskiego monitora, to po połączeniu się z komputerem kontrolowanym nie będzie on działał, ponieważ narzędzie “Zdalne” w obecnej wersji nie obsługuje takich urządzeń.

Trzeba też zaznaczyć, że połączenie to odbywa się wyłącznie na poziomie wysyłanych klawiszy i mowy, tak więc osoby widzące z niego skorzystać nie mogą, ponieważ komputery nie przesyłają po między sobą obrazu.

Wyciszanie syntezatora mowy na komputerze kontrolowanym

Po przejęciu komputera kontrolowanego, jego właściciel słyszy wszystko to co robi na nim osoba pracująca na komputerze kontrolującym. Jeżeli łączymy się z naszego laptopa do naszego komputera stacjonarnego w domu, to takie gadanie może być niepożądane. W takiej sytuacji na komputerze kontrolowanym możemy wyciszyć mowę. Żeby to zrobić, po przejęciu komputera musimy w oknie NVDA, rozwinąć menu “Narzędzia” a w nim podmenu “Zdalne” i tam uaktywnić opcję “Wycisz zdalną mowę”. Od tej pory na komputerze kontrolowanym syntezator mowy zostanie wyciszony. Po zawieszeniu połączenia, albo rozłączeniu się komputerów, na komputerze kontrolowanym syntezator mowy zostanie automatycznie włączony.

Przesyłanie danych przez systemowy schowek

Zawarte w schowku dane możemy przesyłać z komputera kontrolującego do kontrolowanego i odwrotnie. Nie możemy wprawdzie w ten sposób kopiować plików i folderów, ale można kopiować inne treści np. treść dokumentów, zawartość arkusza kalkulacyjnego itp.

Żeby np. przesłać tekst z komputera kontrolującego do dokumentu otwartego na komputerze kontrolowanym, zaznaczamy go na komputerze kontrolującym i przy użyciu systemowego skrótu klawiszowego kopiujemy do schowka. Następnie w oknie NVDA rozwijamy menu “Narzędzia” a w nim podmenu “Zdalne”, w którym uaktywniamy opcję “Wyślij schowek”. Teraz po połączeniu się z komputerem zdalnym możemy używając skrótu klawiaturowego Ctrl+V wkleić znajdujący się w schowku tekst.

W podobny sposób można przekopiować tekst z komputera kontrolowanego do edytora otwartego na komputerze kontrolującym. Mając połączenie z komputerem kontrolowanym musimy używając systemowego skrótu klawiaturowego skopiować do schowka zaznaczony tekst a następnie z menu narzędzia “Zdalne” wywołać opcję “Wyślij schowek”. Po zawieszeniu połączenia klawiszem “F11” możemy tekst ten po przez naciśnięcie kombinacji klawiszy “Ctrl+V” wkleić do edytora otwartego na komputerze kontrolującym.

Rozłączanie połączenia

Podczas połączenia z sobą dwóch komputerów klawisz “F11” nie rozłącza połączenia a jedynie go zawiesza. Żeby całkowicie przerwać połączenie, musimy na komputerze kontrolującym po zawieszeniu połączenia w oknie NVDA rozwinąć menu “Narzędzia” a w nim podmenu “Zdalne” i tam uaktywnić polecenie “Rozłącz”. Od tej chwili połączenie komputera z serwerem zostaje zerwane a tym samym po naciśnięciu klawisza “F11” nie będzie można przejąć kontroli nad komputerem kontrolowanym.

Konfiguracja automatycznego logowania się do serwera i nawiązywanie połączenia ze zdalnym komputerem

Jeżeli byśmy chcieli, ażeby komputer od razu po uruchomieniu był przygotowany do zdalnego z nim połączenia, to NVDA musi uruchamiać się podczas jego startu i narzędzie “Zdalne” musi automatycznie łączyć się z serwerem. O tym co i gdzie trzeba włączyć aby NVDA uruchamiał się razem z systemem można przeczytać w pomocy ScreenReadera, dlatego skupię się tu tylko na konfiguracji narzędzia “Zdalne”.

Aby skonfigurować narzędzie “Zdalne” do automatycznego łączenia się z serwerem, w oknie NVDA rozwijamy menu “Narzędzia”, podmenu “Zdalne” i tam klikamy w pozycję “Opcje”.

(Zrzut ekranu okna “Opcje”)

W wyświetlonym oknie o nazwie “Opcje” należy zaznaczyć przełącznik “Łącz automatycznie z serwerem kontroli przy starcie” i wypełnić adresem serwera pole “Host”, oraz wprowadzić klucz sesji w pole “Klucz”. Po kliknięciu w przycisk “OK” zamkniemy okno i zapamiętamy konfigurację. W kolejnym kroku ponownie z menu narzędzia “Zdalne” wybieramy opcję “Połącz” i konfigurujemy połączenie w trybie “Klienta”. W tym przypadku pole “host” i “Klucz” pozostawiamy puste.

Żeby połączenie następowało wraz z uruchomieniem się NVDA należy jeszcze zapisać konfigurację w domyślnym profilu ScreenReadera. Aby można było to zrobić musimy być zalogowani na koncie z uprawnieniami administratora. Jeżeli nasze konto takie uprawnienia posiada, to w oknie NVDA rozwijamy menu “Ustawienia” i tam wybieramy pozycję “Ustawienia ogólne”.

(Zrzut ekranu z rozwiniętym menu “Ustawienia”)

(Zrzut ekranu okna “Ustawienia ogólne”)

Aby przenieść konfigurację naszego połączenia do głównego profilu NVDA, w oknie tym klikamy przycisk “używaj zapisanych ustawień NVDA na ekranie logowania i innych zabezpieczonych ekranach”. Po uaktywnieniu tego przycisku należy zaakceptować wszystkie komunikaty, które zostaną wyświetlone. Jeżeli operacja kopiowania ustawień przebiegnie pomyślnie, to zostaniemy o tym poinformowani odpowiednim komunikatem. Od tej pory po uruchomieniu komputera i NVDA narzędzie “Zdalne” powinno automatycznie łączyć się z serwerem.

Wysyłanie sekwencji klawiszy “Ctrl, Alt, Del”

Sekwencję klawiszy “Ctrl, Alt, Del” musimy przesłać do komputera, jeżeli przed przejęciem nad nim kontroli wymaga on zalogowania się na konto. Sekwencję tą wysyłamy rozwijając w oknie NVDA, menu “Narzędzia” a tam podmenu “Zdalne” i w miejscu tym aktywując opcję ”
Wyślij Ctrl+Alt+Del”.

Niestety po mimo wielu różnych prób mi nie udało się w ten sposób zalogować do zdalnego komputera, co może być spowodowane tym, że funkcja ta nie została jeszcze dobrze dopracowana.

Dodatkowe materiały

Tak jak pisałem na początku, polsko języcznej dokumentacji dla tego narzędzia nie ma, ale możemy posłuchać podkastu na jego temat. Podkast jest dostępny pod poniższym adresem:

http://www.tyflopodcast.net/nvda-remote-access/