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
I’m having the same problem. The funny thing is that I can download the file with wget…
Kinda error here:
rail.c:31:35: fatal error: X11/extensions/Xrandr.h: No such file or directory
compilation terminated.
make[3]: *** [rail.o] Error 1
make[3]: Leaving directory `/home/r00t/X11RDP-o-Matic/xrdp/sesman/chansrv’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/r00t/X11RDP-o-Matic/xrdp/sesman’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/r00t/X11RDP-o-Matic/xrdp’
make: *** [all] Error 2
Selecting previously unselected package x11rdp.
(Reading database … 103594 files and directories currently installed.)
Unpacking x11rdp (from …/Xorg/x11rdp_0.9.0-1_i386.deb) …
Setting up x11rdp (0.9.0-1) …
dpkg: error processing /home/r00t/X11RDP-o-Matic/packages/xrdp/*.deb (–install):
cannot access archive: No such file or directory
Errors were encountered while processing:
/home/r00t/X11RDP-o-Matic/packages/xrdp/*.deb
update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d/xrdp
./X11rdp-o-matic.sh: line 648: /etc/init.d/xrdp: No such file or directory
X11rdp and xrdp should now be fully installed, configured, and running on this system. One last thing to do now is to configure which desktop will be presented to the user after they log in via RDP. Use the RDPsesconfig utility to do this.
Am i missed something?
Unable to install X11RDP-o-Matic. Run into an error towards the end of the script.
Fatal error: X11/extensions/Xrandr.h: no such file or directory
#include
here is the entire string of errors;
rail.c:31:35: fatal error: X11/extensions/Xrandr.h: No such file or directory
#include
^
compilation terminated.
make[3]: *** [rail.o] Error 1
make[3]: Leaving directory `/root/xrdp/sesman/chansrv’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/xrdp/sesman’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/xrdp’
make: *** [all] Error 2
Selecting previously unselected package x11rdp.
(Reading database … 117909 files and directories currently installed.)
Unpacking x11rdp (from …/Xorg/x11rdp_0.9.0-1_amd64.deb) …
Setting up x11rdp (0.9.0-1) …
dpkg: error processing /root/packages/xrdp/*.deb (–install):
cannot access archive: No such file or directory
Errors were encountered while processing:
/root/packages/xrdp/*.deb
update-rc.d: /etc/init.d/xrdp: file does not exist
./X11RDP-o-Matic/X11rdp-o-matic.sh: line 650: /etc/init.d/xrdp: No such file or directory
The dpkg error several lines up states cannot access archive: No such file or directory, /root/packages/xrdp/*.deb
When I look at /root/packages I find the following file structure
/root/packages/Xorg
I have rm -fr the X11RDP-o-Matic directory and did a fresh get but same results.
Any thoughts or suggestions?
Thanks
This is a fresh update from 12.4 to 13.10.
libxrandr-dev package is not installed on your system.
I think it’s a more recent requirement in the newer branch(es) of x11rdp.
I have been working on a new release of o-matic, and I’m currently testing it before making a full release.
The bleeding-edge version of o-matic is in the
devel
branch of the o-matic git repo and already incorporates the additional reqiurements.Expect a new full release of o-matic within the next hour or so, pending the devel version passing the tests.
In the meantime, you can
apt-get install libxrand-dev
, before running the current version of o-matic again.The new release works, installed without any errors and I was able to login, like the new GUI.
Thanks for the feedback, glad you liked it ;)