What's the easiest way to run GUI apps on WSL as of 2018?












44















I searched around, and currently there are two methods suggested; installing an enhancement for WSL and installing an XServer.



I want to know which method is the most hassle-free (easy to install AND to use), and which one is less memory-heavy.



I just want Synaptic and CMake. Why couldn't that be a builtin feature?










share|improve this question

























  • Doesn't steam run natively in Windows? Similarily, CMake also has an installer for windows. Installing these into your system may be much easier than trying to get an XServer in WLS in windows.

    – Charles Green
    Jan 7 '18 at 14:18











  • Steam was a joke. CMake on windows is not a solution, it's a workaround. Synaptic doesn't have windows port, does it? I have no idea how it would work if it did.

    – George Hovhannisian
    Jan 7 '18 at 15:07






  • 1





    My personal feeling is that WSL is a joke! Why not simply load up a VM?

    – Charles Green
    Jan 7 '18 at 15:09






  • 1





    @CharlesGreen memory... I'm currently on a pretty old laptop.

    – George Hovhannisian
    Jan 7 '18 at 15:12






  • 1





    @CharlesGreen VirtualBox?

    – George Hovhannisian
    Jan 7 '18 at 15:20
















44















I searched around, and currently there are two methods suggested; installing an enhancement for WSL and installing an XServer.



I want to know which method is the most hassle-free (easy to install AND to use), and which one is less memory-heavy.



I just want Synaptic and CMake. Why couldn't that be a builtin feature?










share|improve this question

























  • Doesn't steam run natively in Windows? Similarily, CMake also has an installer for windows. Installing these into your system may be much easier than trying to get an XServer in WLS in windows.

    – Charles Green
    Jan 7 '18 at 14:18











  • Steam was a joke. CMake on windows is not a solution, it's a workaround. Synaptic doesn't have windows port, does it? I have no idea how it would work if it did.

    – George Hovhannisian
    Jan 7 '18 at 15:07






  • 1





    My personal feeling is that WSL is a joke! Why not simply load up a VM?

    – Charles Green
    Jan 7 '18 at 15:09






  • 1





    @CharlesGreen memory... I'm currently on a pretty old laptop.

    – George Hovhannisian
    Jan 7 '18 at 15:12






  • 1





    @CharlesGreen VirtualBox?

    – George Hovhannisian
    Jan 7 '18 at 15:20














44












44








44


23






I searched around, and currently there are two methods suggested; installing an enhancement for WSL and installing an XServer.



I want to know which method is the most hassle-free (easy to install AND to use), and which one is less memory-heavy.



I just want Synaptic and CMake. Why couldn't that be a builtin feature?










share|improve this question
















I searched around, and currently there are two methods suggested; installing an enhancement for WSL and installing an XServer.



I want to know which method is the most hassle-free (easy to install AND to use), and which one is less memory-heavy.



I just want Synaptic and CMake. Why couldn't that be a builtin feature?







gui windows-subsystem-for-linux






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jun 6 '18 at 19:19









Community

1




1










asked Jan 7 '18 at 13:10









George HovhannisianGeorge Hovhannisian

344136




344136













  • Doesn't steam run natively in Windows? Similarily, CMake also has an installer for windows. Installing these into your system may be much easier than trying to get an XServer in WLS in windows.

    – Charles Green
    Jan 7 '18 at 14:18











  • Steam was a joke. CMake on windows is not a solution, it's a workaround. Synaptic doesn't have windows port, does it? I have no idea how it would work if it did.

    – George Hovhannisian
    Jan 7 '18 at 15:07






  • 1





    My personal feeling is that WSL is a joke! Why not simply load up a VM?

    – Charles Green
    Jan 7 '18 at 15:09






  • 1





    @CharlesGreen memory... I'm currently on a pretty old laptop.

    – George Hovhannisian
    Jan 7 '18 at 15:12






  • 1





    @CharlesGreen VirtualBox?

    – George Hovhannisian
    Jan 7 '18 at 15:20



















  • Doesn't steam run natively in Windows? Similarily, CMake also has an installer for windows. Installing these into your system may be much easier than trying to get an XServer in WLS in windows.

    – Charles Green
    Jan 7 '18 at 14:18











  • Steam was a joke. CMake on windows is not a solution, it's a workaround. Synaptic doesn't have windows port, does it? I have no idea how it would work if it did.

    – George Hovhannisian
    Jan 7 '18 at 15:07






  • 1





    My personal feeling is that WSL is a joke! Why not simply load up a VM?

    – Charles Green
    Jan 7 '18 at 15:09






  • 1





    @CharlesGreen memory... I'm currently on a pretty old laptop.

    – George Hovhannisian
    Jan 7 '18 at 15:12






  • 1





    @CharlesGreen VirtualBox?

    – George Hovhannisian
    Jan 7 '18 at 15:20

















Doesn't steam run natively in Windows? Similarily, CMake also has an installer for windows. Installing these into your system may be much easier than trying to get an XServer in WLS in windows.

– Charles Green
Jan 7 '18 at 14:18





Doesn't steam run natively in Windows? Similarily, CMake also has an installer for windows. Installing these into your system may be much easier than trying to get an XServer in WLS in windows.

– Charles Green
Jan 7 '18 at 14:18













Steam was a joke. CMake on windows is not a solution, it's a workaround. Synaptic doesn't have windows port, does it? I have no idea how it would work if it did.

– George Hovhannisian
Jan 7 '18 at 15:07





Steam was a joke. CMake on windows is not a solution, it's a workaround. Synaptic doesn't have windows port, does it? I have no idea how it would work if it did.

– George Hovhannisian
Jan 7 '18 at 15:07




1




1





My personal feeling is that WSL is a joke! Why not simply load up a VM?

– Charles Green
Jan 7 '18 at 15:09





My personal feeling is that WSL is a joke! Why not simply load up a VM?

– Charles Green
Jan 7 '18 at 15:09




1




1





@CharlesGreen memory... I'm currently on a pretty old laptop.

– George Hovhannisian
Jan 7 '18 at 15:12





@CharlesGreen memory... I'm currently on a pretty old laptop.

– George Hovhannisian
Jan 7 '18 at 15:12




1




1





@CharlesGreen VirtualBox?

– George Hovhannisian
Jan 7 '18 at 15:20





@CharlesGreen VirtualBox?

– George Hovhannisian
Jan 7 '18 at 15:20










8 Answers
8






active

oldest

votes


















17














The short answer is you can not as WSL does not yet support this function. WSL is not a full Linux installation with a Linux kernel, it allows you to run some native linux commands / binaries on a Windows (Microsoft) kernel and has limitations.



See https://github.com/Microsoft/WSL/issues/2356



You can, however, install a 3rd party X server, such as xming, and ssh into your WSL.



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



I did not copy that tutorial here as it is fairly ubiquitous (X over ssh) and I would expect some apps simply will not work even with this technique.






share|improve this answer


























  • So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

    – George Hovhannisian
    Jan 7 '18 at 15:09






  • 1





    Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

    – Rinzwind
    Jan 7 '18 at 15:25











  • @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

    – Panther
    Jan 7 '18 at 17:05






  • 4





    Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

    – dma1324
    Apr 18 '18 at 22:36






  • 1





    I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

    – decuser
    Nov 13 '18 at 17:42



















33














VcXsrv



I chose to use VcXsrv in WSL (Windows 10 Subsystem for Linux). I recommend everyone do their research between xming (the accepted answer) and VcXsrv before selecting one or the other for Graphical User Interface (GUI) support in Windows 10 Ubuntu 16.04.



What can you do after VcXsrv is installed?



I was able to run:



sudo apt install ubuntu-desktop
sudo apt install xubuntu-desktop


... to install GUI desktop software. This then allowed me to run gedit and nautilus. Also I was then able to install specific GUI applications through the CLI (Command Line Interface) using apt or apt-get commands.



When I want to try many of my Ubuntu bash scripts within WSL VcXsrv must be installed so zenity and yad x-windows dialog boxes are displayed for user input.



As others have noted GUI within WSL is not perfect and you can expect to spend time problem-solving some issues. Also some GUI software simply won't work in WSL.






share|improve this answer


























  • Can you, please, tell me about the advantages of running a DE in WSL?

    – George Hovhannisian
    Jan 7 '18 at 20:46











  • @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

    – WinEunuuchs2Unix
    Feb 11 '18 at 16:18






  • 3





    +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

    – dessert
    Feb 17 '18 at 12:55






  • 4





    This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

    – Daniel K.
    Mar 20 '18 at 8:00











  • VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

    – bd1251252
    Nov 13 '18 at 2:24



















14














