microsoft / WSL

Issues found on WSL
https://docs.microsoft.com/windows/wsl
MIT License
17.47k stars 822 forks source link

Trying to run XFCE4 on WSL #1800

Closed ar94952 closed 6 years ago

ar94952 commented 7 years ago

I'm trying to run XFCE on Windows Subsystem Linux, but I get this:

user@DESKTOP-0ARM9IQ:~$ xfce4-session
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.
user@DESKTOP-0ARM9IQ:~$

VcXsrv is installed and running - set to full screen Xubuntu installed and updated

What am I doing wrong?

SRGOM commented 7 years ago

I think it's unfair to the WSL team (and their target audience) to file bugs related to graphical applications at this stage * when they have explicitly stated that this project is for command line developers.

iz0eyj commented 7 years ago

@ar94952: export DISPLAY=:0.0 startxfce4

You can also configure VcXsrv with Multiple windows to obtain a mixed desktop.

iz0eyj commented 7 years ago

@SRGOM: What I remember the team has always said that the graphics are not a priority, but I do not remember any post in which it was said not to use it and/or do not post problems highlighted by it. Instead, I have seen many posts of team members within thread regarding graphics applications, browser, desktop manager etc etc. I have lost something? of course this is possible. I would also say that both developers and the super user / admin now use graphics applications and then it becomes really difficult to separate the problems of ordinary users from those of developers.

therealkenc commented 7 years ago

Yes, but it has to be a WSL issue. There many other groups for getting information about running X11 remotely to VcXsrv on Linux. Or running X11 apps with CONFIG_DRM=n. Otherwise this github repository becomes a Linux troubleshooting group. The label here is linux-behavior, not feature. xfce4 runs fine on WSL.

aseering commented 7 years ago

So, I can't speak for the WSL team, but I would very much advocate that people be allowed and encouraged to post here about WSL bugs/limitations that affect any application, graphical or otherwise. The WSL team may not prioritize some bugs :-) But if, say, Firefox depends on some file in/proc, I for one want to at least know that the file is missing and useful.

I would draw some lines, though: I don't think, for example, that this is the best place to ask for support for VcXsrv :-) VcXsrv is a third-party Windows app. Some people here do use it, but if you really want help setting it up, I would ask on a VcXsrv forum. Or on a public forum (one of the StackOverflows, maybe?), where there are probably many more VcXsrv users.

If you find a bug in WSL's TCP implementation that's breaking X11 applications (which has happened in the past), that would be a good thing to post about here, I think. Such a post should include TCP dumps or a small standalone Linux sockets app that reproduces the issue, or something else more technically specific.

Regardless -- we do seem to have answered the OP's question :-)

iz0eyj commented 7 years ago

@therealkenc: I think that they intended to report a bug on Xfce start

iz0eyj commented 7 years ago

There is also to say that the use of graphic software involves a considerable workload for the machines, and often the API call is not widely used. This allows you to identify bugs and limitations that difficult to emerge with the use of only the console software. I believe that the intention is to provide a layer for the complete execution of ELF-64, or at least as close as possible to it, not a layer that performs some things and not others.

ar94952 commented 7 years ago

workload isn't the issue. i have a massive pc that can handle 2 assasins creed game at once...

I was doing a bit of digging and Win10 WSL isn't fully developed and I just have to remind everyone that even if we are running Linux user interface directly on top of NT kernel, some hardware may not be supported....

JuergenKosel commented 7 years ago

Hello,

beside xfce4 you need to install some kind of X11 server. For example you could install xvnc4server or xrdp. If you have installed xrdp and started it, than you could connect with the Windows Remote-Desktop Application to the X11 server on localhost. If your Windows PC is already running a Remote-Desktop Server, than you need to specify another port for xrdp.

Greetings Juergen

therealkenc commented 6 years ago

Merging into #637 hangout.

Toninoso commented 5 years ago

Run your VcxXsrv and look at the window title. It will likely say "VcXsrv Server - Display:MACHINENAME:0.0" In WSL bash run: xfce4-session --display=MACHINENAME:0.0 Optionally put that line in bashrc

LiangcaiSu commented 5 years ago

@ar94952: export DISPLAY=:0.0 startxfce4

It works! Thanks for your help!

