WSL (Windows Subsystem for Linux) is very common these days especially with the new that Windows will ship a Linux kernel with WSL 2.0!
Installing...
For further actions, you may consider blocking this person and/or reporting abuse
Hello, I had no problem login to the Xrdp desktop. However, when I run gedit in terminal, an error pops out:
(gedit:28949): Gtk-WARNING **: 22:46:09.321: cannot open display: 172.28.240.1:0.0
However it is okay if I double click a text file a gedit GUI would run without problem. I have tried export DISPLAY=:0.0 but no luck. Any ideals?
You need to find out the display which the X server assigned.
Maybe you have luck with:
Can you try that?
Hello, I followed the instructions for other debian based distros because I am using Ubuntu 18.04 on WSL 2. I am able to get to the Xrdp login in page; however, as soon as I type in my WSL credentials it closes out back to the RDP window.
In Ubuntu WSL:
sudo apt-get purge xrdp
then
sudo apt-get install xrdp
sudo apt-get install xfce4
sudo apt-get install xfce4-goodies
configure :
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession
sudo nano /etc/xrdp/startwm.sh
comment these lines to:
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
add these lines:
# xfce
startxfce4
sudo /etc/init.d/xrdp start
Now in Windows, use Remote Desktop Connection
localhost:3390
then login with Xorg, fill in your username and password.
Hi,
First I followed original instructions, but after connecting over RDP and entering login credentials, it was closing the RDP session immediately.
Then I run all commands from Ridwan's post, and now it works well!
Thank you Robin and Ridwan!
PS: I have Ubuntu 20.04 installed in WSL 2.
It seems like newer versions of wsl are having this behavior, good that Ridwan shared his solution and you got it working with it 😊
I have run Ubuntu with xfce on WSL1 using VcXsrv, but can't use the browser. I tried to update Windows to be able to try WSL2, it turns out that xfce could not run due to display problems. Finally here I found the solution by Ridwan, of courser Robin also who made the tutorial thread, as well as other commentators. Thanks.
Thaaaanks! It Worked
I was stuck on this for the longest time. After starting the RDP session I would just be return to the intital RDP screen after entering my credentials. I could not find the startwm.sh file, so I kept looking. All troubleshooting paths kept pointing to this solution. Finally I found the hint hidden in log files. On my Fedora system this file is located at:
/usr/libexec/xrdp/startwm.sh
. Once I had the right file I could comment out# . /etc/X11/xinit/Xsession
and add:# xfce
startxfce4
Then everything was fine. Thanks so much.
Superb, thanks! Editing the startwm.sh file solves the problem of closing the rdp session after entering the login credentials.
FYI: It only works on Ubuntu 20.04, Ubuntu 18 wouldn't work for me
Thank-you. Worked perfectly. :-)
Those instructions did the trick for me. :)
Thank you very much.
I just change the port to 3400 i hope it dont effect the server but this error is coming up. Any recommendations?
which error?
Thanks, @rescenic ! I had the same problem, you solution works
Can you open a wsl command line end check the logs right after this happens?
I'd check at least those logs:
tail -n 100 /var/log/syslog
tail -n 100 /var/log/xrdp-sesman.log
tail -n 100 var/log/sesman.log
I have the same issue.
/var/log/syslog
and/var/log/sesman.log
don't exist for me, but/var/log/xrdp-sesman.log
contains the following:I'm not entirely sure what's going on here. Any ideas?
Sorry no idea just from the logs.
Can you please post the content of your
xorg.conf
file?Maybe this gives a hint.
Sure, here it is:
You could start analyzing it by checking the logs. Open your wsdl env in powershell and check logs located at
/var/log
for clues.update on 8/2022, there's a new kali-specific package for this called kali-win-kex, it's been pretty smooth and a lot more easy to setup than this
Thanks! I updated the post referencing your comment.
I have the same issue that the RDP window is closed as soon as I type in my credentials in Xrdp login page. It's already resolved by:
echo xfce4-session > ~/.xsession
This worked
Hi, I tried the tutorial, posts by M. Ridwan Hakim, Winson Chao.
I'm noob. I have Windows 10 Home and Debian on WSL.
Can you help ??
After entering the username and password, a window pops up:
Connection Log
connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
login failed for display 0
I found this issue related to Kali Linux on WSL and since Kali is based on Debian, please check the issue with the comments and try the solution that worked out in their case.
They changed the Xorg backend to Xvnc to solve this.
This error is because Windows 10 home edition doesn't all RDP. I'm going to wait until the MS GUI release which should be in March 2021
No it doesn't make a difference whether you're on Home or Professional; you can still connect to RDP, even on Android. The xrdp server is running on WSL, not the main Windows, so it isn't affected. I have Kubuntu Desktop running perfectly on Windows 10 Home Edition. For me, that message comes up when I put in the wrong password.
Proof:
How to insert a picture ??
login failed means, you can't login to xorg session, try reset your account password in ubuntu wsl.
passwd username or sudo passwd username.
Hi. I'm absolutely new in this and followed your instructions step by step.
The last line of the process shows:
However, trying to access my Localhost:3390 (or through my local IP address) returns an ERR_CONNECTION_REFUSED error on Chrome ver. 84.0.4147.105
or
on Firefox ver. 79.0, a blank page with some special characters on it.
(Win 10 PRO / 2004)
Could you please help me?
Many thanks in advance! (sorry if this comment is displayed twice)
Hey neuquenfr, the port 3390 is the port for RDP (Remote Desktop Protocol) connection so you should use remote desktop to connect to your desktop environment within the WSL.
You can't use a Browser for that.
One way would be to search for
mstsc
in Cortana or the start menu and connect with this.Thank you so much, Robin, for your prompt response.
It works, now.
Great help!
Awesome article, thanks! Helped clarify a few things after dismissing WSL2 a while back, updates dont seem to work as well if I'm connected through my VPN service, any idea why that is? It doesn't get all the repo packages but after i disconnect from the VPN it upgrades fine, kind of weird!
This sounds strange. My first guess would be your VPN provider blocks some of the needed DNS records from resolving or anything else that changes during your VPN connection.
I just really wanted to thank you. Your post was tremendously helpful because it solved a WSL problem that I've been working on for two days. I was getting very strange errors from xfce4 and xrdp (no DISPLAY, no console, etc.), and read through hours' worth of posts, and nothing solved my problem. I reinstalled WSL2 about 7 times, with different attempts, the problem remained. The changes to the xrdp.ini script that you mentioned both solved the issue AND allows me to use localhost to RDP into WSL2 (I certainly was tired of changing the RDP IP almost daily). Can't get better than that. I owe you cofee!!
I'm really happy to read that my article was able to help you solve the problem, I know the feeling of being stuck with such things and searching for days too well :)
Buy me a coffee
Is there a way to modify this procedure to use GNOME instead of xfce? I've tried putting
gnome-session
in~/.xsession
instead ofstartxfce4
, as well as anything else I can think of, but it's not working.I have followed all the above instruction and it works till when I log in my credentials then after that it output 'unable to contact settings server, failed to execute child process "dbus-launch" (no such file or directory)' pls I need it been trying to fix it for months now,
thank u
This reddit thread seems to have a solution that worked for a couple of people, maybe try it with this:
I installed configured xrdp and xfce4
I started xrdp and can connect using remote desktop
I can log in but the session is not starting - just a blank green background and eventually an error message
Connectiong to sessman ip 127.0.0.1 port 3350
sessman connect ok
sending login info to session manager, please wait...
started connecting
connection problem, giving up
some problem
hello, pls I followed the procedure u gave up but when I log in to RDP after putting in my credentials then it will go blank and output a message, 'unable to connect settings server. failed to execute child process"dbus-launch" (no such file or directory)'
pls i have followed all the procedure but after assigning my credentials is now showing 'unable to connect settings server, failed to execute child process "dbus-launch" (no such file or directory)' can anyone help me solve this issue.
thank u
I have followed all the above instruction and it works till when I log in my credentials then after that it output 'unable to contact settings server, failed to execute child process "dbus-launch" (no such file or directory)' pls i need it been trying to fix it for months now,
thank u
Thanks for this article. I have been wanted to do this, but did not know how.
Followed your instructions and everything seems to be working.
Hello
I successfully login to my Linux account once and I logout from that account and if I try to login again by using my user ID and passwd then i am getting this
connection to the sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait....
login failed for display 0
I got this when i trying to login. So please help me solve that problem and help me to login
Do you have a session greeter runnning? Which linux distro are you running inside the WSDL?
And maybe your display is not :0 but :1.
How could we start xrdp automatically? Or it already does it with the steps in the guide?
Hey Cesar, to start the xrdp service automatically, you can enable the systemd service with the following lines:
What have I done wrong? Using latest LTS distro under WSL2.
sudo systemctl start xrdp
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Hi. I'm absolutely new in this and followed your instructions step by step.
The last line of the process shows:
However, trying to access my Localhost:3390 (or through my local IP address) returns an ERR_CONNECTION_REFUSED error on Chrome ver. 84.0.4147.105
or
on Firefox ver. 79.0, a blank page with some special characters on it.
(Win 10 PRO / 2004)
Could you please help me?
Many thanks in advance!
Its only works for Windows 10 Pro?
The WSL feature is available on all Windows 10 versions that meet the requirements specified in the MSDN Docs here and here.
Those are:
Is there a way to xrdp into ubuntu-desktop? I installed xrpd, try'd everything mentioned here, but when I login , RDP just closes - no errors in
xrdp-sesman.log
Thats a good question. I can't think of a clear path on how to debug this, but maybe it is worth checking
/var/log
directory, list the files withls -t
to have the most recent modified ones at the top and check those right after the xrdp connection closed.Hopefull this would give you a hint.
Feel free to post the logs here and I try to help analyze them.
I followed the instructions and it work. the only error so far was: sleep: cannot read realtime clock: Invalid argument. this was when I tried to start the rdp.
If I wanted to do this with qtile, how would I change it? Thanks so much!
Sorry I have no experience with qtile. Can you check if there is a display specified in the config of qtile?
Can this also just run GUI applications without starting the desktop? Sometimes I just need a certain app running and not the whole environment. Or would it be best just to use XServer?
You can skip the RDP part and start your GUI from the WSL command prompt right away. Just export your Display and run the program.
Not tested, but something like this:
DISPLAY=:0 chromium &
XServer is always a good idea :)
You can get inspiration from my other post using docker to run GUI:
Run GUI app in linux docker container on windows host
Robin Kretzschmar ・ May 22 '18 ・ 3 min read
well everything is fine except whenever I connect RDP it opens WINDOWS
any solution?
i just change the port from 3390 to 3400 and it still dont work.