วิธีที่ง่ายที่สุดในการใช้งานแอพ GUI บนระบบย่อย Windows สำหรับ Linux ตั้งแต่ปี 2018 คืออะไร


88

ฉันค้นหาไปรอบ ๆ และขณะนี้มีสองวิธีที่แนะนำคือ การติดตั้งการปรับปรุงสำหรับระบบย่อย Windows สำหรับ Linux และการติดตั้ง XServer

ฉันต้องการทราบว่าวิธีใดที่ไม่ยุ่งยากที่สุด (ติดตั้งง่ายและใช้งาน) และวิธีใดที่ใช้หน่วยความจำน้อยกว่าหนัก

ฉันแค่ต้องการ Synaptic และ CMake ทำไมถึงไม่เป็นฟีเจอร์ในตัว?


1
ความรู้สึกส่วนตัวของฉันคือ WSL เป็นเรื่องตลก! ทำไมไม่โหลด VM ง่ายๆ
ชาร์ลส์กรี

3
@CharlesGreen memory ... ฉันกำลังใช้แล็ปท็อปรุ่นเก่าอยู่
George Hovhannisian

ดังนั้นฉัน แต่ฉันเรียกใช้ Windows 10 ใน VM สำหรับหนึ่งโปรแกรมที่ฉันต้องการที่จะทำงานใน Windows เท่านั้น
Charles Green

1
@CharlesGreen VirtualBox?
George Hovhannisian

"ฉันต้องการเรียกใช้ Steam และเล่น Portal 2 บน Linux ในที่สุด! ' WSL ไม่ใช่ Linux ดังนั้นจะไม่มีทางเกิดขึ้นอีกต่อไป WSL ไม่ได้มีไว้สำหรับแพลตฟอร์มเกมเท่านั้นเป็นแพลตฟอร์มเพื่อปลดปล่อยพลังของ BASH to Windows ไม่มีอะไรเพิ่มเติมและเพื่อให้ทำงานบน WSL คุณไม่จำเป็นต้องใช้เดสก์ท็อปบน WSL เท่านั้น แต่ยังให้ STEAM เพื่อสนับสนุน WSL จะไม่เกิดขึ้นอีกเลย
Rinzwind

คำตอบ:


29

คำตอบสั้น ๆ คือคุณไม่สามารถทำได้เพราะ WSL ยังไม่รองรับฟังก์ชั่นนี้ WSL ไม่ใช่การติดตั้ง Linux เต็มรูปแบบที่มีเคอร์เนล Linux ช่วยให้คุณสามารถเรียกใช้คำสั่ง / ไบนารีแบบดั้งเดิมของ Linux บนเคอร์เนล Windows (Microsoft) และมีข้อ จำกัด

ดูhttps://github.com/Microsoft/WSL/issues/2356

อย่างไรก็ตามคุณสามารถติดตั้งเซิร์ฟเวอร์ X อื่นเช่น xming และ ssh ลงใน WSL ของคุณ

https://virtualizationreview.com/articles/2017/02/08/graphical-programs-on-windows-subsystem-on-linux.aspx

ฉันไม่ได้คัดลอกแบบฝึกหัดนั้นที่นี่เพราะมันค่อนข้างแพร่หลาย (X over ssh) และฉันคาดหวังว่าแอพบางตัวจะไม่ทำงานแม้จะใช้เทคนิคนี้ก็ตาม


ดังนั้นไม่ยุ่งยากไม่ใช่ตัวเลือกใช่ไหม บางทีใครบางคนอาจจะทำให้ Synaptic สำหรับ Windows ทำงานร่วมกับ WSL ในอนาคต ....
George Hovhannisian

1
โปรแกรมกราฟิกใน WSL ไม่ได้หมายความว่าคุณสามารถใช้ Steam ใน WSL ได้ คุณจะต้องใช้ Valve เพื่อสร้างการสนับสนุนสำหรับ WSL
Rinzwind

7
โปรดทราบว่าคุณไม่ต้องใช้ SSH เลย เพียงแค่ตั้งค่าDISPLAYและคุณก็พร้อมที่จะไป (สำหรับ xming และ VcXsrv ต่อไป)
dma1324

