01signal.com

Windows 컴퓨터에서 Linux desktop 사용

이 웹페이지는 Smart Zynq 보드의 기능을 탐색하는 소규모 프로젝트 그룹 에 속합니다.

이 프로젝트는 중국 독자들에게 추천하는 HelloFPGA로도 출간되었습니다 . 이 페이지에 설명된 방법을 보여주는 짧은 비디오 도 있습니다.

소개

Linux 컴퓨터에서는 그래픽 소프트웨어를 사용하여 다른 컴퓨터에서 window를 열 수 있습니다. 즉, 소프트웨어(예: Google Chrome)는 한 컴퓨터에서 실행될 수 있지만 이 소프트웨어의 사용자는 다른 컴퓨터 앞에 앉아 있습니다. Windows 에도 유사한 솔루션이 있지만 이러한 솔루션은 일반적으로 나쁜 사용자 경험을 제공합니다. Linux는 원격 위치에서 작업하는 데 훨씬 더 적합합니다.

사람들은 대개 자신의 컴퓨터나 노트북에서 작업하기 때문에 이 기능은 자주 사용되지 않습니다. 그러나 컴퓨터에 모니터가 연결되어 있지 않으면 이 기능이 유용할 수 있습니다.

이 튜토리얼에서는 Xillinux 에서 그래픽 소프트웨어를 실행하여 마우스, 키보드 및 모니터가 Windows 컴퓨터에 연결되는 방법을 설명합니다.

X server

Linux desktop 의 기본은 X-windows입니다. 이것은 매우 오래된 소프트웨어이지만 오늘날에도 잘 작동합니다. Windows 컴퓨터와 달리 그래픽 인터페이스는 X server를 기반으로 합니다. 이것은 TCP/IP server를 구현하는 일반 컴퓨터 프로그램( user space에서 실행)입니다. 이 서버는 일반적으로 port 6000을 수신합니다. 컴퓨터 화면에 window를 표시하려는 모든 프로그램은 TCP/IP를 통해 이 서버에 연결됩니다. 모든 그래픽 정보는 이 TCP/IP 연결을 통해 전송됩니다. 사용자의 키보드 스트로크와 마우스 움직임도 이 연결을 통해 전송됩니다.

window를 제어하는 프로그램은 동일한 컴퓨터 또는 다른 컴퓨터에서 실행될 수 있습니다. 연결은 TCP/IP를 기반으로 하기 때문에 이는 중요하지 않습니다.

오늘날 대부분의 Linux 컴퓨터에서는 다른 컴퓨터에서 TCP/IP를 통해 X server 에 직접 연결할 수 없습니다. 보안 문제로 인해 이 기능이 꺼져 있습니다. 게다가 두 대의 Linux 컴퓨터를 연결하는 안전한 대안이 있습니다: "ssh -X". 그럼에도 불구하고 Linux 컴퓨터에서 실행되는 그래픽 프로그램은 일반적으로 다른 컴퓨터의 디스플레이에 연결할 수 있습니다.

따라서 Windows 컴퓨터에서 X server를 실행하는 것이 유용합니다. 이 X server를 사용하면 다른 컴퓨터에서 실행되는 프로그램이 Windows 컴퓨터에서 GUI 인터페이스를 제공할 수 있습니다. 두 가지 옵션을 제시하겠습니다. 처음에는 전체 Linux desktop이 Windows 컴퓨터에 나타납니다. 다음 단계는 Linux 컴퓨터에서 실행되는 컴퓨터 프로그램에 속하는 하나의 window 만 제시하는 것입니다.

준비

먼저 vcxsrv를 다운로드하여 설치하세요. 설치 절차는 모든 Windows 응용 프로그램과 동일합니다.

다음 단계는 Windows를 실행하는 컴퓨터의 IP address를 찾는 것입니다. 다음과 같이 Command Prompt 내부에서 ipconfig를 사용하십시오.

> ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 192.168.1.11
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.3

다음 단계는 Windows Defender Firewall을 끄는 것입니다. 그렇지 않으면 Xillinux 에서 실행되는 컴퓨터 프로그램이 X server에 연결할 수 없습니다. 실제로 Xillinux 의 ping 도 실패합니다.

분명히 firewall을 끄면 컴퓨터가 네트워크 공격에 취약해집니다. 따라서 이 작업을 수행하기 전에 컴퓨터 네트워크가 외부 firewall 로 보호되는지 고려하는 것이 좋습니다.

"Turn Windows Defender Firewall on and off"로 이동합니다.

Turning off Windows Defender Firewall, stage 1

그런 다음 방화벽을 끄십시오.

Turning off Windows Defender Firewall, stage 2

firewall이 꺼진 후 Xillinux board가 Windows 컴퓨터에 연결될 수 있는지 확인하십시오. 예를 들어 Xillinux에서 ping을 사용해 보세요.

root@localhost:~# ping 192.168.1.11
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data.
64 bytes from 192.168.1.11: icmp_seq=1 ttl=128 time=0.797 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=128 time=0.790 ms
64 bytes from 192.168.1.11: icmp_seq=3 ttl=128 time=0.782 ms
^C
--- 192.168.1.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.782/0.789/0.797/0.033 ms

