LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Any advice on building and running xrdp and xorgxrdp on Slackware? (https://www.linuxquestions.org/questions/slackware-14/any-advice-on-building-and-running-xrdp-and-xorgxrdp-on-slackware-4175617278/)

allend 11-11-2017 09:05 AM

2 Attachment(s)
I have been playing with this on a clean install of Slackware64-14.2
Rather than repackaging binaries as kjhambrick seems to be doing, I have been working on building from source. Hence my updated .info files are different.
When building xrdp, I have found it necessary to add --disable-painter and --disable-rfxcodec to ./configure for the build to succeed.
The patches supplied by mancha are no longer needed as they appear in the code.
I have updated the sesman.ini.patch as I think it is important. (No need to allow root login).
I thank kjhambrick for the catch on the new km.???????? files. They appear to be additional keymap definitions.
These are my current versions of SlackBuilds for xrdp-0.9.4 and xorgxrdp-0.2.4 that build without error.
Like kjhambrick, I still need to test.

allend 11-11-2017 09:23 AM

Quote:

OP - have you considered Xorg for Windows (that's if Applocker doesn't block it, of course)?
Consider Applocker as using a whitelist. If the application is not on the list, then it will not run.

kjhambrick 11-11-2017 03:40 PM

Quote:

Originally Posted by allend (Post 5779430)
I have been playing with this on a clean install of Slackware64-14.2
Rather than repackaging binaries as kjhambrick seems to be doing, I have been working on building from source.

allend --

The two slackbuilds I sent ARE SUPPOSED TO compile from source.

The xrdp.SlackBuild is simply a version update of the official SBo Package.

The xorgxrdp.SlackBuild is a clone of the xrdp.SlackBuild ..

No worries four eyes is better than two eyes :)

-- kjh

kjhambrick 11-11-2017 04:07 PM

2 Attachment(s)
allend --

You made me look ...

I left a Version 0.6.1 artifact in the new 0.9.4 xrdp.SlackBuild.

And because xordxrdp.SlackBuild is a clone of xrdp.SlackBuild, it is also borked.

Here are diffs ( same in both SlackBuilds ) and the fixes are attached.
Code:

# diff -Naur xrdp.SlackBuild.bad xrdp.SlackBuild
--- xrdp.SlackBuild.bad 2017-11-10 12:51:01.426283711 -0600
+++ xrdp.SlackBuild    2017-11-11 15:52:03.313098477 -0600
@@ -44,7 +44,7 @@
 rm -rf $PKG
 mkdir -p $TMP $PKG $OUTPUT
 cd $TMP
-rm -rf $PRGNAM-v$VERSION
+rm -rf $PRGNAM-$VERSION
 tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
 cd $PRGNAM-$VERSION
 chown -R root:root .

Note the 'v' in fromt of the $VERSION Variable on the .bad file.

The -v0.6.1 string is an artifact from the rdp Version 0.6.1 File Name.

This bug manifests itself in both SlackBuilds as:

They will compile the source code one time only into a clean Directory.

However if you rerun the SlackBuilds, they fail to rm -rf the build directory and`make` does nothing because the code is up to date !

And they do indeed repackage the binary files that were compiled the first time ( over and over )

Dooh !

I see that willysr caught and squashed the bug in the official Version 0.9.4 xrdp.SlackBuild.

I removed the xrdp.SlackBuild.txt and xorgxrdp.SlackBuild.txt from my previous posts and attached the fixed ones in case anyone grabs them later.

They're also attached here for handiness :)

Thanks for making me look allend !

-- kjh

kjhambrick 11-11-2017 04:23 PM

Quote:

Originally Posted by allend (Post 5779430)
... I have updated the sesman.ini.patch as I think it is important. (No need to allow root login).

Thanks allend !

When bumping a version, especially such a huge bump ( Version 0.6.1 -> 0.9.4 ) I usually try first without any patches.

Everything compiled and xorgxrdp build on my system after installing xrdp ...

I got so excited about the clean build that I forgot to loop back to see what those patches were all about before I installed xrdp :)

The sesman.ini patch definitely needs a review on my System.

Quote:

When building xrdp, I have found it necessary to add --disable-painter and --disable-rfxcodec to ./configure for the build to succeed.
I wondered if the 'extra' NVidia + SBo + Alien goodies on my Laptop might affect the outcome build.

Good catch there too !

Thanks for the TWO heads up !

-- kjh

allend 11-11-2017 09:47 PM

I have been doing some testing after installing xrdp and xorgxrdp on a Slackware64 14.2-current install.
If I start xrdp and xrdp-sesman in the foreground with 'xrdp-sesman -n', then I can connect from another machine using rdesktop. So success!
However it fails to connect if I start xrdp-sesman as a daemon. I am wondering whether this may be due to the lack of PAM.