5
ฉันจะลงคะแนนคำตอบนี้มันเป็น 1: ไม่ถูกต้องอย่างสมบูรณ์และ 2: ไม่อยู่ในจิตวิญญาณของคำถาม - ใช่คุณสามารถเรียกใช้แอพ gui ใน wsl ด้วย xserver op ไม่ได้ถามเกี่ยวกับแอพที่รองรับ (ติดตั้ง vcxserve หรือสิ่งที่คล้ายกัน sudo apt-get install synaptic หลังจากตั้งค่า DISPLAY ไม่จำเป็นต้องใช้ ssh) ...
decuser

1
@decuser โหวตคำตอบที่ดีกว่าแทน: หากไม่มีให้เขียนหนึ่งข้อ
Thorbjørn Ravn Andersen

61

VcXsrv

ฉันเลือกที่จะใช้VcXsrvใน WSL (ระบบย่อย Windows 10 สำหรับ Linux) ฉันขอแนะนำให้ทุกคนทำวิจัยระหว่างxming(คำตอบที่ยอมรับ) และVcXsrvก่อนเลือกอย่างใดอย่างหนึ่งสำหรับการสนับสนุน Graphical User Interface (GUI) ใน Windows 10 Ubuntu 16.04

การติดตั้ง

การติดตั้งตรงไปตรงมา ตั้งแต่วันที่ 17 มีนาคม 2019 คุณสามารถยอมรับค่าเริ่มต้นได้ หากคุณต้องการโทรgeditจากภายใน Bash Shell / Terminal คุณต้องแก้ไข~/.bashrcและแทรกบรรทัดนี้:

export DISPLAY=localhost:0.0

คุณสามารถทำอะไรได้บ้างหลังจากติดตั้ง VcXsrv

ฉันสามารถเรียกใช้:

sudo apt install ubuntu-desktop
sudo apt install yad
sudo apt install gedit

... เพื่อติดตั้งซอฟต์แวร์เดสก์ท็อป GUI นี้จากนั้นจะอนุญาตให้ฉันไปทำงานและgedit nautilusนอกจากนี้ฉันยังสามารถติดตั้งแอปพลิเคชัน GUI เฉพาะผ่าน CLI (Command Line Interface) โดยใช้aptหรือapt-getคำสั่ง

เมื่อฉันต้องการลองสคริปต์ทุบตี Ubuntu หลายตัวใน WSL VcXsrvจะต้องติดตั้งดังนั้นzenityและyadกล่องโต้ตอบ x-windows จะปรากฏขึ้นเพื่อป้อนข้อมูลผู้ใช้

ดังที่คนอื่น ๆ สังเกตว่า GUI ใน WSL นั้นไม่สมบูรณ์แบบและคุณสามารถคาดหวังว่าจะใช้เวลาในการแก้ปัญหาบางอย่าง ซอฟต์แวร์ 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 dual boot WSL และ Ubuntu 16.04 dual boot ผู้ใช้ส่วนใหญ่จะไม่รวมสิ่งนี้ไว้ในเครื่อง

1
@ GeorgeHovhannisian ข้อได้เปรียบสำหรับฉันคือฉันสามารถใช้geditสิ่งที่ฉันคุ้นเคยจากประสบการณ์ Ubuntu Desktop สคริปต์ทุบตีของฉันจำนวนมากใช้zenityหรือyadกล่องโต้ตอบ x-windows สคริปต์ทุบตีเหล่านี้จะไม่ทำงานจนกว่า VcXsrvจะมีการติดตั้ง
WinEunuuchs2Unix

6
+1 แค่เฮฮา: ฉันจะแปลงระบบ Windows ของฉันเป็น Ubuntu ได้อย่างไรจากภายใน?
ของหวาน

8
สิ่งนี้ไม่เจ็บปวด: บน Windows ให้ดาวน์โหลด VcXsrv โดยใช้ลิงก์ที่ให้ไว้ ติดตั้งและเปิดใช้งานมัน จากนั้นผมเปิดเปลือก Ubuntu export DISPLAY=:0และป้อน ตอนนี้ฉันสามารถเรียกใช้xhost, xeyesและgnuplotในอูบุนตู (ให้โปรแกรมเหล่านี้จะถูกติดตั้งอยู่ในอูบุนตู WSL)
Daniel K.

