At long last, it’s here :)
Took me a while – hey, I’ve been busy surviving quakes/godzilla/moving countries/trying to establish my own company/being a parent/and tl;dr…
Anyway, the v3.0beta3 release works very well for me, so I’m making a full official 3.0 release as of today.
NOTE : Read through all of this article before using – it will reduce user error, and there are usage examples at the end of the article.
ADDITIONAL NOTE : This is for Debian-based Linux distributions. Do not attempt to run it on anything other than Debian/Ubuntu/Linux Mint/other Debian-based distros.
P.S. It currently has problems running on a Raspberry Pi
P.P.S. No, it will NOT run on Mac OSX :)
Just in case you missed the changes…
Significant changes
- Refactored the scripts; incorporated the relevant parts of TextFrontEndIncludes into the relevant main scripts. No more sourcing of that file. It has now been removed.
- It will make Debian packages – an x11rdp package, and an xrdp package. The x11rdp package includes everything that was compiled and placed in /opt/X11rdp. The xrdp package includes everything that was compiled for xrdp.
- The tool will build packages whether using the FreeRDP source or the neutrinolabs source (
--bleeding-edge
).
- Other miscellaneous tidy-ups too numerous to mention here – look ‘em up on github if you’re that fascinated ;) …
- RDPsesconfig now recognises Lubuntu.
- For “unknown/untested” distros, RDPsesconfig now actually has a generic “select desktop” menu.
What is it?
It’s a suite of two tools…
X11rdp-o-matic.sh
This bash script is a build tool. It will automatically compile, install, and set up X11rdp and xrdp on your system.
X11rdp-o-matic.sh has a number of options configured by way of command line switches…
Options
--help
: show this help.
--justdoit
: perform a complete compile and install with sane defaults and no user interaction. <– Recommended use.
--nocpuoptimize
: do not change X11rdp build script to utilize more than 1 of your CPU cores.
--nocleanup
: do not remove X11rdp / xrdp source code after installation. (Default is to clean up).
--noinstall
: do not install anything, just build the packages
--nox11rdp
: only build xrdp, without the x11rdp backend
--bleeding-edge
: clone from the neutrinolabs github source tree. Beware. Bleeding-edge might hurt :)
X11rdp-o-matic.sh has two modes of operation; interactive, and non-interactive…
Interactive mode is the default. It requires user input at run-time, and tries to walk the user through the build process.
The script will run in non-interactive mode when you specify the --justdoit
option. In this mode, the script will choose sensible defaults and will require no user interaction. It will automatically detect if you have more than 1 CPU core available and will utilize those extra cores in order to speed up compilation of X11rdp. If you specify the –nocpuoptimze switch, then it will not utilize more than 1 core.
I recommend you use the
--justdoit
option – if there are any errors then you will be able to scroll up your terminal and see where it happened.
The --bleeding-edge
switch will tell the tool to download the xrdp/x11rdp source from a different git repository, and this is for highly experimental source code. You are advised to not use this switch unless you are a xrdp developer. By default, the tool will use the normal FreeRDP git repository.
RDPsesconfig.sh
This tool is an interactive utility. It configures the .xsession file for each selected user on your system and with whatever desktop environment you’ve chosen for them.
Both utilities need to be run as root, so use su
to get to your root prompt, or use sudo
to start them.
Packages
After successful completion of X11RDP-o-Matic , two package files will be created…
xrdp_0.7.0-1_<arch>.deb : located in ~/X11RDP-o-Matic/packages/xrdp/ . This is the xrdp package, and includes everything required to install the xrdp front-end, including the /etc/init.d script.
and
x11rdp_0.7.0-1_<arch>.deb : located in ~/X11RDP-o-Matic/packages/Xorg/ . This is the X11rdp package, and contains the X11rdp back-end Xorg server.
The <arch>
will of course depend on what arch your Debian-based distribution is.
You can take those two package files, and install them on another machine of the same arch. If you need packages for a different arch, then run the o-matic tool on a machine with a similar arch, and you can then deploy the packages on similar arch systems.
NOTE: If you install the packages on a different machine, please run sudo update-rc.d xrdp defaults , after installation. The generated packages do not update your init scripts after installation as yet. Running this command ensures that xrdp will restart upon rebooting your server.
Usage Example
sudo ./X11rdp-o-matic.sh --justdoit
: will run the X11rdp/xrdp build and install tool right through, and will automatically utilize additional cpu cores for quicker compilation. Debian packages will be created, and installed, and by the end of it, xrdp will be started.
Then…
sudo ./RDPsesconfig.sh
: will run the session configuration utility. You will select a desktop environment that the users will see after they log in via their RDP client. You will then select which user logins to configure that environment for.
How to get X11RDP-o-Matic Version 3.0
Use git.
If you haven’t got git installed on your machine, then bring a terminal window up and type sudo apt-get install git .
Once you know that git is installed, to get X11rdp-o-matic, use…
git clone https://github.com/scarygliders/X11RDP-o-Matic.git
Then…
cd X11RDP-o-Matic
Then use the examples above to run the utility.
Lastly, I recommend you reboot your system after getting everything configured.
Please let me know how you got on! Also, tell me what distribution you tried it on.
X11RDP-o-Matic Version 3 Now Released,Lastly, if this works splendidly for you, please consider making a donation. It’ll help keep this site running :D
The automatic script worked for me partially with Ubuntu 12.04
When I RDP from a Windows 7 machine to the Ubuntu machine it connects perfectly fine. Unity GUI comes up. I can launch terminal Windows fine.
When I attempt to launch other apps such as firefox the connection is drop and RDP session ends.
I’ve released v3.01, which now patches a Makefile in an attempt at fixing this problem.
Regards.
1. git clone https://github.com/scarygliders/X11RDP-o-Matic.git
2. cd X11RDP-o-Matic
3. sudo ./X11rdp-o-matic.sh –justdoit
(This step took a while… automated though, “processing x of 102″…etc)
4. sudo ./RDPsesconfig.sh
The above worked on fresh install of Ubuntu 13.04
I would first like to thank you for your efforts creating these scripts.
I am running Lubuntu 12.04 and it runs almost perfectly.
The main issue that I’ve run into is that when I connect to the rdp server from another computer and I try to open a select few programs (i.e. firefox, hugin,…) the session crashes. I can open most other programs without any problems, but the few mentioned instantly crashes the session. As these are fairly important programs (especially firefox), I can’t really use the rdp without it. I’ve used several rdp clients on Ubuntu and they all react the exact same way.
Do you have any ideas what could be causing this?
Thanks
You’re not the only one to report this.
You just reminded me that I read about someone mentioning a similar thing happening to them, on the xrdp-devel mailing list.
The problem seems to be caused by Ubuntu using the newer version of the GCC linker, called the “gold linker”.
This has caused a few problems for people, and it’s now causing problems for people compiling X11rdp. What happens is this gold linker is only linking the X11rdp binary to what it thinks “is needed”, and what’s happening is a few symbols for OpenGL are being left out – so when programs like Firefox and presumably hugin are looking for these calls to OpenGL, they’re not there, so X11rdp will crash. We don’t want this, so at compile time, we need to tell the gold linker to not behave in this way.
There may be a way X11rdp-o-Matic can have a temporary fix for this – give me a day or two to have a think about it.
Regards.
Thanks for your quick reply.
I’m glad that it’s not something that I screwed up and that you have an idea about the cause of the problem.
Thanks again for your efforts.
Hi Kevin,
I followed your hint and found this link on the xrdp-devel mail list:
http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg01240.html
After changing xrdp/xorg/X11R7.6/rdp/Makefile by adding “-Wl,–no-asneeded” before “-lGL” in the LLIBS variable Firefox and other apps now work with X11rdp in Unity 2D mode.
So, if there is a way to patch this in your build script or let the xrdp-developers know about this issue it will help others out.
Hi again,
I just wanted to see if you were planning on making a permanent fix to this problem in your scripts? If not (which is perfectly ok), could you give me a short procedure on how to apply the fix that Scott B mentioned? Unfortunately, I couldn’t follow the description in the link.
Thanks.
Dryden, hi.
I’ve updated the tool to 3.01 with a (hopefully) suitable patch and uploaded the new version to the Github repository. You can just clone it from the master repo as per the 3.0 instructions.
Can you test it out for me? I’m also currently testing it as I write this.
EDIT: I’ve just tested it and it appears to run without errors
Best regards,
Kevin.
Thank you for the update, but unfortunately it still doesn’t seem to fully work.
I can now load up firefox, but when I start to go to some sites (i.e. gmail) it crashes.
Here’s the log from rdesktop:
NOT IMPLEMENTED: RDPDR packet type rDLU
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 53 (X_CreatePixmap)
Value in failed request: 0x0
Serial number of failed request: 12532
Current serial number in output stream: 12579
Okay, now that’s no fault of o-matic, I don’t think. That, is possibly some kind of bug in X11rdp/rdp, and needs to be reported to the xrdp-devel mailing list.
It’s strange. When I open a program now, it crashes shortly after it opens. When I cannect again via RDP (with the same resolution) the program is already open and I can use it for a while before crashing again. Also, the crashing now effects more programs than it did before.
This is just my luck…
I’m wondering if anyone else is now experiencing similar symptoms – especially the ones who had firefox crashes – it’d be nice to hear from them again with an update, if they’ve used o-matic 3.02.
I used o-matic from top of tree and see the same RDPDR error any time I hit the “applications menu” on XFCE4. That’s if I’m running rdesktop. If I try Remmina, it just flat out crashes.
Try…
sudo service xrdp stop
then
apt-get remove --purge xrdp
andx11rdp
, then re-run o-matic with--bleeding-edge
See if that is any better.
The neutrinolabs xrdp repo is going to be the default repo soon – that –bleeding-edge switch will use it with this current version of o-matic. I’ll release an update to o-matic soon.
You didn’t tell me which version of Linux you’re running it on either ;)
I’ll give that a try and let you know. I’m running Ubuntu 13.10 x86_64 on a headless server. The xrdp that they default to is 0.6.x and reasonably stable but it seems to create a new instance every time you log in.
I tried with –bleeding edge (not purging x11rdp) and that had the same effect.
Hmmm, then it’s possibly a bug that should be reported to the xrdp-devel list.
This time of the year I’ve not got much time to check/do things other than reply to comments – too much family-time demanded of me at the moment.
Stalled out at;
http://server1.xrdp.org/xrdp/X11R7.6/Python-2.7.tar.bz2
Not Found
The requested URL /xrdp/X11R7.6/MesaLib-7.10.3.tar.b was not found on this server.
Apache/2.2.3 (CentOS) Server at server1.xrdp.org Port 80
Are you using a proxy?
Same problem as Tony. I’m not using a proxy, and I can download the file from browser…
What should I do now after the script stopped not to mess things up?
Hmm, this might be the X11rdp author doing work… I’ll ask him.
What’s odd is you can download that file using a browser.
There’s no special method being used to download the source files.
Have you tried running the script again? It’ll do no harm.
I’m running the script right now to see if I get the same thing.
Nope, the download works for me :
*** processing module Mesa-7.10.3 (30 of 102) ***
downloading file http://server1.xrdp.org/xrdp/X11R7.6/MesaLib-7.10.3.tar.bz2
executing ./configure --prefix=/opt/X11rdp --with-expat=/opt/X11rdp --disable-gallium
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
...and so on
Hi!
I’ve installed on Ubuntu server 12.04 64bit and it works very well. I have one wish though. Could the installation script, when it is done, please purge all packages it has installed on the system (except xrdp and x11rdp obviously)? I don’t want my hd cluttered with -dev packages that I don’t use.
Thanks for your great work!
Hi,
If a package build fails in, such as xorg, how do I configure in the directory of that folder and build with the environment variables, and then resume the rest of the X11RDP-o-Matic script after I’ve resolved the build issue?
Something about DRI not found was the error, but I was using bleeding edge, and now I’m trying again without bleeding edge.
Thanks!
Just wanted to let you know that I ran your systems on an Ubuntu 13.04 distro, inside of a Hyper-V machine on Windows 8. All seemed good, just a long time on the compile (yes, all the virtualized stuff probably killed the disk io).
Greg
First of all, thanks for doing this!
The setup seems to work well, but there’s one thing I really would like to do with it but can’t: run Lumerical, a scientific software package for optical modeling. However, opening the Lumerical user interface (which has some 3D graphics) causes the rdp session to crash and close immediately.
I’m running Ubuntu 12.04 on a Xeon server with Nvidia graphics card.
Any ideas?
The linker used on Ubuntu is probably the “Gold” linker, which drops what it deems to be “unnecessary” linking, the side effect of which is that some Mesa/GL symbols are missing from the resultant X11rdp binary. So when you try to run something which calls those Mesa/GL system calls, then X11rdp will bail out/crash due to missing symbols. The solution may be to switch to the non-Gold linker – have a search of google on how to do that. Failing that, there is this comment at http://scarygliders.net/2013/07/25/x11rdp-o-matic-version-3-now-released/comment-page-2/#comment-5375 which has some insight on the problem.
Regards.
Thanks for the quick reply! I’ll give it a little more effort and see if I can get anywhere.
I checked out which linker I’m using, and it appears to not be the gold linker:
/usr/bin$ ls -l ld
lrwxrwxrwx 1 root root 6 Jun 24 04:03 ld -> ld.bfd
Any other ideas?
I think it’s time to alert the X11rdp guys about this, which I’ll do tomorrow as it’s midnight as I write this and I’m off to bed…
I don’t see this behaviour when using Debian, btw.
Regards
Kevin,
I removed and then re-installed xrdp using the –justdoit option, and now things seem to be working very well. Firefox runs over RDP (which it didn’t before) and our special scientific software does too (which it didn’t before).
So, I don’t know if the positive results are due to something I did or something you and the x11rdp guys did, but I am pleased with the success! Thanks for your efforts!
It was something I did – you unknowingly used V3.02, originally you used v3.0 ;)
Good to hear the changes worked!
Regards
Also, it turns out that Firefox crashes the session too. It seems maybe I’m having the same problem as Bix. I tried adding each of the following (one at a time, of course) to the Makefile, but then running make yields an error.
-Wl --no-as-needed
-Wl,--no-as-needed
-Wl,--no-asneeded
I also moved -lXdamage to go before -lGL.
The error, upon attempting to run make, is:
cc -O2 -Wall -fno-strength-reduce -I../../include -I../../cfb -I../../mfb -I../../mi -I/include -I/include/X11 -I/include/X11/fonts -I/include/X11/extensions -I/include/xorg -I/include/pixman-1 -I../../os -I../../render -I../xfree86/common -I../xfree86/os-support -I../../../common -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_REENTRANT -DGLX_USE_MESA -DXRECORD -D_GNU_SOURCE -DXAPPGROUP -DTOGCUP -DSINGLEDEPTH -DXFree86Server -DDBE -DEVI -DXVMC -DFONTCACHE -DGCCUSESGAS -DSTATIC_COLOR -DAVOID_GLYPHBLT -DFUNCPROTO=15 -DNARROWPROTO -DDDXOSFATALERROR -DPART_NET -DDDXTIME -D_HAVE_XALLOC_DECLS -DDAMAGE -DXFIXES -DSMART_SCHEDULE -DSERVER_LOCK -DGLXEXT -DSHAPE -DRENDER -DRANDR -DBIGREQS -D_POSIX_SOURCE -D_BSD_SOURCE -DSCREENSAVER -DXCMISC -DXTEST -DXTRAP -DXV -DXSYNC -DMITMISC -DPANORAMIX -DDPMSExtension -DXvExtension -DXvMCExtension -DXResExtension -DMITSHM -DPIXPRIV -DNDEBUG -DDDXOSINIT -DXKB -DXINPUT -I../build_dir/xorg-server-1.9.3/Xext -c ../build_dir/xorg-server-1.9.3/mi/miinitext.c
../build_dir/xorg-server-1.9.3/mi/miinitext.c:92:18: fatal error: misc.h: No such file or directory
compilation terminated.
make: *** [miinitext.o] Error 1
The contents of my Makefile is:
#X11RDPBASE is an environment variable that needs to be set
INCBASE = $(X11RDPBASE)/include
LIBBASE = $(X11RDPBASE)/lib
INSTALL = /usr/bin/install -c
XSRCBASE = ../build_dir/xorg-server-1.9.3
OBJS = rdpmain.o rdpdraw.o rdpinput.o rdpmisc.o rdpup.o rdprandr.o \
rdpCopyArea.o rdpPolyFillRect.o rdpPutImage.o rdpPolyRectangle.o \
rdpPolylines.o rdpPolySegment.o rdpFillSpans.o rdpSetSpans.o \
rdpCopyPlane.o rdpPolyPoint.o rdpPolyArc.o rdpFillPolygon.o \
rdpPolyFillArc.o rdpPolyText8.o rdpPolyText16.o \
rdpImageText8.o rdpImageText16.o rdpImageGlyphBlt.o rdpPolyGlyphBlt.o \
rdpPushPixels.o rdpxv.o \
miinitext.o \
fbcmap_mi.o
# in Xorg 7.1, fbcmap.c was used but now it looks like fbcmap_mi.c should
# be used
#fbcmap_mi.o
#fbcmap.o
LIBS = $(XSRCBASE)/dbe/.libs/libdbe.a \
$(XSRCBASE)/dix/.libs/libdix.a \
$(XSRCBASE)/dix/.libs/libmain.a \
$(XSRCBASE)/fb/.libs/libfb.a \
$(XSRCBASE)/mi/.libs/libmi.a \
$(XSRCBASE)/os/.libs/libos.a \
$(XSRCBASE)/randr/.libs/librandr.a \
$(XSRCBASE)/record/.libs/librecord.a \
$(XSRCBASE)/render/.libs/librender.a \
$(XSRCBASE)/xkb/.libs/libxkb.a \
$(XSRCBASE)/Xext/.libs/libXext.a \
$(XSRCBASE)/Xi/.libs/libXi.a \
$(XSRCBASE)/glx/.libs/libglx.a \
$(XSRCBASE)/xfixes/.libs/libxfixes.a \
$(XSRCBASE)/damageext/.libs/libdamageext.a \
$(XSRCBASE)/miext/damage/.libs/libdamage.a \
librdp.a
LLIBS = -Wl,-rpath=$(LIBBASE) -lfreetype -lz -lm -lXfont -lXau \
-lXdmcp -lpixman-1 -lrt -ldl -lcrypto -Wl --no-as-needed -lXdamage -lGL
CFLAGS = -O2 -Wall -fno-strength-reduce \
-I../../include \
-I../../cfb \
-I../../mfb \
-I../../mi \
-I$(INCBASE) \
-I$(INCBASE)/X11 \
-I$(INCBASE)/X11/fonts \
-I$(INCBASE)/X11/extensions \
-I$(INCBASE)/xorg \
-I$(INCBASE)/pixman-1 \
-I../../os \
-I../../render \
-I../xfree86/common \
-I../xfree86/os-support \
-I../../../common \
-D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_REENTRANT \
-DGLX_USE_MESA -DXRECORD -D_GNU_SOURCE -DXAPPGROUP \
-DTOGCUP -DSINGLEDEPTH -DXFree86Server \
-DDBE -DEVI -DXVMC -DFONTCACHE -DGCCUSESGAS -DSTATIC_COLOR \
-DAVOID_GLYPHBLT -DFUNCPROTO=15 -DNARROWPROTO -DDDXOSFATALERROR \
-DPART_NET -DDDXTIME -D_HAVE_XALLOC_DECLS \
-DDAMAGE \
-DXFIXES \
-DSMART_SCHEDULE -DSERVER_LOCK -DGLXEXT -DSHAPE -DRENDER -DRANDR \
-DBIGREQS -D_POSIX_SOURCE -D_BSD_SOURCE -DSCREENSAVER \
-DXCMISC -DXTEST -DXTRAP -DXV -DXSYNC -DMITMISC -DPANORAMIX \
-DDPMSExtension -DXvExtension -DXvMCExtension -DXResExtension \
-DMITSHM -DPIXPRIV -DNDEBUG -DDDXOSINIT -DXKB -DXINPUT
#-DDAMAGE
# -pedantic
# -DXCSECURITY -DXF86BIGFONT
# these are defined in xorg-server.h
# -D_XOPEN_SOURCE=500L
# -DX_BYTE_ORDER=X_LITTLE_ENDIAN
# -DSMART_SCHEDULE -DSERVER_LOCK -DGLXEXT -DSHAPE -DRENDER -DRANDR
# -DBIGREQS -D_POSIX_SOURCE -D_BSD_SOURCE -DSCREENSAVER -DXF86BIGFONT
# -DXCMISC -DXTEST -DXTRAP -DXV -DXSYNC -DMITMISC -DPANORAMIX
# -DDPMSExtension -DXvExtension -DXvMCExtension -DXResExtension
# -DMITSHM -DPIXPRIV -DNDEBUG -DDDXOSINIT
# these are not needed I think
# -Dlinux -D__i386__
LDFLAGS = -L$(LIBBASE) -Wl,-rpath,$(LIBBASE)
all: X11rdp
X11rdp: $(OBJS)
$(AR) rvu librdp.a $(OBJS)
ranlib librdp.a
$(CC) $(LDFLAGS) -o X11rdp $(LIBS) $(LIBS) $(LLIBS)
clean:
rm -f $(OBJS) librdp.a
miinitext.o: ../build_dir/xorg-server-1.9.3/mi/miinitext.c Makefile
$(CC) $(CFLAGS) -I../build_dir/xorg-server-1.9.3/Xext -c ../build_dir/xorg-server-1.9.3/mi/miinitext.c
fbcmap.o: ../build_dir/xorg-server-1.9.3/fb/fbcmap.c
$(CC) $(CFLAGS) -c ../build_dir/xorg-server-1.9.3/fb/fbcmap.c
fbcmap_mi.o: ../build_dir/xorg-server-1.9.3/fb/fbcmap_mi.c
$(CC) $(CFLAGS) -c ../build_dir/xorg-server-1.9.3/fb/fbcmap_mi.c
install: all
$(INSTALL) X11rdp $(X11RDPBASE)/bin/X11rdp
Noah, I’ve released v3.01 now which includes a patch to the linker directives for rdp – clone X11RDP-o-Matic and run it again, see if that works for you.
Regards
I have successfully installed a version from git clone on Ubuntu 13.04 .
All the applications work stable , and GCC Gold linkage issue was resolved .
There are issues with Session appearance ,
Fonts look very basic and a theme reminds me of Gnome 1.1
It has to do with Gnone-classic session configured by RDPsesconfig.sh script .
When connected throw console and Nomachine so the same server ( actually it’s exact clone ) everything looks fine with unity desktop available .
Wonder if unity or a more advanced version of Gnome could be configured .
Overall X11Rdp application seems to be much more robust that nomachine , has a better resistance to packet loss a.
I wonder if there are any plans for commercial support .
Regards
I successfully installed xrdp using your scripts on a Ubuntu 12.04.3 LTS (32 bit) image running on Amazon EC2 today. It didn’t work straight away, but the only thing I did before it worked was:
– reboot
– sudo apt-get update + dist-upgrade + autoremove
– reboot
Previously I was running v 0.5 successfully, but had the problem that new sessions often (but not always) started on reconnect. I think it was related to whether the screen resolution was the same or not. Now this problem seems to have disappeared; it seems to reconnect to the same session regardless of screen resolution — which is what I wanted.
One thing I was wondering: if I do “xrdp -v” it says 0.6.0, but I thought it was going to install 0.7.0. Is the version reported by xrdp incorrect or have I got an older version?
It looks very much like you had the Ubuntu-packaged version of xrdp installed before you ran o-Matic.
When you subsequently performed the dist-upgrade, Ubuntu, thinking it still had its version of xrdp installed, overwrote the o-matic configuration.
If I were you I’d apt-get remove –purge xrdp , then run o-Matic again.
Let me know how you got on. ;)
Regards.
Thanks for your quick reply, Kevin.
Yes, I did have the Ubuntu-packaged version of xrdp installed, and did an “apt-get remove xrdp” (i.e. without the –purge option) before attempting the “run-o-matic”.
I checked the source from github and see that the “configure.ac” file says ‘0.6.0’, while the readme file and several doc files says ‘0.7.0’. So my guess is that they simply forgot to change the version number.
I have one problem, though, which I wondered whether you’ve run into or not. It doesn’t work with remmina client from Ubuntu anymore. It works fine from Windows, Mac and rdesktop on Ubuntu (even though the mouse pointer is kind of strange when using rdesktop). Do you have any experience with the remmina client? It works for a while, and then remmina crashes with a segmentation fault. Doesn’t seem like remmina produces any logs, so it’s hard to figure out what happens.
I’m not keen on remima, personally, and so don’t use it – I usually use either rdesktop or xfrrerdp clients (or the Windows client if I’m connecting from there). My guess would be a bug in remima? Perhaps you should file a bug report with them.
Regards
I haven’t tried xfreerdp before, but that client seems to work perfectly for me, thanks for the tip! :)
Filed a bug report with remmina: https://github.com/FreeRDP/Remmina/issues/234
Thanks for providing this installation script and for your quick follow-ups.
Thanks for this utility – I’m new to linux, and I’ve been struggling for the last 2 days to get xrdp to work.
I’m using Ubuntu Desktop 13.10. This utility did work for me, but only if I selected the KDE environment. If I selected Gnome Classic, I just got a black screen on login. If I’m logging in on the box directly, and I select Gnome Classic from the login screen, then it worked – so I guess that means the Gnome Classic packages are installed correctly?.
Any ideas?
Also – is it possible to configure it so that if the session is disconnected, the login session ends? Either that, or to reconnect to an existing session? Currently if I run Firefox, disconnect, then reconnect, I can’t run Firefox because the previous session already has it running.
Also #2 – is it possible to shut down the box from the rdp session? If I try it my rdp session disconnects but the box does not power off.
To shutdown the box which is running as RDP server ist prevented for RDP users, because shutdown of a server is only for adminstrators of the box a useful function and not for users. Login with RDP as root user and you can shutdown the server or change ther policies for the RDP users, so that they can shutdown the server. Look at
http://scarygliders.net/2013/03/26/polkit-explorer-v1-0-released/
Hi,
First thanks a lot for your work. I just used your v3.01 tool on a debian wheezy 7. It completed all steps just fine, I also configured RDPsesconfig but in the end, it’s not listening on port 3389. It’s only listening on 127.0.0.1:3350
Any clues?
Thanks again for all your work!
A reboot seems to have fixed it (I had previously restarted xrdp manually … not sure what was the problem).
I have a new problem though. It works fine with XFCE, but with GDM3 it’s showing mostly a black screen with only parts of the top bar — I can click on it and it does react, e.g. clicking in the upper-left corner does open the Applications menu, which has full text and icons.
I’m happy with XFCE for the moment.
Forget using this with Gnome 3 (which is what I think you meant) – it’s pants.
Hi there. Thank you for a brilliant script!
I recently changed from Ubuntu to Xubuntu 13.10 and now every time a crash or authentication popup appears, it shows on the main session instead of the RDP session which caused it. Do you know what it could be?
By the way i used version 3 of X11-o-Matic and I’m logging in with the same user of the main session.
Once again many thanks for X11RDP-o_Matic!
xubuntu12.04, it works for me very well.
But how to login remote host in one common session, I want to see the screen that had logined in company.
Kevin,
Feedback as agreed. Installed this okay on stock 12.10 dell latitude running Unity (stillsuxbtw). Doesn’t work though. I get the fugly xrdp-sess login but then it crashes on connect, remmina, rdesktop. I haven’t tried it from a gnome-session.
Thanks for the feedback – all is welcome ;)
Please bear in mind that no one is installing o-matic – all you’re doing is running o-matic, which tries its best to download, install, and compile everything necessary to end up with two things – 1) The X11rdp back-end x server with all the accompanying Xorg binaries and utilities, which sit on your system in parallel with the more up to date Xorg system of your distribution. 2) xrdp, and it’ll be a more up to date version than the ones currently provided by distros. Both now get incorporated into their respective packages.
I have tested this on Ubuntu 12.10 and found that it works without crashing. I usually test on a freshly installed system running in a VM. I count a “passes the test” as “runs as expected and the end result is that I can log in to an RDP session.”
As you can understand, I have no control over what is on other people’s systems, nor can I control if they’ve followed the instructions, read up on how xrdp/X11rdp works, if they’ve previously installed xrdp from the distribution, or any number of combinations of What People Do To Their System before o-matic runs – the combinations of What Can Happen are almost infinite :) And I can’t account for every single possibility. Now I’m not implying by any means that you’ve done something wrong, by the way, merely the possibility that something on your system disagrees with xrdp/X11rdp to cause the problem you’re encountering – and it’ll be anyone’s guess as to what that is.
If it’s not running properly on your system, then all I can offer is advice to completely purge xrdp and X11rdp (easily achievable by apt-get remove –purge xrdp , and x11rdp), and try running o-matic again.
Try that, and please do let me know how you get on. If you’re still having the same problem, I’ll dust off a 12.10 iso image and re-test, and see what comes up. If it’s o-matic’s fault I’ll examine what causes it and rectify the problem in another point release. How’s that for value for money? ;)
Best regards
Kev.
Hi Kevin,
again, thanks for you huge job! I’ve discovered your pages about xrdp almost 2 years ago, it helped me a lot at that time and it is helping me again.
Here’s my feedback on the new version: I’ve done right now a test with a vertualized Debian 7.2 fresh install, with o-matic 3.02, and installation went smooth (ok, Debian 7.2 is not in the list of supported versions, but who cares). But when I login from a legacy XP rdp client I get a gnome GUI error screen. As far as I can see there’s no fault in xrdp logging, but I see strange issues on gnome logs. I’ve pasted it here, in case you want to have a look:
http://pastebin.com/EhKxyGaQ
All the best,
Fabio
Hello Kevin,
stellar job, once again. I just wanted share my partial success with you and others.
I installed x11rdp-o-matic (you oughta find a shorter name!) first thing after a fresh Lubuntu install of 13.10 x64. The installation went without problems, using –justdoit. However, trying to login from the RDP client all
I got was a black screen. I checked .xsession and it has just one entry in there, startlubuntu.
It turns out 13.10 doesn’t come with startlubuntu. Of course, this is not a problem with o-matic, but Lubuntu. The workaround can be found in step 6 of this answer. After that it worked just fine! If you have a black screen after remote login, check .xsession in your home folder to see what it’s trying to launch.
The only problem that I have is that each session connects to a new screen, looking at the log it increments the screen number each login. None of my running programs are available to me, but are still running.
How can I fix that? Basically I want to reuse my existing session, picking up where I last left. Any pointers would be greatly appreciated.
Cheers,
Tim
Tim, hi, and thanks for the feedback.
If you are reconnecting with the same colour depth and resolution, you should be reconnected back to an existing session.
Even a difference in resolution of 1 pixel can trigger xrdp to create an entirely new session.
If you are absolutely certain you are attempting to reconnect to a current session using the same, original parameters it was created in, then perhaps this is a bug in xrdp and needs to be reported to the upstream author Jay Sorg on the mailing list.
Regards
I have saved the RDP config on my Windows box. I use the same shortcut to connect and I only connect from the same computer.
It used to work, giving me the same session, but stopped about a year ago. I’m wondering if it is a simple fix in a config file. Unfortunately, it’s beyond my skill level to track down…
I’ve run into the same problem, this is I can’t resume a previous session. I’m trying to track down the issue now and will report back if I find a fix.
Looks like it was an oversight when running O-Matic, there was a compile error building xrdp, I didn’t see it scrolled off my screen. The error was:
X11/extensions/Xrandr.h: No such file or directory
The fix was to install libxrandr-dev:
sudo apt-get install libxrandr-dev
and rerun O-Matic with –nox11rdp so it justs builds xrdp this time.
It should install and you should be back up and running with resumable sessions.
So I think what happened was I was either not installing xrdp or installing an old one in /packages/xrdp/ due to the new package not being compiled/built, doh!
Tim, what is the workaround you are referencing. I can’t get the link and I think am having the same problem from Mint 16 Mate desktop.
FYI, Im using –bleeding-edge
Tried to install the latest in git with sudo ./X11rdp-o-matic.sh –justdoit on Ubuntu 12.04 64bit and it failed with following error:
checking for X… configure: error: Package requirements (xproto) were not met:
No package ‘xproto’ found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables X_CFLAGS
and X_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
configuration failed for module makedepend-1.0.3
error building X11rdp
Hmm odd. Ubuntu’s APT package manager should automatically install the required dependencies.
Try apt-get install x11proto-core-dev and re-running o-matic.
Regards
Kev.
Now I got:
checking for xsltproc… no
configure: error: XCB requires xsltproc.
configuration failed for module libxcb-1.7
error building X11rdp
After manually adding xsltproc I got to:
checking for NEEDED… no
configure: error: Package requirements (pthread-stubs xau >= 0.99.2) were not met:
No package ‘xau’ found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables NEEDED_CFLAGS
and NEEDED_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
configuration failed for module libxcb-1.7
error building X11rdp
But I can’t find a package by the name xau in the repository.
libxau-dev, and again – this should all be automatically installed when running o-matic as it’s a dependency for compiling X11rdp.
How is your Ubuntu 12.10 package repository set up? Something doesn’t look right – I’ve tested o-matic on 12.10 and it works.
Try running o-matic with the –justdoit switch and if you could pastebin the output that would be helpful.
Regards
I’m using Ubuntu server 12.04 64bit.
Output part1: http://pastebin.com/niwi6gBM
Output part2: http://pastebin.com/jHGYe2mK
Output part3: http://pastebin.com/SCqbNBHs
Uggla, I looked at your pastebin – thank you.
Just to check, I then installed a pristine copy of Ubuntu 12.04 Server 64-bit in a Virtual Machine, and after installing all updates, plus git, ran o-matic on it. It ran as expected with no errors.
I notice that you appear to be logged into your server via an Active Directory domain account? (via likewise-open).
I highly suggest you run o-matic whilst logged in as a normal Linux native system user (who has sudo priveleges of course).
Try that, and get back to me – I expect things will improve.
Regards.
I tried with a local user as you suggested but the result was the same :(
I take it you are running o-matic with superuser priveleges? It won’t work otherwise (i.e. it needs to be able to call apt-get with enough permissions to install packages).
Basically, it looks like o-matic on your specific system can’t run apt-get properly.
If you want, for a fee of course, I can try and debug your system to see why it’s not working and try to get it running for you.
Please email me at kevin at this domain name if you wish to take this further.
Regards.
Thanks, but I’ll go on adding the packages manually. I’ll let you know if I find something interesting.
/H
Hi Kevin,
I am a concerned about the following logs that keep appearing in xrdp.log file. An ip of 109.112.47.46 tries to connect to xrdp whenever I try to connect. It does not appear to be in any other logs, the firewall on the router and server are locked up tight. Considering that the NSA has their hands in everything i’m a bit suspicious on anything weird showing up in the logs. I have searched around and could not find an answer. Its been showing up in xrdp.log since i installed xrdp. It seems to appear only when i xrdp to the server. The IP is some ip at Vodaphone Milan Italy. Here’s a excerpt of the xrdp.log, (My ip address xxx.xxx.xxx.xxx)
[20131105-05:31:58] [INFO ] An established connection closed to endpoint: 127.0.0.1:3350 – socket: 11
[20131105-05:31:58] [INFO ] The following channel is allowed: cliprdr (0)
[20131105-05:31:58] [INFO ] The following channel is allowed: rdpsnd (1)
[20131105-05:31:58] [INFO ] This channel is disabled (not in List): snddbg
[20131105-05:31:58] [INFO ] The following channel is not allowed: snddbg (2)
[20131105-05:31:58] [DEBUG] The allow channel list now initialized for this session
[20131105-05:32:22] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:56981 – socket: 8
[20131105-05:32:22] [DEBUG] xrdp_mm_module_cleanup
[20131105-05:32:22] [INFO ] An established connection closed to endpoint: 109.112.47.46:12148 – socket: 12
[20131105-05:32:22] [INFO ] An established connection closed to endpoint: 109.112.47.46:12148 – socket: 13
[20131105-05:32:38] [INFO ] A connection received from: xxx.xxx.xxx.xxx port 56982
[20131105-05:32:38] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:56982 – socket: 8
[20131105-05:32:38] [INFO ] An established connection closed to endpoint: NULL:NULL – socket: 7
[20131105-05:32:38] [DEBUG] MCS_CJRQ – channel join request received
[20131105-05:32:38] [DEBUG] MCS_CJRQ – channel join request received
[20131105-05:32:38] [DEBUG] MCS_CJRQ – channel join request received
[20131105-05:32:38] [DEBUG] xrdp_000035e6_wm_login_mode_event_00000001
[20131105-05:32:38] [WARN ] local keymap file for 0x0409 found and dosen’t match built in keymap, using local keymap file
[20131105-05:32:50] [DEBUG] returnvalue from xrdp_mm_connect 0
[20131105-05:32:50] [DEBUG] xrdp_mm_connect_chansrv: chansrvconnect successful
[20131105-05:32:50] [INFO ] An established connection closed to endpoint: 127.0.0.1:3350 – socket: 11
[20131105-05:32:51] [INFO ] The following channel is allowed: cliprdr (0)
[20131105-05:32:51] [INFO ] The following channel is allowed: rdpsnd (1)
[20131105-05:32:51] [INFO ] This channel is disabled (not in List): snddbg
[20131105-05:32:51] [INFO ] The following channel is not allowed: snddbg (2)
[20131105-05:32:51] [DEBUG] The allow channel list now initialized for this session
[20131105-06:13:01] [INFO ] An established connection closed to endpoint: 109.112.47.46:12148 – socket: 13
[20131105-06:13:01] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:56982 – socket: 8
[20131105-06:13:02] [DEBUG] xrdp_mm_module_cleanup
[20131105-06:13:02] [INFO ] An established connection closed to endpoint: 109.112.47.46:12148 – socket: 12
[20131105-06:29:06] [INFO ] An established connection closed to endpoint: NULL:NULL – socket: 7
Thank you for taking the time and effort to create this amazing remote desktop tool. I will donate to keep this project going.
I too am puzzled by this, and have asked on the xrdp-devel mailing list.
By the way – I didn’t write xrdp/X11rdp – this tool X11rdp-o-Matic – is an automated build tool for those – it does all the hard work so you don’t have to ;)
But thanks anyway :)
Regards
You definitely saved us many hours of work. Currently, it’s running on Linux Mint 15 with no issues and I used the policykit to get the correct logon permissions for my needs.
Thanks for looking into the issue. I’m curious to find out the cause of that mysterious ip address. :)
Glad that’s working great for you ;)
If only I could have sold this as a product :P
I’m already starying to see replies to the Mystery Of The Rogue IP Address – I’ll wait a day or two then get back to you on that.
Regards!
Any news on that mysterious IP?
I did get some feedback on the xrdp-devel list…
So it appears to be caused by something in the xrdp source code which is calling one of the unix domain socket calls. This call then generates that spurious IP address – for whatever reason – and that’s getting reported in your logs. It appears that no actual connection is being created, and that it’s just a “spurious” address, although why just one particular IP all the time I don’t know, and as I’m not an actual xrdp/x11rdp developer and my C is very rusty and I don’t have the time, I’m not going to start bug hunting ;)
But basically at the end of the day, there appears to be zero traffic either coming from or going to that IP address, and you can probably safely ignore reports of it in your logs. If you’re feeling paranoid, you can always place a specific firewall rule blocking incoming and outgoing connections to/from that specific address.
If it’s REALLY bothering you – why not submit a bug report to Jay Sorg, the main xrdp developer as well.
Hope that helps!
Regards.
Thanks Kevin. I feel confortable that the problem is just a bug.
Best Regards
So I tried using a different client for fun, using MS Terminal Client on windows 7. I get the same results but i also noticed the mystery ip pops up only when i disconnect from the xrdp server at 23:01:40. I get the following from xdrp.log:
20131106-23:00:29] [INFO ] A connection received from: xxx.xxx.xxx.xxx port 49510
[20131106-23:00:29] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:49510 – socket: 8
[20131106-23:00:29] [INFO ] An established connection closed to endpoint: NULL:NULL – socket: 7
[20131106-23:00:29] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:49510 – socket: 8
[20131106-23:00:29] [INFO ] A connection received from: xxx.xxx.xxx.xxx port 49511
[20131106-23:00:29] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:49511 – socket: 8
[20131106-23:00:29] [INFO ] An established connection closed to endpoint: NULL:NULL – socket: 7
[20131106-23:00:29] [DEBUG] MCS_CJRQ – channel join request received
[20131106-23:00:29] [DEBUG] MCS_CJRQ – channel join request received
[20131106-23:00:29] [DEBUG] MCS_CJRQ – channel join request received
[20131106-23:00:29] [DEBUG] MCS_CJRQ – channel join request received
[20131106-23:00:37] [DEBUG] xrdp_00002d2f_wm_login_mode_event_00000001
[20131106-23:00:37] [WARN ] local keymap file for 0x0409 found and dosen’t match built in keymap, using local keymap file
[20131106-23:00:55] [DEBUG] returnvalue from xrdp_mm_connect 0
[20131106-23:00:56] [INFO ] An established connection closed to endpoint: NULL:NULL – socket: 12
[20131106-23:00:58] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again…
[20131106-23:00:58] [INFO ] An established connection closed to endpoint: NULL:NULL – socket: 13
[20131106-23:00:58] [DEBUG] xrdp_mm_connect_chansrv: chansrvconnect successful
[20131106-23:00:58] [INFO ] An established connection closed to endpoint: 127.0.0.1:3350 – socket: 11
[20131106-23:00:58] [INFO ] The following channel is allowed: rdpdr (0)
[20131106-23:00:59] [INFO ] The following channel is allowed: rdpsnd (1)
[20131106-23:00:59] [INFO ] The following channel is allowed: drdynvc (2)
[20131106-23:00:59] [INFO ] The following channel is allowed: cliprdr (3)
[20131106-23:00:59] [DEBUG] The allow channel list now initialized for this session
[20131106-23:01:40] [INFO ] An established connection closed to endpoint: 109.112.47.46:12148 – socket: 13
[20131106-23:01:41] [INFO ] An established connection closed to endpoint: xxx.xxx.xxx.xxx:49511 – socket: 8
[20131106-23:01:41] [DEBUG] xrdp_mm_module_cleanup
[20131106-23:01:41] [INFO ] An established connection closed to endpoint: 109.112.47.46:12148 – socket: 12
my install on debian Jessie worked perfectly, but that server will be retiring soon… The new one doesn’t want to play nice it seems:
(on a fresh ubuntu 13.10 server)
The script (–justdoit) runs without error, the server installs and services are started correctly.
I can connect to the server with RDP and get to the login box, then this happens:
Displayed in login manager: http://pastebin.com/tJEnG6K8
Xrdp.log: http://pastebin.com/1UfNLrv1
xrdp.sesman.log : http://pastebin.com/dbSzx4Qm
any thoughts ?
Hiya, did you configure a desktop environment using RDPsesconfig?
Regards
Yes, i tried with gnome & lxde
Hi. I have install your script. Connetction establishes well, but i have to run GNS3 from root when i am using RDP. But when i type “sudo GNS3” it runs the window of program but the body of window do not appears its just grey. If i run it without “sudo”, just “gns3” everything goes well.
If i’m use sessman-vncSession everything works well.
Here is the screenshot http://yadi.sk/d/nQ6e3CvpCLm7F
Absolutely no idea – never used GNS3.
Also please read the FAQ page – you didn’t install o-matic.
Regards
Hi, Kevin.
I mentioned GNS3 only as an example.
The same thing happens if i run any application from Konsole using another user then i login with rdp.
For example the same things happens with Dolphin, VBox and any program that use window manager even konsole
http://yadi.sk/d/YK–yksBCPZHE
when i was running RDPsesconfig.sh i had chosen “All users”
Kubuntu 13.10
Hmm. I’ve not seen that behaviour before, and I cannot guess why this would be.
You didn’t say what distribution you are using, by the way.
I think your best bet would be to ask on the xrdp-devel mailing list. There is a link to it on my FAQ page.
Regards
Sorry wrong link
http://yadi.sk/d/2ukKUyv7CLmbB
My first impression is that this thing seems to work, but with a minor issue, I may have to search around for:
It seems to work stable, but what i do see, is that it keeps the US keyboard layout, which does not match my Norwegian layout …
The Linux system is Xubuntu 12.04 LTS, which works far better than expected when i saw the warning … (Seems like Ubuntu 12.04 are the same as long as the needed tools are there)
Hi Kevin.
I have Ubuntu 13.10 and I’m seeing nothing when I connect but a black screen. It doesn’t matter which of the four desktop environment choices I choose.
This isn’t a fresh install of 13.10 and, if it helps, I had previously run some version of the o-matic under 13.04 with unqualified success.
Edward
A little progress. KDE started working without any additional effort. Ran RDPsesconfig.sh, switched to XFCE, still got a black screen. Tried ssh’ing in and directly running startxfce4 (contents of .xsession) and I received this error:
The program ‘startxfce4’ is currently not installed. To run ‘startxfce4’ please ask your administrator to install the package ‘xfce4-session’
Installed xfce4-session, rebooted, and after a couple of attempts, I’m currently connected with XFCE running. I’m not familiar with XFCE, so I don’t know if it’s limited functionality or what.
Anyway, if anyone else is getting a black screen upon connecting, installing xfce4-session may help make XFCE a working option.
Edward,
Hmmm RDPsesconfig.sh should have automatically installed that if it wasn’t already there, did you run RDPsesconfig.sh as superuser? It needs that to be able to run apt-get install.
But I’m glad you got that sorted out. Oh and Xfce4 is pretty much in my opinion the best option if you’re RDP’ing to your system – it’s lightweight and does the job :)
Regards
So just ran this on an Ubuntu 12.04.3 running on an Udoo board and had this come up:
There was a problem… the /opt/X11rdp/bin/X11rdp binary could not be found. Did the compilation complete?
Stopped. Please investigate what went wrong.
The packages were created, and when trying to install them I got the same error.
Something went wrong during the build process and the X11rdp binary did not get built.
Try running o-matic again with –justdoit and see where it goes wrong.
I know it builds on Ubuntu 12.04.3 as I’ve tested it on this myself.
Regards
It would be very nice if packages were created for the common archs and put in their respective repositories. It took me (estimating) more than three hours to compile/install!
Feel welcome and encouraged to supply a patch for that ;)
Regards
Hey Kevin-
Never had a problem with this script before (and THANK YOU for writing and maintaining it!).
Fresh install of a couple new boxes though is giving me a build problem. No matter what I do, the dpkg-deb script fails with the following error in the dpkgbuild.log file
dpkg-deb: error: control directory has bad permissions 777 (must be >=0755 and <=0775)
This is a fresh, out of the box, Ubuntu 12.04 server (which has worked flawlessly for me in the past.
I'm still digging to see if I can find out why but looking for hints…
Hi Josh,
Ugh! I’ll do another fresh install of 12.04 server in a VM tomorrow and test it – was it 32 or 64?
I did a quick google of the error… does your /home or /home/ directory have that 777 permission? That might be where the problem lies.
You could try chmod -R 0755 the X11RDPoMatic directory after downloading from git – that might solve the problem – and presumably you’re running o-matic with sudo or as root as well since you’ve used it before ;)
Regards
/home and /home/$user are not 777, but properly owned and chmodded according to user. I actually cd to /opt in full sudo and git/run script from there.
I tried chmod -R 0775 on /opt/X11RDPoMatic (git target) and that worked. LOL – I thought I had tried that but who knows.
Only thing I did different is this install was on an ESXi Vm as opposed to a Proxmox KVM.
Heh – glad it got working in the end. I’ve never, ever, tried running it from /opt before – which is probably why this has cropped up – you’re sure /opt doesn’t set gid somewhere at all? Odd.
Anyway – it worked and that’s what counts ;)
Regards
I have tested loads of different ways to remote my Linux from both my PC and Ipad during this weekend and failed, well except for VNC but I want to use X or RDP and your extremly nice script solved it. It workds great for Kububtu 13.10 :-) Very well done insdeed.
//Pekka
Hi,
System : Debian 7.2.0 64x
Your X11RDP package would be awesome.
– The installation runs smoothly
– Access without any further settings directly RDP
– Can access it from another computer on the already open session. (In normal XRDP a new session is started)
Only one point bothers me.
– No possibility to adapt the keyboard layout. Or am I missing the.
(XRDP it is with the mi-xxxx.ini files possible to change the keyboard layout. X11rdp But when I think, unfortunately, not the same.)
Regards Koe
Thanks :)
What keyboard layout are you using?
I have built and run it on Linux Mint Mate 16 (Petra) (x64) and it works fully without any issues as far as I have so far tested it. Firefox is fine.
Hey thanks for the feedback! :)
Awesome work!
Had to modify /etc/xrdp/startwm.sh as follows:
# debian
if [ -r /etc/X11/Xsession ]; then
. /home/meetai/.xsession
exit 0
fi
for it to work.
This worked for me 100%.
I am using Ubuntu 13.10 x64 server @ digital ocean
Another satisfied customer – I like those ;)
Hi
I’m running Ubuntu 13.04 on Hyper-v, for some reason the build fails at different points due to failing to download each time a different package! Then I try to download the same package from browser and it works!! Ubuntu is fresh and I’m not sure what else to check…
Hi Saba
Hyper-V … could it be that your Windows firewall is blocking the virtual machine?
Either that or there’s some kind of proxy problem. Failing that, I don’t know… I’ve only used VirtualBox for running virtual machines.
system Ubuntu 12.04
– The installation runs smoothly
– Access without any further settings directly RDP
– Can access it from another computer on the already open session. (In normal XRDP a new session is started)(copy and paste is working)
Performance was very slow. apt-get purge xrdp, then apt-get install xrdp -performance improved but copy and paste not working.
Is there a way to login to XRDP as root? (I found 100 pages telling that is not a good idea), but it is speed up configuration.
I have just installed X11RDP-o-Matic Version 3 on my Debian Wheezy system. I am told that the installation was successful. However, when I try to follow the final instruction to “Use the RDPsesconfig utility to do this” (to choose the desktop) by running “sh RDPsesconfig.sh” as root from within /home/stan/X11RDF-o-Matic/ it throws these errors:
RDPsesconfig.sh: 85: RDPsesconfig.sh: let: not found
RDPsesconfig.sh: 86: RDPsesconfig.sh: let: not found
RDPsesconfig.sh: 201: RDPsesconfig.sh: Syntax error: “(” unexpected (expecting “fi”)
Um what? IMPOSSIBURU! ;)
Do you have bash installed on this system?
“let” is a bash/korn shell command – works on every single linux system I’ve ever used and also any Unix system with a ksh (or even just sh) ;)
Regards
Yes, bash is what I am using.
Try ./RDPsesconfig.sh as root rather than “sh …”
Regards.
Thanks Kevin. That did the trick.
For reference I am using Debian 7.3.
This is a simple household LAN. Now, I will compare RDP with the VNC (x11vnc) I have been using. The VNC is useably fast, even with an old Thinkpad T42p as my client. My main dissatisfaction has been that VNC does not support audio. Does your implementation of RDP for linux?
gnome goes to fallback my ,xsession in the user folder says this
gnome-session –session=gnome-fallback
i am going into graphics fallback mode
Okay so, what’s your actual question then?
hey i have installed this like in the guide but then i connect and choose a session there only come a black screen and the terminal i can only use commands but how can i do so i also go the desktop menu and all the stuff but i see then i log of and on it let me connect to my old session thats good job ;) and i have tryed the to change it i have tryed the gnome classis, unity 2d,
Thanks for the feedback.
I see the exact same behaviour with my Debian unstable setup – I think it’s something to do with systemd, perhaps.
At this moment in time, I’m busy with another project & running my new company, but I do have updating o-matic on my TO-DO list.
Once the project is finished, I /will/ get around to looking at o-matic and how it’s interacting with the latest iterations of xrdp/x11rdp.
Perhaps in the meantime someone could investigate what’s going on with xrdp.
Regards
but wich linux version work with this???
Try Debian Wheezy , or a slightly earlier version of Ubuntu.
Perhaps even try Linux Mint 16 Mate? I’ve had feedback that it works fine on that.
Regards
I just want to thank you for your hard work! I use your tool for several machines, running Linux Mint and Ubuntu.
Before I found rdp-o-matic I always had to fight different “virtual desktops” when connecting from different machines and I mostly failed to connect to the “console desktop” (the one shown on the monitor of the machine itself)!
Thank you!
Hi
Thanks for the solid effort.
Installed flawlessly today on Debian Wheezy 7.2, works great.
Cheers
The script is fine for turning a Ubuntu Server 12.04 LTS into a RDP-Terminal server with XFCE:
How does it work (everthing as root!):
1.) Create necessary user.
adduser USERNAME
2.) Reboot
init 6
3.) Install XFCE desktop:
apt-get update
apt-get upgrade -y
apt-get install xubuntu-desktop -y
4.) Install RDP-Stuff:
apt-get install git -y
git clone -b v3.0beta3 https://github.com/scarygliders/X11RDP-o-Matic.git
cd X11RDP-o-Matic/
./X11rdp-o-matic.sh –justdoit
./RDPsesconfig.sh
No warrenties!
Quick question: I changed the RDP port to something different from the standard 3389, works fine after I changed in xrdp config.
If I change the ssh port , would I need to change something in the xrdp config?
Cheers
I’ve no idea – as you don’t include details like “I’m tunnelling the xrdp port via ssh” or such like ;)
If you change the RDP port from 3389 to $something_else, then any ssh tunnelling should be changed to suit that.
I have an article all about ssh on my site, btw – you’d be mad not to read it! :D Mad I say!
http://scarygliders.net/2012/04/04/secure-your-systems-with-ssh-on-linux-and-putty-on-windows-part-1/
I love specific questions with vague information :)
Best regards
Thanks.
All clear now. I thought your implementation runs tunnelling xrdp via ssh by default.
Your ssh article is kinda neat.
Cheers
Hi, first, thanks for the script/project.
Some notes from myself.
1. to the developers – you should expand your config to support sssd, which is used in enviroments with ActiveDirectroy/LDAP
2. when compiling do not use ccache, it will fail miserabely (unfortunately) – maybe some check if the ccache is set? usually there is /usr/lib/ccache in the PATH env var
3. make sure users use unity-2d, otherwise things will crash on almost anything (sometimes even showing desktop ends in acrash after 15s
4. I’ve noticed client can hang when trying to change background texture, didn’t have time to investigate, so I killed all the processess of given user (cause restarting xrdp does not help) and then it shows properly the solid color background.
Hi Kaszpir,
Thanks for your comments.
Your points 1), 2), and 4) should go to the xrdp-devel mailing list – I provide a link to that in the FAQ Page (#4).
On your point 3) , I’ll have to check my RDPsesconfig script, but I’m sure I limit choices to Ubuntu users.
Best regards!
Tim, Where is step 6 of this answer? What is the workaround for startlubuntu missing in 13.10?
This works for me in Ubuntu 13.10. Only the KDE desktop, mind you – the others are just black – but that’s enough for me.
Thanks for doing this and making it available. Without this, I would’ve spent probably a year trying and failing to set this up myself somehow. As it is, it just pretty much works. It’s a beautiful thing.
Thanks for the feedback – don’t think it’s been tested under 13.10 (until now) ;)
When I Get The Time[tm], I’ll investigate to see how I can persuade the other desktops to work.
Regards
13.10 – Yes, it’s working on Linux Mint 16 PETRA KDE Edition, immediately after ./X11rdp-o-matic.sh, so no need for RDPsesconfig.sh to be run.
Regards
I’m running ubuntu 13.10 with xfce 4.10. The installation went smoothly but I don’t think it’s working like it should be.
At each login with rdp from windows a new session is started and I don’t have any possibility to choose a running session. Can you help me with the problem?
I definitely think this is due to interaction between xrdp and Upstart – Canonical’s choice of replacement for the traditional Init style of booting a linux system.
What’s the solution? No idea – it’s probably needing brought up with the xrdp developers, of which I am not one of them :)
It just work for one time and connected to one of my previously left sessions. But this was on time in few last days.
I got the following error while running the script:
labuser@ubuntu1204:~/X11RDP-o-Matic/xrdp$ sudo dpkg -i xrdp_0.7.0-1_amd64.deb
(Reading database … 241849 files and directories currently installed.)
Unpacking xrdp (from xrdp_0.7.0-1_amd64.deb) …
dpkg: error processing xrdp_0.7.0-1_amd64.deb (–install):
unable to create `/selinux/context.dpkg-new’ (while processing `./selinux/context’): Permission denied
I tried using checkinstall per http://web.archiveorange.com/archive/v/QbvI6xtiXzo1i2Prwze9 but it was taking waaay too long.
ideas?
fix it like this: sudo dpkg –path-exclude=/selinux/* -i xrdp_0.7.0-1_amd64.deb
When I type in git clone https://github.com/scarygliders/X11 RPD-o-Matic.git
I’m being asked for a user name and password, what am I missing here?
Is that what you typed in?
It should be
git clone https://github.com/scarygliders/X11RDP-o-Matic.git
Must be something wrong with my typing skills, copied and pasted it worked just fine, sorry for the intrusion.
No worries – we all have off-days ;)
We have the unique problem of username’s with .’s in them which RDPsesconfig doesn’t like. Besides that, seems to work great & saved me a lot of time – Xubuntu 12.04. Thanks.
Hi,
Thanks for this script, it works very well.
I have an issue with my keyboard layout and I can’t resolve it. I need to wrok with my french keyboarb. after some research, I tried to gerate again a correct layout file to replace the km-040C.ini file (the french layout in the /etc/xrdp path). Without succes. I always have the same issue in log:
[WARN ] local keymap file for 0x040c found and dosen’t match built in keymap, using local keymap file
Is someone can help me?
Thanks
Hi scaap,
Try asking on the xrdp-devel mailing list – I have a link to it on the FAQ page , section 4.
The link to the FAQ page is at the very top of the blog.
Regards
Hi Kevin,
First of all thanks for the massive effort of making this script – the install was seamless and painless.
I do have one issue though and for the life of me can not figure out what is going wrong.
I have Ubuntu 12.04 installed on a VM in VMware Workstation on a Windows8 machine (this will be moved to an ESXi host when I am happy with how it works). So naturally to test this I am using the standard Remote Desktop Connection app that is the windows default.
When I connect to this, it connects fine to my server – I get the login screen ‘Login to xrdp’. I select sesman-X11rdp as the module and Enter my username and password and click ‘OK’.
This then comes up with the ‘Connection Log’ window on a blank black background within my remote session. The Log reads:
connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait …
xrdp_mm_process_login_response: login successful for displa[ the rest of the line is truncated by the connection log window]
12
started connecting
connecting …
connected OK
The ‘Connection log’ dialog then disappears and I am left with a blank black screen within my Remote Desktop Connection.
This has left me stumped :-)
When setting up, I followed your instructions to a tee, I ran:
sudo ./X11rdp-o-matic.sh –justdoit
followed by:
sudo ./RDPsesconfig.sh
Hi James and thanks for your kind comments :)
Hmm… can you, as an experiment, try running o-matic again with the
--bleeding-edge
switch as well as--justdoit
?If not, then I suspect there’s a problem with the PAM configuration – and/or an interaction with Ubuntu’s Upstart (its replacement for sysvinit).
And there’s also the xrdp-devel mailinglist which is a direct line to the xrdp developers as well – they generally give good assistance for queries like yours – there’s a link to the ML in my FAQ page, section 4.
Once I get my Secret Project finished (it’s very nearly done), I think I want to spend some time on how xrdp interacts with the different linux versions, and perhaps come up with some article on how things like Upstart, Systemd, PAM, etc. all affect xrdp.
I really haven’t spent a lot of time on xrdp/X11rdp other than getting it compiled and installed, which is o-matic’s primary mission – the actual configuration bit of it, behind the scenes, has always been a bit of a Dark Art. There are so many combinations and ways that linux distributions are set up, and each differ in some ways from each other – even in a point release of the same distro sometimes, that it’s nigh on impossible to create a universal one-size-fits-all xrdp configuration. Plus there’s now the fact that Debian has recently chosen to use Systemd as it’s replacement for sysvinit – you’re playing catch-up with distros all the time ;)
Anyway, I’m rambling, and sorry I can’t be more help than this at the moment. Ask in the xrdp-devel mailing list – plus search the archives as there may have been similar problems to yours – or perhaps you’ve discovered some bug in xrdp that the developers need to know about?
Best regards!
Oops, just saw a typo in my post. I am using Ubuntu 13.04 (server) and to elaborate, I installed:
ubuntu-desktop –no-install-recommends
gnome-session-fallback –no-install-recommends
I have the same problem as others here with the keyboard layout reverting to en.US after login (the km-xxx file for my local language work on the login screen).
For the moment I solved it by add this line to startwm.sh, in the wm_start() function:
setxkbmap se
Change se to your own language.
I have the same problem with spanish keyboard (km-040a.ini). None of the options I have found on the web worked for sesman-X11rdp (master or devel branch).
Using “setxkbmap es”,it works with new sessions, but on reconnect, keyboard revert to en.US.
Using sesman-Xvnc session, keyboard works well.
Thanks for your work.