kjhambrick 11-12-2017 07:06 AM

allend !

That is excellent news !

There is a LOG variable in /etc/rc.d/rc.xrdp which defaults to /dev/null

I wonder if you could see anything in a log file if you turned on logging in /etc/rc.d/rc.xrdp ?

-- kjh

kjhambrick 11-13-2017 04:55 AM

allend --

Yesterday afternoon, I set up an older Laptop with a virgin Slackware64 14.2 Install.

The only non-standard Packages installed on that system are the xrdp and xorgxrdp Packages.

Both of these built and installed cleanly and the system is up on my LAN

I'll be testing an RDeskTop Client from Windows and Slackware as I am able to get a round tuit but I've got some 'real work' to finish this morning so it'll be tomorrow before I can really test it.

Will let you know how it goes.

Thanks !

-- kjh

allend 11-13-2017 06:53 AM

Coming to you from Remote Desktop Client on Windows accessing a KDE session on a Slackware64-current machine. :)
The logs are generated in /var/log/xrdp.log and /var/log/xrdp-sesman.log so no need to mess with the rc.xrdp file for that.
Have fun!

kjhambrick 11-13-2017 07:33 AM

1 Attachment(s)
Woo Hoo !

I am posting this via Firefox from an xfreerdp -> KDE session on the old Laptop that I set up yesterday.

I first ran /usr/bin/xrdp-xwmconfig on the remote system as root and set up KDE as the system-default DM.

Then I connected to the RDesktop session, selected sesman-any and logged in as 'me' and here we are !

I need to figure out a few things ...

Cut-N-Paste does not work (yet).

Startup seems slow to me but now that I am in, everything works as well as any RDesktop Session I've ever used.

This could be a game-changer for us ( at work ) ... GUI Access on our headless Appliances is absolutely necessary for a few Windows Users ( the other thing is Active Directory Auth but that is another thread :) )

Will play some more and report some more.

Attached is a picture :)

-- kjh

kjhambrick 11-13-2017 07:57 AM

Quote:

Originally Posted by allend (Post 5779655)
I have been doing some testing after installing xrdp and xorgxrdp on a Slackware64 14.2-current install.
If I start xrdp and xrdp-sesman in the foreground with 'xrdp-sesman -n', then I can connect from another machine using rdesktop. So success!
However it fails to connect if I start xrdp-sesman as a daemon. I am wondering whether this may be due to the lack of PAM.

allend --

I added a little if-block stanza to /etc/rc.d/rc.local and the inverse to rc.local_shutdown and xrdp and xrdp-sesman start fine and I am able to connect via xfreerdp after a reboot.

One thing I have noticed while fooling with the different session types in the Login Dialog is that if I select an xrdp session, the connection fails and it also leaves behind an xrdp process.

These are the log entries in /var/log/xrdp-sesman.log
Code:

[20171113-07:47:38] [INFO ] A connection received from 127.0.0.1 port 43990
[20171113-07:47:39] [INFO ] ++ created session (access granted): username kjh, ip 192.168.0.6:38494 - socket: 12
[20171113-07:47:39] [INFO ] starting Xorg session...
[20171113-07:47:39] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:5911)
[20171113-07:47:39] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6011)
[20171113-07:47:39] [DEBUG] Closed socket 9 (AF_INET 0.0.0.0:6211)
[20171113-07:47:39] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20171113-07:47:39] [INFO ] calling auth_start_session from pid 6400
[20171113-07:47:39] [DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
[20171113-07:47:39] [DEBUG] Closed socket 8 (AF_INET 127.0.0.1:3350)
[20171113-07:47:39] [INFO ] Xorg :11 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log 
[20171113-07:47:49] [ERROR] X server for display 11 startup timeout
[20171113-07:47:49] [CORE ] waiting for window manager (pid 6401) to exit
[20171113-07:47:49] [ERROR] X server for display 11 startup timeout
[20171113-07:47:49] [ERROR] another Xserver might already be active on display 11 - see log
[20171113-07:47:49] [DEBUG] aborting connection...
[20171113-07:47:49] [CORE ] window manager (pid 6401) did exit, cleaning up session
[20171113-07:47:49] [INFO ] calling auth_stop_session and auth_end from pid 6400
[20171113-07:47:49] [DEBUG] cleanup_sockets:
[20171113-07:47:49] [DEBUG] cleanup_sockets: deleting /tmp/.xrdp/xrdp_chansrv_socket_11
[20171113-07:47:49] [DEBUG] cleanup_sockets: deleting /tmp/.xrdp/xrdpapi_11
[20171113-07:47:49] [DEBUG] cleanup_sockets: failed to delete /tmp/.xrdp/xrdpapi_11
[20171113-07:47:49] [INFO ] ++ terminated session:  username kjh, display :11.0, session_pid 6400, ip 192.168.0.6:38494 - socket: 12

This is the 'extra' xrdp process ( note the PPID -- it is owned by the Daemon PID )
Code:

# psgrep xrdp
USER              PID  PPID %CPU %MEM    VSZ  RSZ TTY  STAT  STARTED COMMAND
root              3858    1  0.0  0.0  20600  2920 0    S    07:12:22 /usr/sbin/xrdp
root              3860    1  0.0  0.0  30960  2824 0    S    07:12:22 /usr/sbin/xrdp-sesman
root              6396  3858  0.0  0.1  39628 15036 0    S    07:47:30 /usr/sbin/xrdp

If I try to run `/etc/rc.d/rc.xrdp stop` after such a failed session then it hangs while trying to kill the 'extra' xrdp session.

The only way to kill the 'extra' session is via `kill -9 $PID`

Anyhow, I need to fix this too :)

