나는 주변을 둘러 보았고 현재 제안 된 두 가지 방법이있다. Linux 용 Windows 서브 시스템 향상을 설치하고 XServer를 설치합니다.
어떤 방법이 가장 번거롭지 않고 (설치 및 사용하기 쉬운 지) 어떤 방법이 메모리를 덜 사용하는지 알고 싶습니다.
시냅틱과 CMake를 원합니다. 이것이 내장 기능이 아닌 이유는 무엇입니까?
나는 주변을 둘러 보았고 현재 제안 된 두 가지 방법이있다. Linux 용 Windows 서브 시스템 향상을 설치하고 XServer를 설치합니다.
어떤 방법이 가장 번거롭지 않고 (설치 및 사용하기 쉬운 지) 어떤 방법이 메모리를 덜 사용하는지 알고 싶습니다.
시냅틱과 CMake를 원합니다. 이것이 내장 기능이 아닌 이유는 무엇입니까?
답변:
WSL이 아직이 기능을 지원하지 않기 때문에 짧은 대답입니다. WSL은 Linux 커널을 사용한 전체 Linux 설치가 아니며 Windows (Microsoft) 커널에서 일부 기본 Linux 명령 / 이진을 실행할 수 있으며 제한이 있습니다.
https://github.com/Microsoft/WSL/issues/2356을 참조 하십시오.
그러나 xming과 같은 타사 X 서버를 설치하고 WSL에 ssh를 설치할 수 있습니다.
이 튜토리얼은 유비쿼터스 (X over ssh)이므로 여기에서 복사하지 않았으며 일부 앱은이 기술로도 작동하지 않을 것으로 예상합니다.
DISPLAY
하면 잘 가실 수 있습니다 (어쨌든 xming 및 VcXsrv 용).
VcXsrv
WSL (Linux 용 Windows 10 Subsystem)에서 사용하기로 선택했습니다 . Windows 10 Ubuntu 16.04에서 GUI (Graphical User Interface) 지원을 위해 하나를 선택하기 전에 모두가 xming
(답변)과 VcXsrv 를 조사하는 것이 좋습니다 .
설치가 간단합니다. 2019 년 3 월 17 일부터 간단히 기본값을 수락 할 수 있습니다. gedit
Bash Shell / Terminal에서 전화를 걸려면 ~/.bashrc
다음 줄 을 편집 하고 삽입해야합니다.
export DISPLAY=localhost:0.0
나는 달릴 수 있었다 :
sudo apt install ubuntu-desktop
sudo apt install yad
sudo apt install gedit
... GUI 데스크탑 소프트웨어를 설치합니다. 이 다음 날 실행을 허용 gedit
하고 nautilus
. 또한 apt
또는 apt-get
명령을 사용하여 CLI (명령 줄 인터페이스)를 통해 특정 GUI 응용 프로그램을 설치할 수있었습니다 .
내가 시도 할 때 WSL에서 내 우분투 bash는 스크립트의 많은 VcXsrv은 이렇게 설치해야합니다 zenity
및 yad
X-창 대화 상자는 사용자 입력이 표시됩니다.
다른 사람들이 WSL 내의 GUI가 완벽하지 않다는 것을 지적 했으므로 일부 문제를 해결하는 데 시간을 할애 할 수 있습니다. 또한 일부 GUI 소프트웨어는 WSL에서 작동하지 않습니다.
/etc/environment
GUI 드롭 다운 메뉴를 조정 하도록 수정 했습니다.
PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0
/mnt/e/bin
Windows 10 이중 부팅 WSL과 Ubuntu 16.04 이중 부팅에 사용되는 스크립트를 저장하기 때문에 특별한 경로입니다. 대부분의 사용자는 이것을 컴퓨터에 포함시키지 않을 것입니다.gedit
은 우분투 데스크탑 경험에 익숙한 것입니다. 또한 많은 bash 스크립트는 zenity
또는 yad
x-windows 대화 상자를 사용합니다. 이 bash 스크립트 VcXsrv
는 설치되어 있지 않으면 실행되지 않습니다 .
export DISPLAY=:0
. 지금은 실행할 수 있습니다 xhost
, xeyes
그리고 gnuplot
우분투 (이 프로그램은 이미 우분투 WSL에 설치되어있는 경우).
export LIBGL_ALWAYS_INDIRECT=1
VcXsrv
Windows의 Ubuntu에서 Win 10 Bash에서 VcXsrv에 대해 매우 긍정적 인 경험을했습니다 (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). 쓸모없고 리소스 소비가 많기 때문에 Unity 데스크톱을 실행하는 데 집중하지 않았습니다. XServer를 사용하여 Windows10 데스크톱의 GUI 모드에서 bash에서 앱을 실행했습니다.
Sourceforge 에서 여기에서 VcXsrv를 설치 하십시오.
VcXsrv 앱을 직접 실행하고 XLaunch를 시작하지 마십시오. 당신은 볼 수 localhost:0.0 - 0 clients
당신이 Win10 작업 표시 줄의 아이콘에 마우스를 가져 가면
우분투 배쉬 열기 :
cd /mnt
(localhost @ localhost : / mnt $에 결과)
cd ..
(localhost @ localhost : / $는이 명령으로 WSL에서 볼 수있는 한 하드 드라이브의 시작 부분을 의미합니다 ...)
sudo apt-get install dbus synaptic nautilus --install-suggests --show-progress
(이는 "dbus"를 설치하여 unity-desktop 용 GUI, "Synaptic Package Manager"및 "Nautilus"파일 탐색기 용 가상 커넥터를 만듭니다.
cd /usr/share/dbus-1 && sudo vi session.conf
( session.conf
vi 편집기에서 열 때 )
을 눌러 i삽입 모드로 들어가서 추가
<!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules
추가하는 것보다 :
<listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
<auth>EXTERNAL</auth>
<auth>DBUS_COOKIE_SHA1</auth>
<auth>allow_anonymous</auth>
파일 편집이 끝나면 ESC를 누르고 파일 :wq
을 저장하십시오.
다음 명령을 실행하고 출력을 확인하십시오.
$ export DISPLAY=localhost:0
$ sudo service dbus start
* Starting system message bus dbus [OK]
$ echo $DISPLAY
localhost:0
끝났습니다! 이제 Bash에서 시냅틱, 노틸러스 또는 파이어 폭스를 실행하면 Win10 데스크톱에로드됩니다. 이와 같은 GUI 옵션은 버그가 있지만 작동합니다. 당신은 설치할 수 있습니다 ubuntu-desktop
, unity
, ccsm
, compiz
및 실행하려고 우분투 유니티 데스크톱 . 아직 "Unreal"을 실행하기 위해 rying하면서 어려움을 겪고 있기 때문에 "Steam"을 설정하려고하지 않았습니다. 행운을 빌어 요 :)
누군가가 gnome-terminal
XTerm 대신 XServer 에서 실행하는 방법을 알고 있다면 공유하십시오 ...
PS VcXsrv를 Win10 부팅 가능으로 추가
할 수 있습니다
원본 게시물에 지정된 "증기"를 사용하여 소스를 최대한 활용하려면 네트워크 패키지 관리 (대기 시간 단축) 및 CPU / GPU 우선 순위 지정을 위해 Windows를 약간 조정하여 Win10XBox를 만드십시오… :)
"Unix"에서 "Steam"을 실행하더라도 쉘은 여전히 "Windows"이며 "Unix"에서 "Steam"을 시작할 수 있습니다.
TCP 준비 :;
regedit에서 :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
여기에서 인터넷에 연결하는 데 사용되는 네트워크 어댑터 항목을 찾으려면 하위 키 목록을 살펴 봐야합니다. DHCP를 사용 하는 경우 올바른 어댑터를 찾으려면 DhcpIPAdddress
항목 (시스템 데이터 값이 NOT :0.0.0.0
)을 찾아야합니다.
올바른 키를 찾았 으면 마우스 오른쪽 단추를 클릭하고 새로 작성> Dword (32 비트) 값을 선택하십시오 .
이름을 TcpFrequency로 지정하고 확인 을 클릭하십시오 ok.
나중에 값을 두 번 클릭하고 10 진수 값을 1로 설정하십시오. 기본 설정을 복원하려면 값을 2로 변경하거나 키를 삭제하십시오. 이제 다음 키로 이동하십시오. HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ
키를 다시 마우스 오른쪽 단추로 클릭하고 새로 작성> Dword (32 비트) 값을 선택하십시오 .
새 매개 변수 이름을 TcpDelay로 지정하십시오.
나중에 두 번 클릭하고 10 진수 값을 1로 변경하십시오. (나중에 키를 복원하려면 0으로 변경하거나 키를 삭제하십시오)
Nagle 알고리즘은보다 효율적인 전송을 위해 여러 개의 작은 패킷을 하나의 큰 패킷으로 결합합니다. 이것은 데이터 전송의 처리 효율을 향상 시키도록 설계되었습니다. "나일 링"을 비활성화하면 일부 게임에서 대기 시간 / 핑을 줄일 수 있습니다. Nagle의 알고리즘은 기본적으로 Windows에서 활성화되어 있습니다. 이 조정을 구현하려면 다음 레지스트리 키를 수정하십시오.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
의 경우 {NIC-id}
IP 주소가 나열된 주소를 찾으십시오. 이 {NIC-id}
키 아래에 다음 DWORD 값을 작성하십시오.
노트 :
일부 보고서에 따르면 Dota 2와 League of Legends를 재생할 때 조정을 통해 대기 시간이 줄어들었지만 일부에서는 작동하지 않습니다. 나는 그것을 시도했고 Dota 2를 재생할 때 대기 시간이 110에서 90ms (SEA 서버)로 향상되었습니다.
Windows는 네트워크 조절 메커니즘을 구현합니다. 이러한 조절의 기본 개념은 네트워크 패킷 처리가 자원 집약적 인 작업이 될 수 있다는 것입니다. 최대 처리량을 달성하기 위해 이러한 조절을 해제하는 것이 좋습니다.
이 조정을 구현하려면 regedit를 실행하고 레지스트리를 수정하십시오.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
SystemProfile 아래 에서 DWORD 값을 작성하고 NetworkThrottlingIndex 로 이름을 지정한 다음 게임 및 최대 처리량의 16 진 값을 ffffffff로 설정하십시오. ffffffff는 조절을 완전히 사용하지 않습니다.
멀티미디어 스트리밍 및“MMCSS (Multimedia Class Scheduler)”서비스를 사용하는 일부 게임은 CPU의 최대 80 % 만 사용할 수 있습니다. “MMCSS (Multimedia Class Scheduler)”서비스는 우선 순위가 낮은 백그라운드 애플리케이션에 대한 CPU 자원을 거부하지 않고 CPU 자원에 대한 우선 순위 액세스를 보장합니다.
이 조정을 구현하려면 regedit를 실행하고 레지스트리 키를 수정하십시오.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
거기에서 새 DWORD를 만들고 SystemResponsiveness로 이름을 지정하여 순수한 게임 / 스트리밍을 위해 10 진수 값을 00000000으로 설정하십시오.
위의 조정과 동일한 레지스트리 하이브에서 게임의 우선 순위를 변경할 수도 있습니다. 이 조정을 구현하려면
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games
다음 레지스트리 값을 변경하십시오.
이 Windows = Xbox 조정의 "알 수 없음"(내가 지시를 복사 한 이후로 잠시만 기다려주십시오)에 대한 모든 건배 ...
PPS : XServer가 실패한 경우 Docker로 해결 방법을 찾으십시오.
<auth>allow_anonymous</auth>
에 <auth>ANONYMOUS</auth>
다음 service dbus restart
과 gnome-terminal
작동합니다
전체 GUI 데스크탑 환경이 Microsoft에서 '공식적으로'지원되지는 않지만 작동 할 수 있습니다.
Windows 기능을 켜거나 끄
리눅스 윈도우 서브 시스템을 사용
다시 컴퓨터
를 시작 마이크로 소프트 스토어
우분투에 대한 검색
앱에서 선택 우분투 18.04
가져 오기를 클릭
우분투를 실행하고 설치를 기다릴
설정 사용자 이름과 암호를
다음 명령을 실행하십시오.
sudo apt-get update -y
sudo apt-get install ubuntu-desktop -y
sudo apt-get install xfce4 xorg xrdp -y
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
.xsession 생성 및 수정
cd /home/user/
sudo vim .xsession
텍스트 추가 :
gnome-session --session=ubuntu-2d
vi를 저장하고 종료
sudo chmod 755 .xsession
sudo systemctl enable xrdp
우분투에서 두 번째 계정이 필요합니다
sudo adduser remote
sudo usermod -aG sudo remote
startwm.sh 수정
cd /etc/xrdp
sudo chmod 777 startwm.sh
vim startwm.sh
하단 두 줄 주석 처리
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
텍스트 추가 :
startxfce4
vi를 저장하고 종료
exit
Windows에서 Ubuntu를 다시 시작하고 다음을 실행하십시오.
sudo /etc/init.d/xrdp start
Windows에서 mstsc.exe
컴퓨터를 실행하십시오 . 127.0.0.1:3390
사용자 이름을 비워두고
연결
세션 : Xorg
사용자 이름 : 원격
비밀번호 : 비밀번호
xfce를 즐기십시오!
완료되면 원격 데스크톱 연결을 닫습니다
. Ubuntu 명령 줄로 돌아 가기
sudo /etc/init.d/xrdp stop
exit
당신이 쉽게 원하기 때문에 ... x410 이라는 Microsoft Store에 앱이 있습니다 . 기본적으로 Cygwin 자체를 사용하지 않는 Cygwin X11 서버입니다. 설치 후 (제로 구성) WSL X11 Apps를 실행할 수 있습니다! (또는 전체 데스크톱). WSL 사용자 계정의 .bashrc에 다음 줄을 삽입하여 bash 터미널에서 앱을 실행할 수 있습니다.
### Setup a D-Bus instance that will be shared by all X-Window apps
pidof dbus-launch 1> /dev/null || dbus-launch --exit-with-x11 1> /dev/null 2>
/dev/null
## Export
export DISPLAY=127.0.0.1:0.0
나는 약 5 유로에 대해 x410을 샀다. 그래서 그것이 너무 많으면, 아마도 판매를 기다린다!
간편하게 선반 솔루션을 원한다면 MobaXTerm을 사용 하십시오 . WSL을 직접 지원하는 뛰어난 멀티탭 터미널 에뮬레이터이며 최적화 된 X 서버가 내장되어 있습니다. 나는 Moba에서 항상 시냅스를 사용합니다. 심지어 RStudio.
Panther의 답변은 유일한 것이 아니라 정답이기 때문에 선택했습니다. GUI 앱을 실행하는 번거롭지 않은 방법이 없습니다.
xfce
데스크톱이 왜 필요한지 모르겠 기 때문에 설치 하지 않았습니다.Multiple Windows
에서 XLaunch
(하나의 거대한 창 따라서 필요가 없습니다 아니 DE)어떤 GUI 앱을 설치 했습니까? Synaptic과 CMake 만 있습니다. wsl에 필요한 다른 것을 실제로 생각할 수 없기 때문입니다.
Panther가 지적한 것과 같은 이유로 VM / Dual Boot를 수행하지 않습니다. 풀 플렉스 OS가 아닌 편리한 (나에게) 개발 환경이 필요합니다.
내 연구에 따르면 wsl은 원래 GUI 사용자를 위해 설계되지 않았습니다. 그러나 타사에서 X 서버 를 설치하여 GUI를 표시 할 수 있습니다. 적절한 설정으로 VcXsrv 를 사용하여 Debian Linux-desktop을 표시 할 수 있는지 테스트했습니다 .
Windows 서브 시스템 Linux Debian에서 mate-desktop (GUI)을 표시하기 위해 접근 방식이 원활하게 작동한다고 생각합니다. wsl 데비안에서 mate-desktop (GUI) 을 처음부터 설치하고 표시하는 방법에 대한 비디오를 만들었습니다 . 링크 : https://youtu.be/QjogEWudpaM
우분투 에 메이트 데스크탑 설치 는 약간 다릅니다.
1 단계 : wsl 설치
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
2 단계 : 메이트 데스크탑과 같은 그래픽 사용자 인터페이스를 설치합니다.
대한 데비안 사용자 :
sudo apt-get update
하십시오. Enter 키를 누르십시오.sudo apt install task-mate-desktop
후을 입력하고 Enter 키를 누르십시오.또는 Ubuntu 사용자의 경우 :
sudo apt install tasksel
하고 Enter 키를 누르십시오sudo apt update
하고 Enter 키를 누르십시오sudo tasksel install ubuntu-mate-desktop
하고 Enter 키를 누르십시오3 단계 : Windows 10에 X 서버 설치. VcXsrv라는 오픈 소스 서버를 사용했습니다. https://sourceforge.net/projects/vcxsrv/ 에서 다운로드 할 수 있습니다 .
설치가 완료되면 :
Windows 10에서 XLauch 열기
다음 설정을 수행하십시오.
"One large window"
Display number: 0
next
Start no client
next
finish
4 단계 : Linux 콘솔에서 설정 :
유형 export DISPLAY=:0
유형 export LIBGL_ALWAYS_INDIRECT=1
(이 칭찬이 필요하지 않을 수도 있음)
5 단계 : 메이트 데스크탑 GUI 표시 :
데비안 사용자를 mate-session
위한 유형
입력 mate-session
또는 lightdm-session
를위한 우분투 사용자
내 설명이 혼란 스러우면 YouTube 비디오 설치 GUI (메이트 데스크탑)를 Microsoft Windows Subsystem Linux로 확인할 수 있습니다.
sudo service ssh start
ssh -Y 10.0.2.2
일반적으로 VirtualBox 게스트의 호스트는 10.0.2.2에 도달 할 수 있습니다.
이제 완벽한 Windows에서도 Fedora 데스크탑의 모든 WSL X 프로그램을 사용할 수 있습니다.