2
@dessert +1 ในความคิดเห็นของคุณ มันเป็นเรื่องตลกมากเมื่อพิจารณาชื่อผู้ใช้ของฉันหมายความว่า "ถูก จำกัด โดยผู้ใช้ Windows เปลี่ยนไปใช้ Unix" ขอบคุณ WSL ฉันใช้ Windows 10 เป็นครั้งคราวเพราะฉันสามารถเรียกใช้ Ubuntu ภายในได้ โทรหาฉัน WinEunuuchs2Unix2WinSub4Linux หรือไม่ : p
WinEunuuchs2Unix

2
อีกexport LIBGL_ALWAYS_INDIRECT=1ทั้งคุณยังสามารถเร่งความเร็วฮาร์ดแวร์ในแอป GL ผ่าน X โดยใช้ VcXsrv
Jippers

19

ฉันมีประสบการณ์ที่ดีมากกับ VcXsrv บน Win 10 Bash บน Ubuntu บน Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft) ฉันไม่ได้มุ่งเน้นไปที่การใช้เดสก์ท็อปของ Unity เพราะมันไร้ประโยชน์และสิ้นเปลืองทรัพยากร ฉันแค่เรียกใช้แอพจากทุบตีในโหมด GUI จากเดสก์ท็อป Windows10 โดยใช้ XServer

  1. ติดตั้ง VcXsrv จากที่นี่ใน Sourceforge

  2. เรียกใช้แอป VcXsrv โดยตรงอย่าเปิด XLaunch คุณควรเห็นlocalhost:0.0 - 0 clientsเมื่อคุณวางเมาส์เหนือไอคอนบนแถบงาน Win10

  3. เปิด Ubuntu Bash:

    cd /mnt
    

    (ผลลัพธ์เป็น localhost @ localhost: / mnt $)

    cd .. 
    

    (localhost @ localhost: / $ หมายถึงคำสั่งนี้จะนำคุณไปสู่จุดเริ่มต้นของฮาร์ดไดรฟ์เท่าที่ WSL สามารถมองเห็น ... )

    sudo apt-get install dbus synaptic nautilus --install-suggests --show-progress
    

    (สิ่งนี้จะติดตั้ง "dbus" เพื่อสร้างตัวเชื่อมต่อเสมือนสำหรับ GUI, "Synaptic Package Manager" และ "Nautilus" ไฟล์ explorer สำหรับ unity-desktop

    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
    
  4. คุณทำเสร็จแล้ว! ตอนนี้เพียงเรียกใช้ synaptic, nautilus หรือ firefox จาก Bash และพวกเขาควรโหลดบนเดสก์ท็อป Win10 ตัวเลือก GUI เช่นนี้มีราคาแพง แต่ใช้งานได้ คุณสามารถติดตั้งubuntu-desktop, unity, ccsm, compizและพยายามที่จะเรียกความสามัคคีสก์ท็อปสำหรับอูบุนตู ฉันไม่ได้ลองตั้งค่า "Steam" เพราะฉันยังคงทรมานที่จะเรียกใช้ "Unreal" โชคดี :)

หากมีคนรู้วิธีเรียกใช้gnome-terminalบน XServer แทนที่จะเป็น XTerm โปรดแชร์ ...

PS
คุณสามารถเพิ่ม VcXsrv เป็น Win10 ที่สามารถบู๊ตได้

ในการเพิ่มแหล่งที่มาของคุณด้วย "Steam" ตามที่ระบุในโพสต์ต้นฉบับให้ปรับ Windows ของคุณเพียงเล็กน้อยสำหรับการจัดการแพ็คเกจเครือข่าย (เพื่อลดความหน่วงแฝง) และลำดับความสำคัญของ CPU / GPU เพื่อให้ Win10XBox … :)

แม้ว่าคุณจะเรียกใช้ "Steam" ภายใต้ "Unix" เชลล์ยังคงเป็น "Windows" ซึ่งอนุญาตให้คุณเปิดใช้ "Steam" บน "Unix" ...

