Rozejrzałem się i obecnie proponowane są dwie metody; instalowanie rozszerzenia dla podsystemu Windows dla systemu Linux i instalowanie serwera XServer.
Chcę wiedzieć, która metoda jest najbardziej bezproblemowa (łatwa w instalacji ORAZ w użyciu), a która jest mniej obciążająca pamięć.
Chcę tylko Synaptic i CMake. Dlaczego nie może to być wbudowana funkcja?
gui
windows-subsystem-for-linux
George Hovhannisian
źródło
źródło
Odpowiedzi:
Krótka odpowiedź brzmi: nie możesz, ponieważ WSL nie obsługuje jeszcze tej funkcji. WSL nie jest pełną instalacją Linuksa z jądrem Linuksa, pozwala na uruchomienie niektórych natywnych poleceń / plików binarnych Linux na jądrze systemu Windows (Microsoft) i ma ograniczenia.
Zobacz https://github.com/Microsoft/WSL/issues/2356
Możesz jednak zainstalować serwer X innej firmy, taki jak xming i ssh w swoim WSL.
https://virtualizationreview.com/articles/2017/02/08/graphical-programs-on-windows-subsystem-on-linux.aspx
Nie skopiowałem tego samouczka, ponieważ jest dość wszechobecny (X przez ssh) i spodziewałbym się, że niektóre aplikacje po prostu nie będą działać nawet z tą techniką.
źródło
DISPLAY
i jesteś gotowy do pracy (w każdym razie xming i VcXsrv).VcXsrv
Wybrałem użycie
VcXsrv
w WSL (Windows 10 Subsystem for Linux). Polecam wszystkim, aby przeszukali międzyxming
(zaakceptowaną odpowiedzią) a VcXsrv przed wybraniem jednego lub drugiego do obsługi graficznego interfejsu użytkownika (GUI) w systemie Windows 10 Ubuntu 16.04.Instalacja
Instalacja jest prosta. Od 17 marca 2019 r. Możesz po prostu zaakceptować wartości domyślne. Jeśli chcesz dzwonić
gedit
z poziomu Bash Shell / Terminal, musisz edytować~/.bashrc
i wstawić ten wiersz:Co możesz zrobić po zainstalowaniu VcXsrv?
Byłem w stanie uruchomić:
... aby zainstalować oprogramowanie graficzne GUI. To pozwoliło mi na uruchomienie
gedit
inautilus
. Byłem także w stanie zainstalować określone aplikacje GUI za pomocą interfejsu wiersza polecenia (CLI) za pomocą poleceńapt
lubapt-get
.Kiedy chcę spróbować wielu moich skryptów bash Ubuntu wewnątrz WSL VcXsrv musi być zainstalowany tak
zenity
iyad
okna dialogowe x-okna są wyświetlane dla danych wejściowych użytkownika.Jak zauważyli inni, GUI w WSL nie jest doskonały i możesz spodziewać się poświęcenia czasu na rozwiązywanie niektórych problemów. Również niektóre oprogramowanie GUI po prostu nie działa w WSL.
Uwagi do konfiguracji
Zmodyfikowałem,
/etc/environment
aby dostosować rozwijane menu GUI:/mnt/e/bin
jest nietypową ścieżką, ponieważ tam przechowuję skrypty używane zarówno podczas podwójnego rozruchu systemu Windows 10 WSL, jak i podwójnego rozruchu Ubuntu 16.04. Większość użytkowników nie umieściłaby tego na swoim komputerze.źródło
gedit
co znam z doświadczenia Ubuntu Desktop. Również wiele moich skryptów bash używazenity
lubyad
dla okien dialogowych X-Windows. Te skrypty bash nie będą działać, chyba żeVcXsrv
zostaną zainstalowane.export DISPLAY=:0
. Teraz mogę uruchomićxhost
,xeyes
agnuplot
w Ubuntu (pod warunkiem, programy te są już zainstalowane w Ubuntu WSL).export LIBGL_ALWAYS_INDIRECT=1
a także uzyskujesz przyspieszenie sprzętowe w aplikacjach GL przez X za pomocą VcXsrvMam bardzo pozytywne doświadczenia z VcXsrv na Win 10 Bash na Ubuntu w systemie Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). Nie skupiałem się na uruchamianiu pulpitu Unity, ponieważ jest on bezużyteczny i pochłania zasoby. Po prostu uruchomiłem aplikacje z bash w trybie GUI z pulpitu Windows10 przy użyciu XServer.
Zainstaluj VcXsrv stąd na Sourceforge
Uruchom aplikację VcXsrv bezpośrednio, nie uruchamiaj XLauncha. Powinieneś zobaczyć
localhost:0.0 - 0 clients
po najechaniu kursorem na ikonę na pasku zadań Win10Otwórz Ubuntu Bash:
(wyniki w localhost @ localhost: / mnt $)
(localhost @ localhost: / $ oznacza, że te polecenia prowadzą do początku dysku twardego, o ile WSL może zobaczyć ...)
(zainstaluje to „dbus”, aby utworzyć wirtualny łącznik dla GUI, „Synaptic Package Manager” i eksploratora plików „Nautilus” dla unity-desktop
(Gdy
session.conf
otwiera się w edytorze vi)Naciśnij, iaby przejść do trybu wstawiania i dodać
niż dodaj:
Naciśnij klawisz ESC po
:wq
zakończeniu edycji pliku i zapisania pliku.Uruchom te polecenia i sprawdź ich dane wyjściowe:
Gotowe! Teraz wystarczy uruchomić synaptic, nautilus lub firefox z Bash i powinny się załadować na pulpicie Win10. Takie opcje GUI są wadliwe, ale działają. Można zainstalować
ubuntu-desktop
,unity
,ccsm
,compiz
i spróbuj uruchomić Unity Desktop dla Ubuntu . Nie próbowałem ustawiać „Steam”, ponieważ wciąż mam ochotę uruchomić „Unreal”, powodzenia :)Jeśli ktoś wie, jak uruchomić
gnome-terminal
XServer zamiast XTerm, udostępnij ...PS
Możesz dodać VcXsrv jako bootowalny Win10
Aby zmaksymalizować źródła za pomocą „Steam”, jak określono w oryginalnym poście, dostroić trochę system Windows do zarządzania pakietami sieciowymi (w celu zmniejszenia opóźnień) i priorytetyzacji procesora / GPU, aby Win10XBox… :)
Chociaż uruchomisz „Steam” pod „Unixem”, to nadal jest to „Windows”, co pozwala na uruchomienie „Steam” na „Unixie”…
Tcp Prep :;
W regedit:
Tutaj musisz przejść przez listę podkluczy, aby znaleźć pozycję karty sieciowej używanej do łączenia się z Internetem. Jeśli używasz DHCP, musisz poszukać
DhcpIPAdddress
wpisu (z wartościami danych systemowych NIE:0.0.0.0
), aby znaleźć odpowiedni adapter.Po znalezieniu prawidłowego klucza kliknij go prawym przyciskiem myszy i wybierz opcję Nowy> Wartość Dword (32-bit) .
Nazwij go TcpFrequency i kliknij ok.
Następnie kliknij dwukrotnie wartość i ustaw wartość dziesiętną na 1. (Aby przywrócić ustawienie domyślne, zmień wartość na 2 lub usuń klucz) Teraz przejdź do następującego klucza:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ
Ponownie kliknij prawym przyciskiem myszy i wybierz Nowy> Wartość słowa (32-bit) .
Nazwij nowy parametr TcpDelay
Kliknij dwukrotnie później i zmień jego wartość dziesiętną na 1. (Aby przywrócić klucz w późniejszym czasie, zmień go na 0 lub usuń klucz)
Algorytm Nagle'a
Algorytm Nagle łączy kilka małych pakietów w jeden, większy pakiet w celu wydajniejszej transmisji. Ma to na celu poprawę wydajności transmisji danych. Wyłączenie „dokuczliwego” może pomóc w zmniejszeniu opóźnień / pingów w niektórych grach. Algorytm Nagle jest domyślnie włączony w systemie Windows. Aby wdrożyć tę poprawkę, zmodyfikuj następujące klucze rejestru.
W tym
{NIC-id}
celu poszukaj adresu z podanym adresem IP; pod tym{NIC-id}
kluczem utwórz następującą wartość DWORD:Uwaga:
Indeks dławienia sieci
Windows implementuje mechanizm ograniczania przepustowości sieci, idea takiego ograniczania polega na tym, że przetwarzanie pakietów sieciowych może być zadaniem wymagającym dużych zasobów. Korzystne jest wyłączenie takiego dławienia w celu osiągnięcia maksymalnej przepustowości.
Aby wdrożyć tę poprawkę, uruchom regedit i zmodyfikuj rejestr
W SystemProfile utwórz wartość DWORD i nadaj jej nazwę NetworkThrottlingIndex, a następnie ustaw jej wartość szesnastkową na ffffffff dla gier i maksymalnej przepustowości: ffffffff całkowicie wyłącza ograniczanie przepustowości.
System Gaming Responsivity (Nie jestem tego pewien :)
Streaming multimediów i niektóre gry korzystające z usługi „Multimedialny program planujący” (MMCSS) mogą wykorzystywać tylko do 80% procesora. Usługa „Multimedia Class Scheduler” (MMCSS) zapewnia priorytetowy dostęp do zasobów procesora, bez odmawiania zasobów procesora aplikacjom działającym w tle o niższym priorytecie.
Aby wdrożyć tę poprawkę, uruchom polecenie regedit i zmodyfikuj klucz rejestru
Następnie stwórz nowy DWORD i nazwij go SystemResponsiveness, ustaw jego wartość dziesiętną na 00000000 dla czystego grania / streamingu.
W tej samej gałęzi rejestru, co powyższa poprawka, możesz także zmienić priorytet gier. Aby wdrożyć tę poprawkę, przejdź do
i zmień następujące wartości rejestru:
Wszystkie okrzyki za „nieznane” (przepraszam, minęło trochę czasu, odkąd skopiowałem twoje wskazówki) autor tego systemu Windows = modyfikacja Xbox ...
PPS: Jeśli XServer nie powiedzie się, co chcesz zrobić, spróbuj znaleźć obejście z Dockerem.
źródło
<auth>allow_anonymous</auth>
na<auth>ANONYMOUS</auth>
, wtedyservice dbus restart
ignome-terminal
powinno działaćChociaż pełne środowisko graficzne GUI nie jest „oficjalnie” obsługiwane przez Microsoft, może działać.
Włącz lub wyłącz funkcje systemu Windows
Włącz podsystem Windows w systemie Linux
Uruchom ponownie komputer
Uruchom Microsoft Store
Wyszukaj Ubuntu
Wybierz Ubuntu 18.04 w obszarze Aplikacje
Kliknij Pobierz
Uruchom Ubuntu i poczekaj na instalację
Ustaw nazwę użytkownika i hasło
Uruchom następujące polecenia:
Utwórz i zmodyfikuj .xsession
Dodaj tekst:
Zapisz i wyjdź vi
Będziesz potrzebował drugiego konta na Ubuntu
Zmodyfikuj startwm.sh
Skomentuj dwie ostatnie linie
Dodaj tekst:
Zapisz i wyjdź vi
W systemie Windows uruchom ponownie Ubuntu i uruchom:
W systemie Windows uruchom mstsc.exe
Komputer: 127.0.0.1:3390
Pozostaw nazwę użytkownika pustą
Połącz
Sesja:
nazwa użytkownika Xorg :
hasło zdalne : hasło
Ciesz się xfce!
Po zakończeniu zamknij połączenie pulpitu zdalnego
Wróć do wiersza poleceń Ubuntu
źródło
Ponieważ chcesz, żeby było to łatwe ... W sklepie Microsoft Store jest aplikacja o nazwie x410 . Jest to w zasadzie serwer Cygwin X11 bez użycia samego Cygwin. Po instalacji - czyli zerowej konfiguracji - możesz uruchomić aplikacje WSL X11! (lub nawet całe komputery stacjonarne). Możesz wstawić następujące wiersze do pliku .bashrc (z konta użytkownika WSL), aby móc uruchamiać aplikacje z terminala bash.
Kupiłem x410 na maści za około 5 euro. Więc jeśli to za dużo, może poczekaj na wyprzedaż!
źródło
Jeśli chcesz mieć gotowe rozwiązanie z półki, użyj MobaXTerm . Jest to świetny, wielozakładowy emulator terminala z bezpośrednim wsparciem dla WSL i ma wbudowany zoptymalizowany serwer X. Używam synaptic cały czas na Moba. Nawet RStudio.
źródło
Wybrałem odpowiedź Pantery nie tylko dlatego, że jest jedyna, ale także dlatego, że jest poprawna; nie ma łatwego (prostego) sposobu na uruchomienie aplikacji GUI.
Użyłem tego samouczka z kilkoma zmianami:
xfce
, bo nie wiem, dlaczego potrzebuję komputera stacjonarnego.Multiple Windows
wXLaunch
(nr DE, stąd nie ma potrzeby jednego olbrzymiego okna)Jakie aplikacje GUI zainstalowałem? Tylko Synaptic i CMake, ponieważ tak naprawdę nie mogę wymyślić niczego innego, czego potrzebowałbym na WSL.
Nie robię VM / Dual Boot z tego samego powodu, na który wskazała Panther; Potrzebuję wygodnego (dla mnie) środowiska programistycznego, a nie pełnego systemu operacyjnego.
źródło
Na podstawie moich badań, wsl pierwotnie nie został zaprojektowany dla użytkowników GUI. Możemy jednak zainstalować serwer X od strony trzeciej, aby wyświetlić GUI. Przetestowałem, że VcXsrv z odpowiednią konfiguracją może być używany do wyświetlania pulpitu Debiana na Linuksie.
Myślę, że moje podejście działa płynnie, aby wyświetlać mate-desktop (GUI) w podsystemie Windows Linux Debian. Zrobiłem wideo na temat instalacji i wyświetlania mate-desktop (GUI) na wsl Debianie od zera. Link: https://youtu.be/QjogEWudpaM
Instalacja mate-desktop na Ubuntu jest nieco inna.
Krok 1 : Zainstaluj WSL
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Krok 2 : zainstaluj graficzny interfejs użytkownika, taki jak komputer stacjonarny.
Dla użytkownika Debiana :
sudo apt-get update
naciśnij Enter.sudo apt install task-mate-desktop
, naciśnij Enter.LUB dla użytkownika Ubuntu :
sudo apt install tasksel
, naciśnij Entersudo apt update
, naciśnij Entersudo tasksel install ubuntu-mate-desktop
, naciśnij EnterKrok 3 : Zainstaluj serwer X w systemie Windows 10. Użyłem serwera typu open source o nazwie VcXsrv. Można go pobrać ze strony https://sourceforge.net/projects/vcxsrv/ .
Po zakończeniu instalacji:
otwórz XLauch w Windows 10
wykonaj następujące ustawienia:
"One large window"
Display number: 0
next
Start no client
next
finish
Krok 4 : Konfiguracja w konsoli Linux:
rodzaj
export DISPLAY=:0
wpisz
export LIBGL_ALWAYS_INDIRECT=1
(może to polecenie nie jest wymagane)Krok 5 : Wyświetl GUI mate-desktop:
wpisz
mate-session
dla użytkownika Debianawpisz
mate-session
lublightdm-session
dla użytkownika UbuntuJeśli masz wątpliwości co do mojego opisu, możesz sprawdzić moje filmy na YouTube. Zainstaluj GUI (komputer stacjonarny) na podsystemie Microsoft Windows Linux .
źródło
sudo service ssh start
ssh -Y 10.0.2.2
Zwykle do hosta gościa VirtualBox można dotrzeć pod adresem 10.0.2.2
Teraz możesz dowolne programy WSL X na pulpicie Fedory, nawet z płynnym systemem Windows.
źródło