Windows에서 Linux desktop 실행

vcxsrv를 시작하려면 XLaunch라는 아이콘을 클릭하십시오.

첫 번째 pop-up window의 경우:

vcxsrv's first popup window

두 번째 pop-up window의 경우: "Start no client"를 선택합니다.

vcxsrv's second popup window

세 번째 pop-up window의 경우: "disable access control"를 선택합니다. 이를 통해 Xillinux board에서 연결할 수 있습니다.

vcxsrv's third popup window

이 세 개의 pop-up windows이후에 vcxsrv는 크고 비어 있는 window를 엽니다. 이 window 의 모든 것은 검은색입니다.

이제 이 커다란 window를 Xillinux의 desktop로 채워보겠습니다. Xillinux board의 shell 에 다음을 입력하세요.

root@localhost:~# DISPLAY=192.168.1.11:0 /etc/X11/Xsession

이 명령이 실행된 후 몇 초 후에 Windows 컴퓨터에 그래픽 데스크탑이 나타납니다.

ssh를 사용하여 desktop을 시작하는 것도 가능합니다. 예를 들어 Xillinux board의 IP address가 192.168.1.123라고 가정해보자. 이 명령은 Command Prompt window ( Windows 컴퓨터)에서 사용할 수 있습니다.

> ssh root@192.168.1.123 "DISPLAY=192.168.1.11:0 /etc/X11/Xsession"

ssh를 사용하기 전에 root user 의 비밀번호를 설정해야 합니다.

vcxsrv의 window 내부에서 Copy를 사용한 다음 일반 Windows 창에서 Paste를 사용할 수 있습니다. 또한 반대 방향으로도 작동합니다.

"/etc/X11/Xsession"는 desktop을 시작하는 명령입니다. "DISPLAY=192.168.1.11:0"는 environment variable에 값을 할당합니다. 이는 프로그램이 원격 컴퓨터에 연결하도록 지시합니다.

DISPLAY 할당은 두 부분으로 구성됩니다. 첫 번째 부분은 IP address (이 예에서는192.168.1.11 )입니다. 두 번째 부분은 Display Number입니다. vcxsrv를 시작했을 때 Display Number가 0로 선택되었음을 기억하세요. 이것이 DISPLAY 의 두 번째 부분이 ":0"인 이유입니다. 이는 TCP client가 port 6000에 연결되도록 지시합니다. 다른 Display Number를 선택하는 경우 그에 따라 DISPLAY 도 변경해야 합니다. 예를 들어 Display Number가 5라면 DISPLAY는 "192.168.1.11:5"여야 합니다. 이 상황에서 TCP client는 port 6005 에 연결을 시도합니다.

Windows에서 단일 Linux window 열기

이제 window가 Windows 컴퓨터에서 열리도록 Xillinux에서 그래픽 컴퓨터 프로그램을 실행하는 방법을 보여 드리겠습니다.

이전과 같이 vcxsrv를 시작하지만 한 가지 차이점이 있습니다. One Large Window를 선택하는 대신 Multiple Windows를 선택하세요. 이 차이점을 제외하고는 이전과 동일한 선택을 하세요.

vcxsrv's first popup window, multiple windows

이전과 달리 3개의 pop-up windows이후에는 새로운 window가 열리지 않습니다. 구성이 완료된 후 아무 일도 일어나지 않는 것처럼 나타납니다. 그러나 이것은 오해의 소지가 있습니다. X server가 실행 중이며 요청을 기다리고 있습니다.

예를 들어 Xillinux에서 다음을 시도해 보세요.

root@localhost:~# DISPLAY=192.168.1.11:0 gnome-text-editor &

그러면 Windows 컴퓨터에서 텍스트 편집기가 시작됩니다. terminal window를 시작하는 것도 가능합니다:

root@localhost:~# DISPLAY=192.168.1.11:0 lxterminal &

이 방법으로 terminal windows를 열면 다음과 같은 이점이 있습니다. 더 이상 "DISPLAY=192.168.1.11:0" 부분을 추가할 필요가 없습니다. 이는 이 terminal에서 시작되는 모든 명령의 기본값입니다.

앞에서 언급했듯이 ssh를 통해 명령을 보내는 것이 가능합니다. terminal window를 시작하려면 Windows의 Command Prompt 에 다음을 입력하십시오.

> ssh root@192.168.1.123 "DISPLAY=192.168.1.11:0 lxterminal"

이전과 마찬가지로 이 예에서는 Xillinux board의 IP address가 192.168.1.123라고 가정합니다.

안타깝게도 X server를 종료하는 간단한 방법은 없는 것 같습니다. X server가 이 모드에서 실행되면 프로그램을 나타내는 window가 없습니다. 따라서 server를 중지하는 방법은 Task Manager를 사용하는 것입니다. "VcXsrv windows xserver"라는 작업을 찾아 "End Task"를 클릭합니다.

이 페이지는 영어에서 자동으로 번역됩니다. 불분명한 사항이 있으면 원본 페이지를 참조하십시오.
Copyright © 2021-2024. All rights reserved. (6f913017)