Tcp Prep :;

ใน regedit:

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces

ที่นี่คุณต้องผ่านรายการของคีย์ย่อยเพื่อค้นหารายการอะแดปเตอร์เครือข่ายที่ใช้ในการเชื่อมต่ออินเทอร์เน็ต หากคุณใช้ DHCP คุณจะต้องค้นหาDhcpIPAdddressรายการ (ด้วยค่าข้อมูลระบบไม่ใช่:0.0.0.0) เพื่อค้นหาอะแดปเตอร์ที่ถูกต้อง

เมื่อคุณมีอยู่มันและเลือกคลิกขวาที่ถูกต้องที่สำคัญใหม่> Dword (32 บิต) มูลค่า

ชื่อมันTcpFrequencyokและคลิก

ดับเบิลคลิกที่ค่าหลังจากนั้นและตั้งค่าทศนิยมให้เป็น 1 (หากต้องการคืนค่าการตั้งค่าเริ่มต้นให้เปลี่ยนค่าเป็น 2 หรือลบคีย์) จากนั้นไปที่คีย์ต่อไปนี้: HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ

คลิกขวาที่คีย์อีกครั้งและเลือกใหม่> Dword (32 บิต) มูลค่า

ตั้งชื่อพารามิเตอร์ใหม่TcpDelay

ดับเบิลคลิกหลังจากนั้นและเปลี่ยนค่าทศนิยมเป็น 1 (ในการกู้คืนคีย์ในเวลาต่อมาให้เปลี่ยนเป็น 0 หรือลบคีย์)

อัลกอริทึมของ Nagle

อัลกอริทึมของ Nagle เป็นการรวมแพ็คเก็ตขนาดเล็กจำนวนมากไว้ในแพ็กเก็ตเดียวที่ใหญ่กว่าเพื่อการส่งสัญญาณที่มีประสิทธิภาพมากขึ้น สิ่งนี้ถูกออกแบบมาเพื่อปรับปรุงประสิทธิภาพการรับส่งข้อมูล การปิดใช้งาน“ nagling” สามารถช่วยลด latency / ping ในบางเกมได้ อัลกอริทึมของ Nagle เปิดใช้งานใน Windows โดยค่าเริ่มต้น เมื่อต้องการใช้การปรับแต่งนี้แก้ไขรีจิสตรีคีย์ต่อไปนี้

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}

หากต้องการ{NIC-id}ดูที่อยู่ IP ของคุณในรายการ ภายใต้{NIC-id}คีย์นี้สร้างค่า DWORD ดังต่อไปนี้:

  • TcpFrequency และตั้งค่าเป็น 1 เพื่อปิดการใช้งาน "nagling" สำหรับการเล่นเกม
  • TCPDelay และตั้งค่าเป็น 1 เพื่อปิดใช้งาน“ nagling”
  • TcpTicks และตั้งค่าเป็น 0

บันทึก:

บางรายงานบอกว่า tweaks นั้นลดความหน่วงเมื่อเล่น Dota 2 และ League of Legends แต่มันไม่ได้ผลสำหรับบางคน ฉันลองแล้วและเวลาแฝงของฉันดีขึ้นจาก 110 เป็น 90ms (เซิร์ฟเวอร์ SEA) เมื่อเล่น Dota 2

ดัชนีการควบคุมปริมาณเครือข่าย

Windows ใช้กลไกการควบคุมปริมาณเครือข่ายแนวคิดเบื้องหลังการควบคุมปริมาณคือการประมวลผลแพ็กเก็ตเครือข่ายอาจเป็นงานที่ใช้ทรัพยากรมาก มันเป็นประโยชน์ที่จะปิดการควบคุมปริมาณเพื่อให้ได้ปริมาณงานสูงสุด

เมื่อต้องการใช้การปรับแต่งนี้รัน regedit และปรับเปลี่ยนรีจิสทรี

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile. 