I've had a very positive experience with VcXsrv on Win 10 Bash on Ubuntu on Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). I did not focus on running Unity desktop as it is useless and resource consuming. I just simply ran apps from bash in GUI mode from Windows10 desktop using XServer.




  1. Install VcXsrv from here on Sourceforge


  2. Run the VcXsrv app directly, do not launch XLaunch. You should see localhost:0.0 - 0 clients when you hover over the icon on Win10 Taskbar



  3. Open Ubuntu Bash:



    cd /mnt


    (results in localhost@localhost:/mnt$)



    cd .. 


    (localhost@localhost:/$ meaning this commands brings you to the beginning of the hard-drive as far as WSL can see...)



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


    (this will install "dbus" to create virtual connector for GUI, "Synaptic Package Manager" and "Nautilus" file explorer for unity-desktop



    cd /usr/share/dbus-1 && sudo vi session.conf


    (When session.conf opens in vi editor)



    Press i to enter insert mode and add



    <!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules


    than add:



    <listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
    <auth>EXTERNAL</auth>
    <auth>DBUS_COOKIE_SHA1</auth>
    <auth>allow_anonymous</auth>


    Press ESC when you are done editing file and :wq to save the file.



    Run these commands and check their output:



    $ export DISPLAY=localhost:0
    $ sudo service dbus start
    * Starting system message bus dbus [OK]
    $ echo $DISPLAY
    localhost:0


  4. You are done! Now just run synaptic, nautilus or firefox from Bash and they should load on Win10 desktop. GUI options like this are buggy but operational. You can install ubuntu-desktop, unity, ccsm, compiz and try to run Unity Desktop for Ubuntu. I did not try to set the "Steam" because I am still suffering rrying to run "Unreal", Good luck :)



If someone knows how to run gnome-terminal on XServer instead of XTerm please share...



P.S

You can add VcXsrv as a Win10 bootable



To max your sources with "Steam" as specified in original post, tune your Windows a little for network package management (to lower latency) and CPU/GPU prioritization to make a Win10XBox… :)



Although you will run "Steam" under "Unix" the shell is still "Windows" which allows you to launch "Steam" on "Unix" …



Tcp Prep:;



In regedit:



 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces


Here you need to go through the list of sub-keys to locate the network adapter entry that is used to connect to the Internet. If you are using DHCP, you need to look for DhcpIPAdddress entry (with system data values NOT :0.0.0.0) to find the correct adapter.



Once you have located the correct key right-click it and select New > Dword (32-bit) Value.



Name it TcpFrequency and click ok.



Double-click the value afterwards and set its Decimal value to 1. (To restore the default setting, change the value to 2 or delete the key)
Now navigate to the following key: HKEY_LOCAL_MACHINESoftwareMicrosoftMSMQ



Right-click on the key again and select New > Dword (32-bit) Value.



Name the new parameter TcpDelay



Double-click it afterwards and change its Decimal value to 1. (To restore the key at a later point in time change it to 0 or delete the key)



Nagle’s Algorithm



Nagle’s algorithm combines several small packets into a single, larger packet for more efficient transmissions. This is designed to improve throughput efficiency of data transmission. Disabling “nagling” can help reduce latency/ping in some games. Nagle’s algorithm is enabled in Windows by default.
To implement this tweak, modify the following registry keys.



HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}


For the {NIC-id}, look for the one with your IP address listed; under this {NIC-id} key create following DWORD value:




  • TcpFrequency and set it to 1 to disable “nagling” for gaming.

  • TCPDelay and set it also to 1 to disable “nagling”

  • TcpTicks and set it to 0


Note:




Some reports say that the tweaks did reduce latency when playing Dota 2 and League of Legends but it doesn’t work for some. I have tried it and my latency improved from 110 to 90ms (SEA Server) when playing Dota 2.




Network Throttling Index



Windows implements a network throttling mechanism, the idea behind such throttling is that processing of network packets can be a resource-intensive task. It is beneficial to turn off such throttling for achieving maximum throughput.



To implement this tweak, run regedit and modify the registry



HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


Under SystemProfile, create a DWORD value and name it to NetworkThrottlingIndex then set its Hexadecimal value to ffffffff for gaming and max throughput: ffffffff completely disables throttling.





System Gaming Responsiveness (Not so sure about this one :)



Multimedia streaming and some games that uses “Multimedia Class Scheduler” service (MMCSS) can only utilize up to 80% of the CPU. The “Multimedia Class Scheduler” service (MMCSS) ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications.



To implement this tweak, run regedit and modify the registry key



HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


From there, create a new DWORD and name it to SystemResponsiveness set its decimal value to 00000000 for pure gaming/streaming.



In the same Registry hive as the above tweak, you can also change the priority of Games. To implement this tweak, go to



HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasksGames


and change the following registry values:




  • “GPU Priority” change its values to 8 for gaming.

  • “Priority” set to 1 for gaming.


All cheers for "unknown" (pardon me was a while since I copied your directions) author of this Windows=Xbox tweak...



PPS: If XServer fails on what you would like to do try to find the workaround with Docker.




  • WSL_Apache_Roolez

  • Throttling_a_'mm'_:0

  • You've Got Mail!!!






share|improve this answer


























  • 6-5-7; :5-6-7...

    – tenedas
    Feb 27 '18 at 1:05











  • Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

    – George Hovhannisian
    Jun 6 '18 at 19:26













  • I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

    – MikeW
    Dec 14 '18 at 10:07





















5














Even though a full GUI desktop environment is not ‘officially’ supported by Microsoft, it can work.



Turn Windows features on or off

Enable Windows Subsystem for Linux

Restart Computer

Launch Microsoft Store

Search for Ubuntu

Select Ubuntu 18.04 under Apps

Click Get

Launch Ubuntu and wait for install

Set username and password



Run the following Commands:



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


Create and modify .xsession



cd /home/user/
sudo vim .xsession


Add text:



gnome-session --session=ubuntu-2d


Save and exit vi



sudo chmod 755 .xsession
sudo systemctl enable xrdp


You will need a second account on Ubuntu



sudo adduser remote
sudo usermod -aG sudo remote


Modify startwm.sh



cd /etc/xrdp
sudo chmod 777 startwm.sh
vim startwm.sh


Comment out the bottom two lines



#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession


Add text:



startxfce4


Save and exit vi



exit


In Windows, restart Ubuntu and run:



sudo /etc/init.d/xrdp start


In Windows run mstsc.exe

Computer: 127.0.0.1:3390

Leave username blank

Connect



Session: Xorg

username: remote

password: password



Enjoy xfce!



When done, close the remote desktop connection

Return to the Ubuntu command line



sudo /etc/init.d/xrdp stop
exit





share|improve this answer





















  • 1





    This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

    – TRiNE
    Sep 16 '18 at 5:16













  • I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

    – J-Dizzle
    Nov 23 '18 at 16:59





















2














Since you want it easy... There is an app in the Microsoft Store called x410. It's basically a Cygwin X11 server without the use of Cygwin itself. After installment - that is zero config - you can run WSL X11 Apps! (or even whole desktops). You might want to insert the following lines into your .bashrc (from your WSL user account) so you can run the apps from your bash terminal.



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


I bought x410 on salve for about 5euro's.. So if it's too much, perhaps wait for an sale!