More work to do but this approach has promise !

Thanks again for turning me onto xrdp / xorgxrdp !

-- kjh

Added to /etc/rc.d/rc.local:
Code:

#
# kjh added rc.xrdp ...
#
if [ -x /etc/rc.d/rc.xrdp ]
then
  /etc/rc.d/rc.xrdp start
fi

Added to /etc/rc.d/rc.local_shutdown
Code:

#
# kjh added rc.xrdp ...
#
if [ -x /etc/rc.d/rc.xrdp ]
then
  /etc/rc.d/rc.xrdp stop
fi


allend 11-13-2017 07:19 PM

I have been testing connecting to a Slackware64 14.2 stable install.
Perhaps check the sesman log for a line like this.
Quote:

/usr/libexec/Xorg.wrap: Only console users are allowed to run the X server
I have added a file /etc/X11/Xwrapper.config containing
Code:

allowed_users = anybody
to get things working.

kjhambrick 11-14-2017 06:03 AM

allend --

Everything seems to work fine here -- I can connect to a KDE Desktop via the sesman-any Protocol from Linux via xfreerdp / rdesktop or from Windows RDP.

I don't see that log message in either log file.

I've got to put this aside until this weekend when I can 'play'.

I'll let you know if I run into any issues.

Please let me know how it goes for you.

Thanks.

-- kjh

kjhambrick 11-21-2017 06:47 AM

allend --

Before I lose track of xrdp + xorgxrdp ...

I've been using xrdp for a week now to connect to various Slackware64 14.2 Boxen from Linux and Windows ( ! and even from my Nook ! ) with GREAT results.

In addition, I've found X11RDP-RH-Matic for our CentOS 6 Boxes at work ... No more stale nxserver version 3.5 RPMs on our Customer's Systems !!! ( :) ! woo hoo ! :) )

Anyhow ... before I lose track of what we did to get xrdp + xorgxrdp running on Slackware 14.2, I wanted to compare notes with you so I could send an updated xrdp.SlackBuild and a new xorgxrdp.SlackBuild to SBo.

Have you made any additional changes to the two SlackBuilds that you posted here on this thread ?

If not, I'll try to reconcile our two sets of SlackBuilds and post here one more time for your review ( this weekend, probably ).

Once we've blessed the scripts, I'll send them off to the SBo Team.

Last thing ... do you want to 'own' the SBo xorgxrdp.SlackBuild ?

If you do, please do !

If not, I can take it.

Thanks for all the effort, allend !

-- kjh

allend 11-21-2017 08:48 AM

Funny that you are posting now, as I have just finished a session installing a label printer driver in a Windows VM at work, and I was using xrdp to run Firefox to access http://localhost:631 to diagnose a credentials problem. Hopefully there will be labels hanging out of the printer when I get to work tomorrow.

No - I have not changed the Slackbuilds that I posted although I have been wanting to try the
Code:

--enable-fuse          Build fuse(clipboard file / drive redir)
option when building xrdp out of curiosity. I make use of the -r disk: option to rdesktop for moving files from time to time.
You are welcome to the blame and the effort to submit to SBo. The real credit belongs to the writer of the original SlackBuild script (Phillip Warner). Thanks for your enthusiasm as it did drive me along in getting the version update to work.

The scripts seem to be working without issue on Slackware 14.2, but on -current xrdp still fails to run as a daemon for me, perhaps due to different gcc or Xorg versions.


All times are GMT -5. The time now is 11:58 PM.