ภายใต้SystemProfileสร้างค่า DWORD และตั้งชื่อเป็นNetworkThrottlingIndexจากนั้นตั้งค่าเลขฐานสิบหกเป็น ffffffff สำหรับการเล่นเกมและปริมาณงานสูงสุด: ffffffff ปิดใช้งานการควบคุมปริมาณอย่างสมบูรณ์


การตอบสนองของระบบเกม (ไม่แน่ใจเกี่ยวกับเรื่องนี้ :)

การสตรีมมัลติมีเดียและบางเกมที่ใช้บริการ“ Multimedia Class Scheduler” (MMCSS) สามารถใช้งาน CPU ได้มากถึง 80% เท่านั้น บริการ“ Multimedia Class Scheduler” (MMCSS) ช่วยให้มั่นใจได้ว่าการเข้าถึงทรัพยากรของ CPU มีความสำคัญโดยไม่ปฏิเสธทรัพยากรของ CPU ไปยังแอปพลิเคชั่นที่มีลำดับความสำคัญต่ำกว่า

ในการใช้การปรับแต่งนี้ให้เรียกใช้ regedit และแก้ไขรีจิสตรีคีย์

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile. 

จากนั้นสร้าง DWORD ใหม่และตั้งชื่อเป็นSystemResponsivenessตั้งค่าทศนิยมเป็น 00000000 สำหรับการเล่นเกม / การสตรีม

ในกลุ่มรีจิสทรีเดียวกันกับการปรับแต่งด้านบนคุณสามารถเปลี่ยนลำดับความสำคัญของเกมได้ หากต้องการปรับแต่งนี้ไปที่

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games

และเปลี่ยนค่ารีจิสตรีต่อไปนี้:

  • “ GPU ลำดับความสำคัญ” เปลี่ยนค่าเป็น 8 สำหรับการเล่นเกม
  • “ ลำดับความสำคัญ” ตั้งค่าเป็น 1 สำหรับการเล่นเกม

ไชโยทั้งหมดสำหรับ "ไม่รู้จัก" (ขอโทษฉันเป็นเวลาสักครู่ตั้งแต่ฉันคัดลอกทิศทางของคุณ) ผู้เขียนของ Windows นี้ = บิด Xbox ...

PPS: หาก XServer ล้มเหลวในสิ่งที่คุณต้องการลองแก้ไขปัญหาด้วย Docker


6-5-7; : 5-6-7 ...
tenedas

ขอบคุณสำหรับคำตอบที่ละเอียดมาก ไม่อย่างนั้นต้องขอบคุณใครก็ตามที่แนะนำการแก้ไขฉันไม่อยากเชื่อเลยผู้คนกำลังแนะนำวิธีแก้ปัญหาสำหรับการใช้งาน Steam ในทางกลับกันผู้คนยังคงแนะนำเดสก์ท็อปต่อไปซึ่งฉันก็ยังไม่รู้ว่าจะใช้อะไรฉันก็ไม่จำเป็นต้องใช้โปรแกรมจัดการไฟล์เลยแม้แต่ตัวเดียวกับเดสก์ท็อปเฟล็กซ์
George Hovhannisian

ฉันติดตั้ง Xming บน Windows จากนั้นใช้ขั้นตอนทั้งหมดจากส่วนที่ 3 ที่นี่ (ด้านบน) - ติดตั้ง dbus (ไม่จำเป็นต้องใช้ synaptic หรือ nautilus จริง ๆ แต่ nautilus เป็นการตรวจสอบที่ดี) ทำการแก้ไข session.conf และเริ่ม dbus บริการ. จากนั้น Nautilus จะเริ่มต้นได้สำเร็จด้วยข้อความแสดงข้อผิดพลาดเล็กน้อย
MikeW

คุณหมายความว่าอย่างไร "เรียกใช้แอป VcXsrv โดยตรง" - วิธีการทำเช่นนี้?
Erel Segal-Halevi

เปลี่ยน<auth>allow_anonymous</auth>ไป<auth>ANONYMOUS</auth>แล้วservice dbus restartและgnome-terminalควรจะทำงาน
ZAB

9

แม้ว่าสภาพแวดล้อม GUI บนเดสก์ท็อปเต็มรูปแบบไม่ได้รับการสนับสนุนอย่างเป็นทางการจาก Microsoft แต่ก็สามารถใช้งานได้