share|improve this answer































    1














    I chose Panther's answer not only because it's the only, but also because it's the correct answer; there is no hassle-free (straightforward) way to get gui apps running.



    Also, I used this tutorial, with a few changes:




    1. I didn't install xfce, because I don't know why I would need a
      desktop.

    2. Chose Multiple Windows in XLaunch (No DE, hence no need for one
      giant window)

    3. No need for mkdir fix and no need for a separate terminal.


    What gui apps did I install? Only Synaptic and CMake, since I really can't think of anything else I would need on wsl.



    I don't do VM/Dual Boot, for the very same reason Panther pointed out; I need a convenient (to me) dev environment, not a full flex OS.






    share|improve this answer
























    • vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

      – TamusJRoyce
      Sep 6 '18 at 22:26



















    1














    If you want an effortless off the shelf solution, use MobaXTerm. It's a great, multitabbed terminal emulator with direct support for WSL, and has a built-in optimized X server. I use synaptic all the time on Moba. Even RStudio.






    share|improve this answer































      0
















      • install Fedora in VirtualBox on your Windows machine with NAT networking

      • in WSL sudo service ssh start

      • from Fedora run ssh -Y 10.0.2.2


      Usually the host of a VirtualBox guest can be reached at 10.0.2.2



      Now you can any WSL X program on your Fedora desktop, even with seamless Windows.






      share|improve this answer
























      • Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

        – George Hovhannisian
        Jun 6 '18 at 19:28











      • Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

        – weberjn
        Jun 7 '18 at 6:37











      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "89"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f993225%2fwhats-the-easiest-way-to-run-gui-apps-on-wsl-as-of-2018%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      8 Answers
      8






      active

      oldest

      votes








      8 Answers
      8






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      17














      The short answer is you can not as WSL does not yet support this function. WSL is not a full Linux installation with a Linux kernel, it allows you to run some native linux commands / binaries on a Windows (Microsoft) kernel and has limitations.



      See https://github.com/Microsoft/WSL/issues/2356



      You can, however, install a 3rd party X server, such as xming, and ssh into your WSL.



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



      I did not copy that tutorial here as it is fairly ubiquitous (X over ssh) and I would expect some apps simply will not work even with this technique.






      share|improve this answer


























      • So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

        – George Hovhannisian
        Jan 7 '18 at 15:09






      • 1





        Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

        – Rinzwind
        Jan 7 '18 at 15:25











      • @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

        – Panther
        Jan 7 '18 at 17:05






      • 4





        Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

        – dma1324
        Apr 18 '18 at 22:36






      • 1





        I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

        – decuser
        Nov 13 '18 at 17:42
















      17














      The short answer is you can not as WSL does not yet support this function. WSL is not a full Linux installation with a Linux kernel, it allows you to run some native linux commands / binaries on a Windows (Microsoft) kernel and has limitations.



      See https://github.com/Microsoft/WSL/issues/2356



      You can, however, install a 3rd party X server, such as xming, and ssh into your WSL.



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



      I did not copy that tutorial here as it is fairly ubiquitous (X over ssh) and I would expect some apps simply will not work even with this technique.






      share|improve this answer


























      • So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

        – George Hovhannisian
        Jan 7 '18 at 15:09






      • 1





        Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

        – Rinzwind
        Jan 7 '18 at 15:25











      • @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

        – Panther
        Jan 7 '18 at 17:05






      • 4





        Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

        – dma1324
        Apr 18 '18 at 22:36






      • 1





        I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

        – decuser
        Nov 13 '18 at 17:42














      17












      17








      17







      The short answer is you can not as WSL does not yet support this function. WSL is not a full Linux installation with a Linux kernel, it allows you to run some native linux commands / binaries on a Windows (Microsoft) kernel and has limitations.



      See https://github.com/Microsoft/WSL/issues/2356



      You can, however, install a 3rd party X server, such as xming, and ssh into your WSL.



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



      I did not copy that tutorial here as it is fairly ubiquitous (X over ssh) and I would expect some apps simply will not work even with this technique.






      share|improve this answer















      The short answer is you can not as WSL does not yet support this function. WSL is not a full Linux installation with a Linux kernel, it allows you to run some native linux commands / binaries on a Windows (Microsoft) kernel and has limitations.



      See https://github.com/Microsoft/WSL/issues/2356



      You can, however, install a 3rd party X server, such as xming, and ssh into your WSL.



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



      I did not copy that tutorial here as it is fairly ubiquitous (X over ssh) and I would expect some apps simply will not work even with this technique.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Jan 7 '18 at 14:39

























      answered Jan 7 '18 at 14:29









      PantherPanther

      78.7k14157259




      78.7k14157259













      • So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

        – George Hovhannisian
        Jan 7 '18 at 15:09






      • 1





        Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

        – Rinzwind
        Jan 7 '18 at 15:25











      • @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

        – Panther
        Jan 7 '18 at 17:05






      • 4





        Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

        – dma1324
        Apr 18 '18 at 22:36






      • 1





        I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

        – decuser
        Nov 13 '18 at 17:42



















      • So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

        – George Hovhannisian
        Jan 7 '18 at 15:09






      • 1





        Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

        – Rinzwind
        Jan 7 '18 at 15:25











      • @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

        – Panther
        Jan 7 '18 at 17:05






      • 4





        Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

        – dma1324
        Apr 18 '18 at 22:36






      • 1





        I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

        – decuser
        Nov 13 '18 at 17:42

















      So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

      – George Hovhannisian
      Jan 7 '18 at 15:09





      So, hassle-free is not an option, then? Maybe somebody will make Synaptic for Windows to work with WSL in the future....

      – George Hovhannisian
      Jan 7 '18 at 15:09




      1




      1





      Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

      – Rinzwind
      Jan 7 '18 at 15:25





      Graphical programs on WSL does not mean you can use Steam on WSL. You would need Valve to create support for WSL.

      – Rinzwind
      Jan 7 '18 at 15:25













      @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

      – Panther
      Jan 7 '18 at 17:05





      @GeorgeHovhannisian I guess it depends on what you mean by hassle free, my point is WSL is not a complete Linux install and many features, including native support for graphical applications, are not available as of yet. You can ssh -X some apps.

      – Panther
      Jan 7 '18 at 17:05




      4




      4





      Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

      – dma1324
      Apr 18 '18 at 22:36





      Keep in mind that you don't have to use SSH at all. Just set DISPLAY and you're good to go (for xming and VcXsrv anyways).

      – dma1324
      Apr 18 '18 at 22:36




      1




      1





      I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

      – decuser
      Nov 13 '18 at 17:42





      I would downvote this answer as it is 1: not fully accurate, and 2: not in the spirit of the question - yes, you can run gui apps in wsl with an xserver. The op didn't ask about supported apps. (install vcxserve or something similar, sudo apt-get install synaptic after setting DISPLAY, no need for ssh)...

      – decuser
      Nov 13 '18 at 17:42













      33














      VcXsrv



      I chose to use VcXsrv in WSL (Windows 10 Subsystem for Linux). I recommend everyone do their research between xming (the accepted answer) and VcXsrv before selecting one or the other for Graphical User Interface (GUI) support in Windows 10 Ubuntu 16.04.



      What can you do after VcXsrv is installed?



      I was able to run:



      sudo apt install ubuntu-desktop
      sudo apt install xubuntu-desktop


      ... to install GUI desktop software. This then allowed me to run gedit and nautilus. Also I was then able to install specific GUI applications through the CLI (Command Line Interface) using apt or apt-get commands.



      When I want to try many of my Ubuntu bash scripts within WSL VcXsrv must be installed so zenity and yad x-windows dialog boxes are displayed for user input.



      As others have noted GUI within WSL is not perfect and you can expect to spend time problem-solving some issues. Also some GUI software simply won't work in WSL.






      share|improve this answer


























      • Can you, please, tell me about the advantages of running a DE in WSL?

        – George Hovhannisian
        Jan 7 '18 at 20:46











      • @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

        – WinEunuuchs2Unix
        Feb 11 '18 at 16:18






      • 3





        +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

        – dessert
        Feb 17 '18 at 12:55






      • 4





        This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

        – Daniel K.
        Mar 20 '18 at 8:00











      • VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

        – bd1251252
        Nov 13 '18 at 2:24
















      33














      VcXsrv



      I chose to use VcXsrv in WSL (Windows 10 Subsystem for Linux). I recommend everyone do their research between xming (the accepted answer) and VcXsrv before selecting one or the other for Graphical User Interface (GUI) support in Windows 10 Ubuntu 16.04.



      What can you do after VcXsrv is installed?



      I was able to run:



      sudo apt install ubuntu-desktop
      sudo apt install xubuntu-desktop


      ... to install GUI desktop software. This then allowed me to run gedit and nautilus. Also I was then able to install specific GUI applications through the CLI (Command Line Interface) using apt or apt-get commands.



      When I want to try many of my Ubuntu bash scripts within WSL VcXsrv must be installed so zenity and yad x-windows dialog boxes are displayed for user input.



      As others have noted GUI within WSL is not perfect and you can expect to spend time problem-solving some issues. Also some GUI software simply won't work in WSL.






      share|improve this answer


























      • Can you, please, tell me about the advantages of running a DE in WSL?

        – George Hovhannisian
        Jan 7 '18 at 20:46











      • @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

        – WinEunuuchs2Unix
        Feb 11 '18 at 16:18






      • 3





        +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

        – dessert
        Feb 17 '18 at 12:55






      • 4





        This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

        – Daniel K.
        Mar 20 '18 at 8:00











      • VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

        – bd1251252
        Nov 13 '18 at 2:24














      33












      33








      33







      VcXsrv



      I chose to use VcXsrv in WSL (Windows 10 Subsystem for Linux). I recommend everyone do their research between xming (the accepted answer) and VcXsrv before selecting one or the other for Graphical User Interface (GUI) support in Windows 10 Ubuntu 16.04.



      What can you do after VcXsrv is installed?



      I was able to run:



      sudo apt install ubuntu-desktop
      sudo apt install xubuntu-desktop


      ... to install GUI desktop software. This then allowed me to run gedit and nautilus. Also I was then able to install specific GUI applications through the CLI (Command Line Interface) using apt or apt-get commands.



      When I want to try many of my Ubuntu bash scripts within WSL VcXsrv must be installed so zenity and yad x-windows dialog boxes are displayed for user input.



      As others have noted GUI within WSL is not perfect and you can expect to spend time problem-solving some issues. Also some GUI software simply won't work in WSL.






      share|improve this answer















      VcXsrv



      I chose to use VcXsrv in WSL (Windows 10 Subsystem for Linux). I recommend everyone do their research between xming (the accepted answer) and VcXsrv before selecting one or the other for Graphical User Interface (GUI) support in Windows 10 Ubuntu 16.04.



      What can you do after VcXsrv is installed?



      I was able to run:



      sudo apt install ubuntu-desktop
      sudo apt install xubuntu-desktop


      ... to install GUI desktop software. This then allowed me to run gedit and nautilus. Also I was then able to install specific GUI applications through the CLI (Command Line Interface) using apt or apt-get commands.



      When I want to try many of my Ubuntu bash scripts within WSL VcXsrv must be installed so zenity and yad x-windows dialog boxes are displayed for user input.



      As others have noted GUI within WSL is not perfect and you can expect to spend time problem-solving some issues. Also some GUI software simply won't work in WSL.







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Feb 11 '18 at 16:21

























      answered Jan 7 '18 at 19:59









      WinEunuuchs2UnixWinEunuuchs2Unix

      45k1082172




      45k1082172













      • Can you, please, tell me about the advantages of running a DE in WSL?

        – George Hovhannisian
        Jan 7 '18 at 20:46











      • @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

        – WinEunuuchs2Unix
        Feb 11 '18 at 16:18






      • 3





        +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

        – dessert
        Feb 17 '18 at 12:55






      • 4





        This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

        – Daniel K.
        Mar 20 '18 at 8:00











      • VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

        – bd1251252
        Nov 13 '18 at 2:24



















      • Can you, please, tell me about the advantages of running a DE in WSL?

        – George Hovhannisian
        Jan 7 '18 at 20:46











      • @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

        – WinEunuuchs2Unix
        Feb 11 '18 at 16:18






      • 3





        +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

        – dessert
        Feb 17 '18 at 12:55






      • 4





        This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

        – Daniel K.
        Mar 20 '18 at 8:00











      • VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

        – bd1251252
        Nov 13 '18 at 2:24

















      Can you, please, tell me about the advantages of running a DE in WSL?

      – George Hovhannisian
      Jan 7 '18 at 20:46





      Can you, please, tell me about the advantages of running a DE in WSL?

      – George Hovhannisian
      Jan 7 '18 at 20:46













      @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

      – WinEunuuchs2Unix
      Feb 11 '18 at 16:18





      @GeorgeHovhannisian The advantage for me is I can use gedit which I'm familiar with from Ubuntu Desktop experience. Also many of my bash scripts use zenity or yad for x-windows dialog boxes. These bash scripts won't run unless VcXsrv is installed.

      – WinEunuuchs2Unix
      Feb 11 '18 at 16:18




      3




      3





      +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

      – dessert
      Feb 17 '18 at 12:55





      +1 just hilarious: How can I secretly convert my Windows system to Ubuntu from the inside?

      – dessert
      Feb 17 '18 at 12:55




      4




      4





      This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

      – Daniel K.
      Mar 20 '18 at 8:00





      This was painless: On Windows, downloaded VcXsrv using the link provided. Installed and launched it. Then I opened an Ubuntu shell and entered export DISPLAY=:0. Now I could run xhost, xeyes and gnuplot in Ubuntu (provided these programs are already installed in the Ubuntu WSL).

      – Daniel K.
      Mar 20 '18 at 8:00













      VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

      – bd1251252
      Nov 13 '18 at 2:24





      VcXsrv is definitely the way to go. For multi-monitor setups though, I've been struggling with this one. Seems most have been, based on what I'm seeing on SE and Reddit.

      – bd1251252
      Nov 13 '18 at 2:24











      14














      I've had a very positive experience with VcXsrv on Win 10 Bash on Ubuntu on Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). I did not focus on running Unity desktop as it is useless and resource consuming. I just simply ran apps from bash in GUI mode from Windows10 desktop using XServer.




      1. Install VcXsrv from here on Sourceforge


      2. Run the VcXsrv app directly, do not launch XLaunch. You should see localhost:0.0 - 0 clients when you hover over the icon on Win10 Taskbar



      3. Open Ubuntu Bash:



        cd /mnt


        (results in localhost@localhost:/mnt$)



        cd .. 


        (localhost@localhost:/$ meaning this commands brings you to the beginning of the hard-drive as far as WSL can see...)



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


        (this will install "dbus" to create virtual connector for GUI, "Synaptic Package Manager" and "Nautilus" file explorer for unity-desktop



        cd /usr/share/dbus-1 && sudo vi session.conf


        (When session.conf opens in vi editor)



        Press i to enter insert mode and add



        <!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules


        than add:



        <listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
        <auth>EXTERNAL</auth>
        <auth>DBUS_COOKIE_SHA1</auth>
        <auth>allow_anonymous</auth>


        Press ESC when you are done editing file and :wq to save the file.



        Run these commands and check their output:



        $ export DISPLAY=localhost:0
        $ sudo service dbus start
        * Starting system message bus dbus [OK]
        $ echo $DISPLAY
        localhost:0


      4. You are done! Now just run synaptic, nautilus or firefox from Bash and they should load on Win10 desktop. GUI options like this are buggy but operational. You can install ubuntu-desktop, unity, ccsm, compiz and try to run Unity Desktop for Ubuntu. I did not try to set the "Steam" because I am still suffering rrying to run "Unreal", Good luck :)



      If someone knows how to run gnome-terminal on XServer instead of XTerm please share...



      P.S

      You can add VcXsrv as a Win10 bootable



      To max your sources with "Steam" as specified in original post, tune your Windows a little for network package management (to lower latency) and CPU/GPU prioritization to make a Win10XBox… :)



      Although you will run "Steam" under "Unix" the shell is still "Windows" which allows you to launch "Steam" on "Unix" …



      Tcp Prep:;



      In regedit:



       HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces


      Here you need to go through the list of sub-keys to locate the network adapter entry that is used to connect to the Internet. If you are using DHCP, you need to look for DhcpIPAdddress entry (with system data values NOT :0.0.0.0) to find the correct adapter.



      Once you have located the correct key right-click it and select New > Dword (32-bit) Value.



      Name it TcpFrequency and click ok.



      Double-click the value afterwards and set its Decimal value to 1. (To restore the default setting, change the value to 2 or delete the key)
      Now navigate to the following key: HKEY_LOCAL_MACHINESoftwareMicrosoftMSMQ



      Right-click on the key again and select New > Dword (32-bit) Value.



      Name the new parameter TcpDelay



      Double-click it afterwards and change its Decimal value to 1. (To restore the key at a later point in time change it to 0 or delete the key)



      Nagle’s Algorithm



      Nagle’s algorithm combines several small packets into a single, larger packet for more efficient transmissions. This is designed to improve throughput efficiency of data transmission. Disabling “nagling” can help reduce latency/ping in some games. Nagle’s algorithm is enabled in Windows by default.
      To implement this tweak, modify the following registry keys.



      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}


      For the {NIC-id}, look for the one with your IP address listed; under this {NIC-id} key create following DWORD value:




      • TcpFrequency and set it to 1 to disable “nagling” for gaming.

      • TCPDelay and set it also to 1 to disable “nagling”

      • TcpTicks and set it to 0


      Note:




      Some reports say that the tweaks did reduce latency when playing Dota 2 and League of Legends but it doesn’t work for some. I have tried it and my latency improved from 110 to 90ms (SEA Server) when playing Dota 2.




      Network Throttling Index



      Windows implements a network throttling mechanism, the idea behind such throttling is that processing of network packets can be a resource-intensive task. It is beneficial to turn off such throttling for achieving maximum throughput.



      To implement this tweak, run regedit and modify the registry



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      Under SystemProfile, create a DWORD value and name it to NetworkThrottlingIndex then set its Hexadecimal value to ffffffff for gaming and max throughput: ffffffff completely disables throttling.





      System Gaming Responsiveness (Not so sure about this one :)



      Multimedia streaming and some games that uses “Multimedia Class Scheduler” service (MMCSS) can only utilize up to 80% of the CPU. The “Multimedia Class Scheduler” service (MMCSS) ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications.



      To implement this tweak, run regedit and modify the registry key



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      From there, create a new DWORD and name it to SystemResponsiveness set its decimal value to 00000000 for pure gaming/streaming.



      In the same Registry hive as the above tweak, you can also change the priority of Games. To implement this tweak, go to



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasksGames


      and change the following registry values:




      • “GPU Priority” change its values to 8 for gaming.

      • “Priority” set to 1 for gaming.


      All cheers for "unknown" (pardon me was a while since I copied your directions) author of this Windows=Xbox tweak...



      PPS: If XServer fails on what you would like to do try to find the workaround with Docker.




      • WSL_Apache_Roolez

      • Throttling_a_'mm'_:0

      • You've Got Mail!!!






      share|improve this answer


























      • 6-5-7; :5-6-7...

        – tenedas
        Feb 27 '18 at 1:05











      • Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

        – George Hovhannisian
        Jun 6 '18 at 19:26













      • I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

        – MikeW
        Dec 14 '18 at 10:07


















      14














      I've had a very positive experience with VcXsrv on Win 10 Bash on Ubuntu on Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). I did not focus on running Unity desktop as it is useless and resource consuming. I just simply ran apps from bash in GUI mode from Windows10 desktop using XServer.




      1. Install VcXsrv from here on Sourceforge


      2. Run the VcXsrv app directly, do not launch XLaunch. You should see localhost:0.0 - 0 clients when you hover over the icon on Win10 Taskbar



      3. Open Ubuntu Bash:



        cd /mnt


        (results in localhost@localhost:/mnt$)



        cd .. 


        (localhost@localhost:/$ meaning this commands brings you to the beginning of the hard-drive as far as WSL can see...)



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


        (this will install "dbus" to create virtual connector for GUI, "Synaptic Package Manager" and "Nautilus" file explorer for unity-desktop



        cd /usr/share/dbus-1 && sudo vi session.conf


        (When session.conf opens in vi editor)



        Press i to enter insert mode and add



        <!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules


        than add:



        <listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
        <auth>EXTERNAL</auth>
        <auth>DBUS_COOKIE_SHA1</auth>
        <auth>allow_anonymous</auth>


        Press ESC when you are done editing file and :wq to save the file.



        Run these commands and check their output:



        $ export DISPLAY=localhost:0
        $ sudo service dbus start
        * Starting system message bus dbus [OK]
        $ echo $DISPLAY
        localhost:0


      4. You are done! Now just run synaptic, nautilus or firefox from Bash and they should load on Win10 desktop. GUI options like this are buggy but operational. You can install ubuntu-desktop, unity, ccsm, compiz and try to run Unity Desktop for Ubuntu. I did not try to set the "Steam" because I am still suffering rrying to run "Unreal", Good luck :)



      If someone knows how to run gnome-terminal on XServer instead of XTerm please share...



      P.S

      You can add VcXsrv as a Win10 bootable



      To max your sources with "Steam" as specified in original post, tune your Windows a little for network package management (to lower latency) and CPU/GPU prioritization to make a Win10XBox… :)



      Although you will run "Steam" under "Unix" the shell is still "Windows" which allows you to launch "Steam" on "Unix" …



      Tcp Prep:;



      In regedit:



       HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces


      Here you need to go through the list of sub-keys to locate the network adapter entry that is used to connect to the Internet. If you are using DHCP, you need to look for DhcpIPAdddress entry (with system data values NOT :0.0.0.0) to find the correct adapter.



      Once you have located the correct key right-click it and select New > Dword (32-bit) Value.



      Name it TcpFrequency and click ok.



      Double-click the value afterwards and set its Decimal value to 1. (To restore the default setting, change the value to 2 or delete the key)
      Now navigate to the following key: HKEY_LOCAL_MACHINESoftwareMicrosoftMSMQ



      Right-click on the key again and select New > Dword (32-bit) Value.



      Name the new parameter TcpDelay



      Double-click it afterwards and change its Decimal value to 1. (To restore the key at a later point in time change it to 0 or delete the key)



      Nagle’s Algorithm



      Nagle’s algorithm combines several small packets into a single, larger packet for more efficient transmissions. This is designed to improve throughput efficiency of data transmission. Disabling “nagling” can help reduce latency/ping in some games. Nagle’s algorithm is enabled in Windows by default.
      To implement this tweak, modify the following registry keys.



      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}


      For the {NIC-id}, look for the one with your IP address listed; under this {NIC-id} key create following DWORD value:




      • TcpFrequency and set it to 1 to disable “nagling” for gaming.

      • TCPDelay and set it also to 1 to disable “nagling”

      • TcpTicks and set it to 0


      Note:




      Some reports say that the tweaks did reduce latency when playing Dota 2 and League of Legends but it doesn’t work for some. I have tried it and my latency improved from 110 to 90ms (SEA Server) when playing Dota 2.




      Network Throttling Index



      Windows implements a network throttling mechanism, the idea behind such throttling is that processing of network packets can be a resource-intensive task. It is beneficial to turn off such throttling for achieving maximum throughput.



      To implement this tweak, run regedit and modify the registry



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      Under SystemProfile, create a DWORD value and name it to NetworkThrottlingIndex then set its Hexadecimal value to ffffffff for gaming and max throughput: ffffffff completely disables throttling.





      System Gaming Responsiveness (Not so sure about this one :)



      Multimedia streaming and some games that uses “Multimedia Class Scheduler” service (MMCSS) can only utilize up to 80% of the CPU. The “Multimedia Class Scheduler” service (MMCSS) ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications.



      To implement this tweak, run regedit and modify the registry key



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      From there, create a new DWORD and name it to SystemResponsiveness set its decimal value to 00000000 for pure gaming/streaming.



      In the same Registry hive as the above tweak, you can also change the priority of Games. To implement this tweak, go to



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasksGames


      and change the following registry values:




      • “GPU Priority” change its values to 8 for gaming.

      • “Priority” set to 1 for gaming.


      All cheers for "unknown" (pardon me was a while since I copied your directions) author of this Windows=Xbox tweak...



      PPS: If XServer fails on what you would like to do try to find the workaround with Docker.




      • WSL_Apache_Roolez

      • Throttling_a_'mm'_:0

      • You've Got Mail!!!






      share|improve this answer


























      • 6-5-7; :5-6-7...

        – tenedas
        Feb 27 '18 at 1:05











      • Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

        – George Hovhannisian
        Jun 6 '18 at 19:26













      • I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

        – MikeW
        Dec 14 '18 at 10:07
















      14












      14








      14







      I've had a very positive experience with VcXsrv on Win 10 Bash on Ubuntu on Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). I did not focus on running Unity desktop as it is useless and resource consuming. I just simply ran apps from bash in GUI mode from Windows10 desktop using XServer.




      1. Install VcXsrv from here on Sourceforge


      2. Run the VcXsrv app directly, do not launch XLaunch. You should see localhost:0.0 - 0 clients when you hover over the icon on Win10 Taskbar



      3. Open Ubuntu Bash:



        cd /mnt


        (results in localhost@localhost:/mnt$)



        cd .. 


        (localhost@localhost:/$ meaning this commands brings you to the beginning of the hard-drive as far as WSL can see...)



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


        (this will install "dbus" to create virtual connector for GUI, "Synaptic Package Manager" and "Nautilus" file explorer for unity-desktop



        cd /usr/share/dbus-1 && sudo vi session.conf


        (When session.conf opens in vi editor)



        Press i to enter insert mode and add



        <!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules


        than add:



        <listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
        <auth>EXTERNAL</auth>
        <auth>DBUS_COOKIE_SHA1</auth>
        <auth>allow_anonymous</auth>


        Press ESC when you are done editing file and :wq to save the file.



        Run these commands and check their output:



        $ export DISPLAY=localhost:0
        $ sudo service dbus start
        * Starting system message bus dbus [OK]
        $ echo $DISPLAY
        localhost:0


      4. You are done! Now just run synaptic, nautilus or firefox from Bash and they should load on Win10 desktop. GUI options like this are buggy but operational. You can install ubuntu-desktop, unity, ccsm, compiz and try to run Unity Desktop for Ubuntu. I did not try to set the "Steam" because I am still suffering rrying to run "Unreal", Good luck :)



      If someone knows how to run gnome-terminal on XServer instead of XTerm please share...



      P.S

      You can add VcXsrv as a Win10 bootable



      To max your sources with "Steam" as specified in original post, tune your Windows a little for network package management (to lower latency) and CPU/GPU prioritization to make a Win10XBox… :)



      Although you will run "Steam" under "Unix" the shell is still "Windows" which allows you to launch "Steam" on "Unix" …



      Tcp Prep:;



      In regedit:



       HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces


      Here you need to go through the list of sub-keys to locate the network adapter entry that is used to connect to the Internet. If you are using DHCP, you need to look for DhcpIPAdddress entry (with system data values NOT :0.0.0.0) to find the correct adapter.



      Once you have located the correct key right-click it and select New > Dword (32-bit) Value.



      Name it TcpFrequency and click ok.



      Double-click the value afterwards and set its Decimal value to 1. (To restore the default setting, change the value to 2 or delete the key)
      Now navigate to the following key: HKEY_LOCAL_MACHINESoftwareMicrosoftMSMQ



      Right-click on the key again and select New > Dword (32-bit) Value.



      Name the new parameter TcpDelay



      Double-click it afterwards and change its Decimal value to 1. (To restore the key at a later point in time change it to 0 or delete the key)



      Nagle’s Algorithm



      Nagle’s algorithm combines several small packets into a single, larger packet for more efficient transmissions. This is designed to improve throughput efficiency of data transmission. Disabling “nagling” can help reduce latency/ping in some games. Nagle’s algorithm is enabled in Windows by default.
      To implement this tweak, modify the following registry keys.



      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}


      For the {NIC-id}, look for the one with your IP address listed; under this {NIC-id} key create following DWORD value:




      • TcpFrequency and set it to 1 to disable “nagling” for gaming.

      • TCPDelay and set it also to 1 to disable “nagling”

      • TcpTicks and set it to 0


      Note:




      Some reports say that the tweaks did reduce latency when playing Dota 2 and League of Legends but it doesn’t work for some. I have tried it and my latency improved from 110 to 90ms (SEA Server) when playing Dota 2.




      Network Throttling Index



      Windows implements a network throttling mechanism, the idea behind such throttling is that processing of network packets can be a resource-intensive task. It is beneficial to turn off such throttling for achieving maximum throughput.



      To implement this tweak, run regedit and modify the registry



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      Under SystemProfile, create a DWORD value and name it to NetworkThrottlingIndex then set its Hexadecimal value to ffffffff for gaming and max throughput: ffffffff completely disables throttling.





      System Gaming Responsiveness (Not so sure about this one :)



      Multimedia streaming and some games that uses “Multimedia Class Scheduler” service (MMCSS) can only utilize up to 80% of the CPU. The “Multimedia Class Scheduler” service (MMCSS) ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications.



      To implement this tweak, run regedit and modify the registry key



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      From there, create a new DWORD and name it to SystemResponsiveness set its decimal value to 00000000 for pure gaming/streaming.



      In the same Registry hive as the above tweak, you can also change the priority of Games. To implement this tweak, go to



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasksGames


      and change the following registry values:




      • “GPU Priority” change its values to 8 for gaming.

      • “Priority” set to 1 for gaming.


      All cheers for "unknown" (pardon me was a while since I copied your directions) author of this Windows=Xbox tweak...



      PPS: If XServer fails on what you would like to do try to find the workaround with Docker.




      • WSL_Apache_Roolez

      • Throttling_a_'mm'_:0

      • You've Got Mail!!!






      share|improve this answer















      I've had a very positive experience with VcXsrv on Win 10 Bash on Ubuntu on Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). I did not focus on running Unity desktop as it is useless and resource consuming. I just simply ran apps from bash in GUI mode from Windows10 desktop using XServer.




      1. Install VcXsrv from here on Sourceforge


      2. Run the VcXsrv app directly, do not launch XLaunch. You should see localhost:0.0 - 0 clients when you hover over the icon on Win10 Taskbar



      3. Open Ubuntu Bash:



        cd /mnt


        (results in localhost@localhost:/mnt$)



        cd .. 


        (localhost@localhost:/$ meaning this commands brings you to the beginning of the hard-drive as far as WSL can see...)



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


        (this will install "dbus" to create virtual connector for GUI, "Synaptic Package Manager" and "Nautilus" file explorer for unity-desktop



        cd /usr/share/dbus-1 && sudo vi session.conf


        (When session.conf opens in vi editor)



        Press i to enter insert mode and add



        <!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules


        than add:



        <listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen>
        <auth>EXTERNAL</auth>
        <auth>DBUS_COOKIE_SHA1</auth>
        <auth>allow_anonymous</auth>


        Press ESC when you are done editing file and :wq to save the file.



        Run these commands and check their output:



        $ export DISPLAY=localhost:0
        $ sudo service dbus start
        * Starting system message bus dbus [OK]
        $ echo $DISPLAY
        localhost:0


      4. You are done! Now just run synaptic, nautilus or firefox from Bash and they should load on Win10 desktop. GUI options like this are buggy but operational. You can install ubuntu-desktop, unity, ccsm, compiz and try to run Unity Desktop for Ubuntu. I did not try to set the "Steam" because I am still suffering rrying to run "Unreal", Good luck :)



      If someone knows how to run gnome-terminal on XServer instead of XTerm please share...



      P.S

      You can add VcXsrv as a Win10 bootable



      To max your sources with "Steam" as specified in original post, tune your Windows a little for network package management (to lower latency) and CPU/GPU prioritization to make a Win10XBox… :)



      Although you will run "Steam" under "Unix" the shell is still "Windows" which allows you to launch "Steam" on "Unix" …



      Tcp Prep:;



      In regedit:



       HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces


      Here you need to go through the list of sub-keys to locate the network adapter entry that is used to connect to the Internet. If you are using DHCP, you need to look for DhcpIPAdddress entry (with system data values NOT :0.0.0.0) to find the correct adapter.



      Once you have located the correct key right-click it and select New > Dword (32-bit) Value.



      Name it TcpFrequency and click ok.



      Double-click the value afterwards and set its Decimal value to 1. (To restore the default setting, change the value to 2 or delete the key)
      Now navigate to the following key: HKEY_LOCAL_MACHINESoftwareMicrosoftMSMQ



      Right-click on the key again and select New > Dword (32-bit) Value.



      Name the new parameter TcpDelay



      Double-click it afterwards and change its Decimal value to 1. (To restore the key at a later point in time change it to 0 or delete the key)



      Nagle’s Algorithm



      Nagle’s algorithm combines several small packets into a single, larger packet for more efficient transmissions. This is designed to improve throughput efficiency of data transmission. Disabling “nagling” can help reduce latency/ping in some games. Nagle’s algorithm is enabled in Windows by default.
      To implement this tweak, modify the following registry keys.



      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{NIC-id}


      For the {NIC-id}, look for the one with your IP address listed; under this {NIC-id} key create following DWORD value:




      • TcpFrequency and set it to 1 to disable “nagling” for gaming.

      • TCPDelay and set it also to 1 to disable “nagling”

      • TcpTicks and set it to 0


      Note:




      Some reports say that the tweaks did reduce latency when playing Dota 2 and League of Legends but it doesn’t work for some. I have tried it and my latency improved from 110 to 90ms (SEA Server) when playing Dota 2.




      Network Throttling Index



      Windows implements a network throttling mechanism, the idea behind such throttling is that processing of network packets can be a resource-intensive task. It is beneficial to turn off such throttling for achieving maximum throughput.



      To implement this tweak, run regedit and modify the registry



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      Under SystemProfile, create a DWORD value and name it to NetworkThrottlingIndex then set its Hexadecimal value to ffffffff for gaming and max throughput: ffffffff completely disables throttling.





      System Gaming Responsiveness (Not so sure about this one :)



      Multimedia streaming and some games that uses “Multimedia Class Scheduler” service (MMCSS) can only utilize up to 80% of the CPU. The “Multimedia Class Scheduler” service (MMCSS) ensures prioritized access to CPU resources, without denying CPU resources to lower-priority background applications.



      To implement this tweak, run regedit and modify the registry key



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile. 


      From there, create a new DWORD and name it to SystemResponsiveness set its decimal value to 00000000 for pure gaming/streaming.



      In the same Registry hive as the above tweak, you can also change the priority of Games. To implement this tweak, go to



      HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfileTasksGames


      and change the following registry values:




      • “GPU Priority” change its values to 8 for gaming.

      • “Priority” set to 1 for gaming.


      All cheers for "unknown" (pardon me was a while since I copied your directions) author of this Windows=Xbox tweak...



      PPS: If XServer fails on what you would like to do try to find the workaround with Docker.




      • WSL_Apache_Roolez

      • Throttling_a_'mm'_:0

      • You've Got Mail!!!







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Apr 12 '18 at 13:40









      Zanna

      50.6k13135241




      50.6k13135241










      answered Feb 11 '18 at 5:18









      tenedastenedas

      1413




      1413













      • 6-5-7; :5-6-7...

        – tenedas
        Feb 27 '18 at 1:05











      • Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

        – George Hovhannisian
        Jun 6 '18 at 19:26













      • I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

        – MikeW
        Dec 14 '18 at 10:07





















      • 6-5-7; :5-6-7...

        – tenedas
        Feb 27 '18 at 1:05











      • Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

        – George Hovhannisian
        Jun 6 '18 at 19:26













      • I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

        – MikeW
        Dec 14 '18 at 10:07



















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

      – tenedas
      Feb 27 '18 at 1:05





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

      – tenedas
      Feb 27 '18 at 1:05













      Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

      – George Hovhannisian
      Jun 6 '18 at 19:26







      Thanks for a very detailed answer. Otherwise, thanks to whoever suggested the edit, I can't believe, people are actually suggesting solutions for running Steam. On the other hand, people still keep suggesting desktops, which I still have no idea what would be the use of that, I personally don't even need a file manager, let alone a full flex desktop.

      – George Hovhannisian
      Jun 6 '18 at 19:26















      I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

      – MikeW
      Dec 14 '18 at 10:07







      I installed Xming on Windows, then used all the steps from section 3. here (above) - install dbus (no actual need for synaptic or nautilus, but nautilus is a good check), make the session.conf edit, and start the dbus service. Nautilus then starts successfully with a few error messages.

      – MikeW
      Dec 14 '18 at 10:07













      5














      Even though a full GUI desktop environment is not ‘officially’ supported by Microsoft, it can work.



      Turn Windows features on or off

      Enable Windows Subsystem for Linux

      Restart Computer

      Launch Microsoft Store

      Search for Ubuntu

      Select Ubuntu 18.04 under Apps

      Click Get

      Launch Ubuntu and wait for install

      Set username and password



      Run the following Commands:



      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


      Create and modify .xsession



      cd /home/user/
      sudo vim .xsession


      Add text:



      gnome-session --session=ubuntu-2d


      Save and exit vi



      sudo chmod 755 .xsession
      sudo systemctl enable xrdp


      You will need a second account on Ubuntu



      sudo adduser remote
      sudo usermod -aG sudo remote


      Modify startwm.sh



      cd /etc/xrdp
      sudo chmod 777 startwm.sh
      vim startwm.sh


      Comment out the bottom two lines



      #test -x /etc/X11/Xsession && exec /etc/X11/Xsession
      #exec /bin/sh /etc/X11/Xsession


      Add text:



      startxfce4


      Save and exit vi



      exit


      In Windows, restart Ubuntu and run:



      sudo /etc/init.d/xrdp start


      In Windows run mstsc.exe

      Computer: 127.0.0.1:3390

      Leave username blank

      Connect



      Session: Xorg

      username: remote

      password: password



      Enjoy xfce!



      When done, close the remote desktop connection

      Return to the Ubuntu command line



      sudo /etc/init.d/xrdp stop
      exit





      share|improve this answer





















      • 1





        This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

        – TRiNE
        Sep 16 '18 at 5:16













      • I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

        – J-Dizzle
        Nov 23 '18 at 16:59


















      5














      Even though a full GUI desktop environment is not ‘officially’ supported by Microsoft, it can work.



      Turn Windows features on or off

      Enable Windows Subsystem for Linux

      Restart Computer

      Launch Microsoft Store

      Search for Ubuntu

      Select Ubuntu 18.04 under Apps

      Click Get

      Launch Ubuntu and wait for install

      Set username and password



      Run the following Commands:



      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


      Create and modify .xsession



      cd /home/user/
      sudo vim .xsession


      Add text:



      gnome-session --session=ubuntu-2d


      Save and exit vi



      sudo chmod 755 .xsession
      sudo systemctl enable xrdp


      You will need a second account on Ubuntu



      sudo adduser remote
      sudo usermod -aG sudo remote


      Modify startwm.sh



      cd /etc/xrdp
      sudo chmod 777 startwm.sh
      vim startwm.sh


      Comment out the bottom two lines



      #test -x /etc/X11/Xsession && exec /etc/X11/Xsession
      #exec /bin/sh /etc/X11/Xsession


      Add text:



      startxfce4


      Save and exit vi



      exit


      In Windows, restart Ubuntu and run:



      sudo /etc/init.d/xrdp start


      In Windows run mstsc.exe

      Computer: 127.0.0.1:3390

      Leave username blank

      Connect



      Session: Xorg

      username: remote

      password: password



      Enjoy xfce!



      When done, close the remote desktop connection

      Return to the Ubuntu command line



      sudo /etc/init.d/xrdp stop
      exit





      share|improve this answer





















      • 1





        This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

        – TRiNE
        Sep 16 '18 at 5:16













      • I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

        – J-Dizzle
        Nov 23 '18 at 16:59
















      5












      5








      5







      Even though a full GUI desktop environment is not ‘officially’ supported by Microsoft, it can work.



      Turn Windows features on or off

      Enable Windows Subsystem for Linux

      Restart Computer

      Launch Microsoft Store

      Search for Ubuntu

      Select Ubuntu 18.04 under Apps

      Click Get

      Launch Ubuntu and wait for install

      Set username and password



      Run the following Commands:



      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


      Create and modify .xsession



      cd /home/user/
      sudo vim .xsession


      Add text:



      gnome-session --session=ubuntu-2d


      Save and exit vi



      sudo chmod 755 .xsession
      sudo systemctl enable xrdp


      You will need a second account on Ubuntu



      sudo adduser remote
      sudo usermod -aG sudo remote


      Modify startwm.sh



      cd /etc/xrdp
      sudo chmod 777 startwm.sh
      vim startwm.sh


      Comment out the bottom two lines



      #test -x /etc/X11/Xsession && exec /etc/X11/Xsession
      #exec /bin/sh /etc/X11/Xsession


      Add text:



      startxfce4


      Save and exit vi



      exit


      In Windows, restart Ubuntu and run:



      sudo /etc/init.d/xrdp start


      In Windows run mstsc.exe

      Computer: 127.0.0.1:3390

      Leave username blank

      Connect



      Session: Xorg

      username: remote

      password: password



      Enjoy xfce!



      When done, close the remote desktop connection

      Return to the Ubuntu command line



      sudo /etc/init.d/xrdp stop
      exit





      share|improve this answer















      Even though a full GUI desktop environment is not ‘officially’ supported by Microsoft, it can work.



      Turn Windows features on or off

      Enable Windows Subsystem for Linux

      Restart Computer

      Launch Microsoft Store

      Search for Ubuntu

      Select Ubuntu 18.04 under Apps

      Click Get

      Launch Ubuntu and wait for install

      Set username and password



      Run the following Commands:



      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


      Create and modify .xsession



      cd /home/user/
      sudo vim .xsession


      Add text:



      gnome-session --session=ubuntu-2d


      Save and exit vi



      sudo chmod 755 .xsession
      sudo systemctl enable xrdp


      You will need a second account on Ubuntu



      sudo adduser remote
      sudo usermod -aG sudo remote


      Modify startwm.sh



      cd /etc/xrdp
      sudo chmod 777 startwm.sh
      vim startwm.sh


      Comment out the bottom two lines



      #test -x /etc/X11/Xsession && exec /etc/X11/Xsession
      #exec /bin/sh /etc/X11/Xsession


      Add text:



      startxfce4


      Save and exit vi



      exit


      In Windows, restart Ubuntu and run:



      sudo /etc/init.d/xrdp start


      In Windows run mstsc.exe

      Computer: 127.0.0.1:3390

      Leave username blank

      Connect



      Session: Xorg

      username: remote

      password: password



      Enjoy xfce!



      When done, close the remote desktop connection

      Return to the Ubuntu command line



      sudo /etc/init.d/xrdp stop
      exit






      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Jul 20 '18 at 19:52

























      answered Jul 20 '18 at 19:41









      GuestGuest

      5112




      5112








      • 1





        This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

        – TRiNE
        Sep 16 '18 at 5:16













      • I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

        – J-Dizzle
        Nov 23 '18 at 16:59
















      • 1





        This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

        – TRiNE
        Sep 16 '18 at 5:16













      • I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

        – J-Dizzle
        Nov 23 '18 at 16:59










      1




      1





      This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

      – TRiNE
      Sep 16 '18 at 5:16







      This is working. I used ubuntu 16. I didn't had ubuntu native GUI appearance. Xorg is not available in xrdp list

      – TRiNE
      Sep 16 '18 at 5:16















      I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

      – J-Dizzle
      Nov 23 '18 at 16:59







      I keep getting the following error message - "login failed for display 0". Thoughts? Why will xrdp not allow me to login?

      – J-Dizzle
      Nov 23 '18 at 16:59













      2














      Since you want it easy... There is an app in the Microsoft Store called x410. It's basically a Cygwin X11 server without the use of Cygwin itself. After installment - that is zero config - you can run WSL X11 Apps! (or even whole desktops). You might want to insert the following lines into your .bashrc (from your WSL user account) so you can run the apps from your bash terminal.



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


      I bought x410 on salve for about 5euro's.. So if it's too much, perhaps wait for an sale!






      share|improve this answer




























        2














        Since you want it easy... There is an app in the Microsoft Store called x410. It's basically a Cygwin X11 server without the use of Cygwin itself. After installment - that is zero config - you can run WSL X11 Apps! (or even whole desktops). You might want to insert the following lines into your .bashrc (from your WSL user account) so you can run the apps from your bash terminal.



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


        I bought x410 on salve for about 5euro's.. So if it's too much, perhaps wait for an sale!






        share|improve this answer


























          2












          2








          2







          Since you want it easy... There is an app in the Microsoft Store called x410. It's basically a Cygwin X11 server without the use of Cygwin itself. After installment - that is zero config - you can run WSL X11 Apps! (or even whole desktops). You might want to insert the following lines into your .bashrc (from your WSL user account) so you can run the apps from your bash terminal.



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


          I bought x410 on salve for about 5euro's.. So if it's too much, perhaps wait for an sale!






          share|improve this answer













          Since you want it easy... There is an app in the Microsoft Store called x410. It's basically a Cygwin X11 server without the use of Cygwin itself. After installment - that is zero config - you can run WSL X11 Apps! (or even whole desktops). You might want to insert the following lines into your .bashrc (from your WSL user account) so you can run the apps from your bash terminal.



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


          I bought x410 on salve for about 5euro's.. So if it's too much, perhaps wait for an sale!







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Oct 14 '18 at 8:16









          WhyAlwaysTheLoginAndPasswordWhyAlwaysTheLoginAndPassword

          211




          211























              1














              I chose Panther's answer not only because it's the only, but also because it's the correct answer; there is no hassle-free (straightforward) way to get gui apps running.



              Also, I used this tutorial, with a few changes:




              1. I didn't install xfce, because I don't know why I would need a
                desktop.

              2. Chose Multiple Windows in XLaunch (No DE, hence no need for one
                giant window)

              3. No need for mkdir fix and no need for a separate terminal.


              What gui apps did I install? Only Synaptic and CMake, since I really can't think of anything else I would need on wsl.



              I don't do VM/Dual Boot, for the very same reason Panther pointed out; I need a convenient (to me) dev environment, not a full flex OS.






              share|improve this answer
























              • vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

                – TamusJRoyce
                Sep 6 '18 at 22:26
















              1














              I chose Panther's answer not only because it's the only, but also because it's the correct answer; there is no hassle-free (straightforward) way to get gui apps running.



              Also, I used this tutorial, with a few changes:




              1. I didn't install xfce, because I don't know why I would need a
                desktop.

              2. Chose Multiple Windows in XLaunch (No DE, hence no need for one
                giant window)

              3. No need for mkdir fix and no need for a separate terminal.


              What gui apps did I install? Only Synaptic and CMake, since I really can't think of anything else I would need on wsl.



              I don't do VM/Dual Boot, for the very same reason Panther pointed out; I need a convenient (to me) dev environment, not a full flex OS.






              share|improve this answer
























              • vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

                – TamusJRoyce
                Sep 6 '18 at 22:26














              1












              1








              1







              I chose Panther's answer not only because it's the only, but also because it's the correct answer; there is no hassle-free (straightforward) way to get gui apps running.



              Also, I used this tutorial, with a few changes:




              1. I didn't install xfce, because I don't know why I would need a
                desktop.

              2. Chose Multiple Windows in XLaunch (No DE, hence no need for one
                giant window)

              3. No need for mkdir fix and no need for a separate terminal.


              What gui apps did I install? Only Synaptic and CMake, since I really can't think of anything else I would need on wsl.



              I don't do VM/Dual Boot, for the very same reason Panther pointed out; I need a convenient (to me) dev environment, not a full flex OS.






              share|improve this answer













              I chose Panther's answer not only because it's the only, but also because it's the correct answer; there is no hassle-free (straightforward) way to get gui apps running.



              Also, I used this tutorial, with a few changes:




              1. I didn't install xfce, because I don't know why I would need a
                desktop.

              2. Chose Multiple Windows in XLaunch (No DE, hence no need for one
                giant window)

              3. No need for mkdir fix and no need for a separate terminal.


              What gui apps did I install? Only Synaptic and CMake, since I really can't think of anything else I would need on wsl.



              I don't do VM/Dual Boot, for the very same reason Panther pointed out; I need a convenient (to me) dev environment, not a full flex OS.







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Jan 7 '18 at 18:19









              George HovhannisianGeorge Hovhannisian

              344136




              344136













              • vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

                – TamusJRoyce
                Sep 6 '18 at 22:26



















              • vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

                – TamusJRoyce
                Sep 6 '18 at 22:26

















              vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

              – TamusJRoyce
              Sep 6 '18 at 22:26





              vagrantup.com/docs/other/wsl.html - vagrant is an excellent tool to quickly spin up dev environments. Looks like it supports wsl. Though I have not tried it yet.

              – TamusJRoyce
              Sep 6 '18 at 22:26











              1














              If you want an effortless off the shelf solution, use MobaXTerm. It's a great, multitabbed terminal emulator with direct support for WSL, and has a built-in optimized X server. I use synaptic all the time on Moba. Even RStudio.






              share|improve this answer




























                1














                If you want an effortless off the shelf solution, use MobaXTerm. It's a great, multitabbed terminal emulator with direct support for WSL, and has a built-in optimized X server. I use synaptic all the time on Moba. Even RStudio.






                share|improve this answer


























                  1












                  1








                  1







                  If you want an effortless off the shelf solution, use MobaXTerm. It's a great, multitabbed terminal emulator with direct support for WSL, and has a built-in optimized X server. I use synaptic all the time on Moba. Even RStudio.






                  share|improve this answer













                  If you want an effortless off the shelf solution, use MobaXTerm. It's a great, multitabbed terminal emulator with direct support for WSL, and has a built-in optimized X server. I use synaptic all the time on Moba. Even RStudio.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 7 '18 at 3:11









                  abalterabalter

                  14918




                  14918























                      0
















                      • install Fedora in VirtualBox on your Windows machine with NAT networking

                      • in WSL sudo service ssh start

                      • from Fedora run ssh -Y 10.0.2.2


                      Usually the host of a VirtualBox guest can be reached at 10.0.2.2



                      Now you can any WSL X program on your Fedora desktop, even with seamless Windows.






                      share|improve this answer
























                      • Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

                        – George Hovhannisian
                        Jun 6 '18 at 19:28











                      • Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

                        – weberjn
                        Jun 7 '18 at 6:37
















                      0
















                      • install Fedora in VirtualBox on your Windows machine with NAT networking

                      • in WSL sudo service ssh start

                      • from Fedora run ssh -Y 10.0.2.2


                      Usually the host of a VirtualBox guest can be reached at 10.0.2.2



                      Now you can any WSL X program on your Fedora desktop, even with seamless Windows.






                      share|improve this answer
























                      • Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

                        – George Hovhannisian
                        Jun 6 '18 at 19:28











                      • Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

                        – weberjn
                        Jun 7 '18 at 6:37














                      0












                      0








                      0









                      • install Fedora in VirtualBox on your Windows machine with NAT networking

                      • in WSL sudo service ssh start

                      • from Fedora run ssh -Y 10.0.2.2


                      Usually the host of a VirtualBox guest can be reached at 10.0.2.2



                      Now you can any WSL X program on your Fedora desktop, even with seamless Windows.






                      share|improve this answer















                      • install Fedora in VirtualBox on your Windows machine with NAT networking

                      • in WSL sudo service ssh start

                      • from Fedora run ssh -Y 10.0.2.2


                      Usually the host of a VirtualBox guest can be reached at 10.0.2.2



                      Now you can any WSL X program on your Fedora desktop, even with seamless Windows.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Jun 3 '18 at 17:57









                      weberjnweberjn

                      1314




                      1314













                      • Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

                        – George Hovhannisian
                        Jun 6 '18 at 19:28











                      • Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

                        – weberjn
                        Jun 7 '18 at 6:37



















                      • Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

                        – George Hovhannisian
                        Jun 6 '18 at 19:28











                      • Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

                        – weberjn
                        Jun 7 '18 at 6:37

















                      Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

                      – George Hovhannisian
                      Jun 6 '18 at 19:28





                      Now, this is interesting. I'm not a huge fedora fan myself. Can the same thing be done with Arch?

                      – George Hovhannisian
                      Jun 6 '18 at 19:28













                      Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

                      – weberjn
                      Jun 7 '18 at 6:37





                      Guess so. X server is accessible in Fedora via ssh by default, you might have to change some sshd settings in Arch.

                      – weberjn
                      Jun 7 '18 at 6:37


















                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Ask Ubuntu!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f993225%2fwhats-the-easiest-way-to-run-gui-apps-on-wsl-as-of-2018%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      How to change which sound is reproduced for terminal bell?

                      Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                      Can I use Tabulator js library in my java Spring + Thymeleaf project?