YosefBayoude commented 4 years ago

Anyone still facing this issue, I found one solution, don't know why or how... To solve it go to Powershell and type : wsl -l -v if you have version 2, the goal is to change it to v. 1

To do so type : wsl --set-version <distro> 1 replace <distro> with the name you had in wsl -l More here

adityapatnaik commented 4 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

ARunningPig commented 4 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

cppdvl commented 4 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1

rather than the simpler export DISPLAY:=0.0, why? WSL2 networking is more complex. and you know sw eng love to do this harder.

zepang commented 4 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1

rather than the simpler export DISPLAY:=0.0, why? WSL2 networking is more complex. and you know sw eng love to do this harder.

I running it on wsl2 according to your configuration, but I got the following logs:

/usr/bin/startxfce4: X server already running on display 172.30.80.1:0
xrdb: Connection timed out
xrdb: Can't open display '172.30.80.1:0'
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.
adhadse commented 4 years ago

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0

THIS WORKS!!

candiath commented 4 years ago

I found a possible solution. In my case I just checked the "Disable access control" option from the XLaunch settings and now it works. image

AlphonsG commented 4 years ago

I found a possible solution. In my case I just checked the "Disable access control" option from the XLaunch settings and now it works. image

This worked, thank you for replying to this post

matthieudesprez commented 4 years ago

If all above solutions didn't work, think also about you windows firewall settings, if when prompted for the first time by your X server application you didn't enable public network, WSL won't be able to connect to it.

You can edit those settings afterward going Windows + R > wf.msc > Inbound Rules > VcXsrv (or Xming or whatever is you X server) > and allow public.

Note that it's not super safety to allow all public traffic to access your X servser, I have found a more grained solution here : https://github.com/cascadium/wsl-windows-toolbar-launcher/blob/master/README.md#troubleshooting

jonnyasmar commented 3 years ago

Thank you @matthieudesprez ! That did it for me.

hyoretsu commented 3 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1

rather than the simpler export DISPLAY:=0.0, why? WSL2 networking is more complex. and you know sw eng love to do this harder.

For whoever gets here. This man is a god and this works, at least with VcXsrv

pavlidic commented 3 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1 rather than the simpler export DISPLAY:=0.0, why? WSL2 networking is more complex. and you know sw eng love to do this harder.

I running it on wsl2 according to your configuration, but I got the following logs:

/usr/bin/startxfce4: X server already running on display 172.30.80.1:0
xrdb: Connection timed out
xrdb: Can't open display '172.30.80.1:0'
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Did you find a solution?

venimus commented 3 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1 rather than the simpler export DISPLAY:=0.0, why? WSL2 networking is more complex. and you know sw eng love to do this harder.

I running it on wsl2 according to your configuration, but I got the following logs:

/usr/bin/startxfce4: X server already running on display 172.30.80.1:0
xrdb: Connection timed out
xrdb: Can't open display '172.30.80.1:0'
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Did you find a solution?

Try using exec startxfce4

frenchiveruti commented 3 years ago

Hello, I come here after running wls2 solution, xfce-session no longer says "connection refused" but instead now it just "does nothing", no output or anything. imagen

I ran the commands here because I was trying to find a solution to the connection refused issue, but I don't know how to "roll" them back.
https://bbs.archlinux.org/viewtopic.php?pid=1696492#p1696492

frenchiveruti commented 3 years ago

It was the firewall inbound rules.
Is there a way to specify it so it doesn't open my network to the whole internet? Yes, there is. Is here: https://github.com/cascadium/wsl-windows-toolbar-launcher/blob/master/README.md#troubleshooting

frenchiveruti commented 3 years ago

Ok I managed to open the xfce4-session just one time and now I'm getting this error: imagen

Kuo-TingKai commented 2 years ago

After doing this:

export DISPLAY=:0.0
startxfce4

it gives this

/usr/bin/startxfce4: X server already running on display :0.0
xrdb: Connection refused
xrdb: Can't open display ':0.0'
Unable to init server: Could not connect: Connection refused
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

Any help?

I get the same error

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 export LIBGL_ALWAYS_INDIRECT=1

rather than the simpler export DISPLAY:=0.0, why? WSL2 networking is more complex. and you know sw eng love to do this harder.

It works! Thanks a lot!