เปิดหรือปิดคุณสมบัติ Windows
เปิดใช้งานระบบย่อย Windows สำหรับ Linux
รีสตาร์ทคอมพิวเตอร์
เปิดตัว Microsoft Store
ค้นหา Ubuntu
เลือก Ubuntu 18.04 ภายใต้แอพ
คลิก Get
Launch Ubuntu และรอการติดตั้ง
ตั้งชื่อผู้ใช้และรหัสผ่าน

เรียกใช้คำสั่งต่อไปนี้:

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

คุณจะต้องมีบัญชีที่สองใน Ubuntu

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

1
นี่มันใช้งานได้ดี ฉันใช้อูบุนตู 16 ฉันไม่ได้มีรูปลักษณ์ GUI ของอูบุนตูอูบุนตู Xorg ไม่สามารถใช้ได้ในรายการ
xrdp

ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ - "การเข้าสู่ระบบล้มเหลวสำหรับการแสดง 0" คิด? ทำไม xrdp จะไม่อนุญาตให้ฉันเข้าสู่ระบบ?
J-Dizzle

2

เนื่องจากคุณต้องการให้มันง่าย ... มีเป็น app ในไมโครซอฟท์สโตร์เรียกว่าx410 เป็นพื้นเซิร์ฟเวอร์ Cygwin X11 โดยไม่ต้องใช้ Cygwin เอง หลังจากการผ่อนชำระ - นั่นคือการตั้งค่าเป็นศูนย์ - คุณสามารถเรียกใช้แอพ WSL X11 ได้! (หรือแม้แต่เดสก์ท็อปทั้งหมด) คุณอาจต้องการแทรกบรรทัดต่อไปนี้ลงใน. bashrc ของคุณ (จากบัญชีผู้ใช้ WSL ของคุณ) เพื่อให้คุณสามารถเรียกใช้แอพจากเครื่องทุบตี

### 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

ฉันซื้อ x410 ใน salve ประมาณ 5euro's .. ดังนั้นถ้ามากเกินไปอาจรอขาย!


2

หากคุณต้องการได้อย่างง่ายดายปิดการแก้ปัญหาการเก็บรักษาให้ใช้MobaXterm มันเป็นเทอร์มินัลอีมูเลเตอร์ที่ทำงานได้หลายขนาดพร้อมการรองรับโดยตรงสำหรับ WSL และมีเซิร์ฟเวอร์ X ที่ปรับให้เหมาะสมในตัว ฉันใช้ synaptic ตลอดเวลาบน Moba แม้แต่ RStudio


1

ฉันเลือกคำตอบของ Panther ไม่เพียงเพราะมันเท่านั้น แต่ยังเป็นเพราะมันเป็นคำตอบที่ถูกต้อง ไม่มีวิธีที่ไม่ยุ่งยาก (ตรงไปตรงมา) เพื่อให้แอป gui ทำงาน

นอกจากนี้ฉันใช้บทช่วยสอนนี้โดยมีการเปลี่ยนแปลงเล็กน้อย:

  1. ฉันไม่ได้ติดตั้งxfceเพราะฉันไม่รู้ว่าทำไมฉันต้องใช้เดสก์ท็อป
  2. เลือกMultiple WindowsในXLaunch(ไม่มี DE จึงไม่จำเป็นต้องมีหน้าต่างบานใหญ่หนึ่งบาน)
  3. ไม่จำเป็นต้องแก้ไข mkdir และไม่จำเป็นต้องมีเทอร์มินัลแยกต่างหาก

ฉันติดตั้งแอพ gui อะไร เฉพาะ Synaptic และ CMake เนื่องจากฉันไม่สามารถคิดถึงสิ่งอื่นได้ฉันต้องการ wsl

ฉันไม่ได้ทำ VM / Dual Boot ด้วยเหตุผลเดียวกันกับที่ Panther ชี้ให้เห็น; ฉันต้องการสภาพแวดล้อม dev (สำหรับฉัน) ที่สะดวกสบายไม่ใช่ OS แบบเต็ม


vagrantup.com/docs/other/wsl.html - vagrant เป็นเครื่องมือที่ยอดเยี่ยมในการหมุนสภาพแวดล้อม dev อย่างรวดเร็ว ดูเหมือนว่ารองรับ wsl แม้ว่าฉันยังไม่ได้ลอง
TamusJRoyce

1

จากการวิจัยของฉัน wsl ไม่ได้ออกแบบมาสำหรับผู้ใช้ GUI อย่างไรก็ตามเราสามารถติดตั้งX-serverจากบุคคลที่สามเพื่อแสดง GUI ฉันได้ทดสอบว่าVcXsrvพร้อมการตั้งค่าที่เหมาะสมบางอย่างสามารถใช้ในการแสดง Debian Linux-desktop

ฉันคิดว่าวิธีการของฉันทำงานได้อย่างราบรื่นเพื่อแสดงคู่เดสก์ท็อป (GUI) บนระบบย่อย windows Linux Debian ฉันได้ทำวิดีโอเกี่ยวกับวิธีการติดตั้งและแสดงคู่เดสก์ท็อป (GUI)บน wsl Debian ตั้งแต่เริ่มต้น ลิงก์: https://youtu.be/QjogEWudpaM

การติดตั้ง mate-desktop บนUbuntuนั้นแตกต่างกันเล็กน้อย

ขั้นตอนที่ 1 : ติดตั้ง wsl

  • เปิด PowerShell ในฐานะผู้ดูแลระบบและพิมพ์Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • ติดตั้ง "Debian" หรือ "Ubuntu" จากร้านค้าของ Microsoft

ขั้นตอนที่ 2 : ติดตั้งส่วนต่อประสานกราฟิกกับผู้ใช้เช่นเดสก์ท็อปคู่ครอง

สำหรับผู้ใช้Debian :

  • เปิดคอนโซล Linux ใน windows 10 และติดตั้งคู่เดสก์ท็อปโดยพิมพ์: sudo apt-get updateกด Enter
  • หลังจากอัพเดตเสร็จแล้วให้พิมพ์sudo apt install task-mate-desktopกด Enter

หรือสำหรับผู้ใช้Ubuntu :

  • เปิดคอนโซล Ubuntu จาก windows 10
  • พิมพ์sudo apt install taskselกด Enter
  • พิมพ์sudo apt updateกด Enter
  • พิมพ์sudo tasksel install ubuntu-mate-desktopกด Enter

ขั้นตอนที่ 3 : ติดตั้งเซิร์ฟเวอร์ X ใน windows 10 ฉันใช้เซิร์ฟเวอร์โอเพนซอร์สที่เรียกว่า VcXsrv ก็สามารถดาวน์โหลดได้จากhttps://sourceforge.net/projects/vcxsrv/
เมื่อการติดตั้งเสร็จสมบูรณ์:

  • เปิด XLauch ใน windows 10

  • ทำการตั้งค่าต่อไปนี้:

    • เลือก: "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สำหรับผู้ใช้Debian

  • พิมพ์mate-sessionหรือlightdm-sessionสำหรับผู้ใช้Ubuntu

หากคุณได้รับสับสนเกี่ยวกับคำอธิบายของฉันคุณสามารถตรวจสอบวิดีโอ YouTube ของฉันติดตั้ง GUI (คู่สก์ท็อป) เพื่อ Microsoft Windows ระบบย่อยลินุกซ์


-1

โดยปกติแล้วโฮสต์ของแขก VirtualBox สามารถติดต่อได้ที่ 10.0.2.2

ตอนนี้คุณสามารถโปรแกรม WSL X บนเดสก์ท็อป Fedora ของคุณได้แม้กระทั่งกับ Windows ที่ราบรื่น


ตอนนี้มันน่าสนใจ ฉันไม่ใช่แฟนตัวยงของ fedora ตัวใหญ่ สามารถทำสิ่งเดียวกันกับ Arch ได้หรือไม่
George Hovhannisian

เดาสิ X server สามารถเข้าถึงได้ใน Fedora ผ่าน ssh โดยค่าเริ่มต้นคุณอาจต้องเปลี่ยนการตั้งค่า sshd ใน Arch
weberjn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.