You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by jacotec <mj...@jacotec.de> on 2020/02/17 13:15:07 UTC

Update to 1.1.0 breaks RDP

Hi,

after spending hours trying to resolve this I need to shout for help here.
;-)

I have a working setup of Guacamole 1.0.0 on Ubuntu 18.04, all is nice here.
I've upgraded the installation and client to 1.1.0 (I did install
freerdp2-dev before as it's required now) but that fully breaks any RDP
capabilities.

The RDP connection is closed by Guacamole after negotiating the capabilities
(I checked that via Wireshark on a Windows remote host) and in no log I see
any reason why this happens.

Is there a magic trick which I have missed for getting freerdp2 with
Guacamole to work for RDP connections?



--
Sent from: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


AW: Update to 1.1.0 breaks RDP

Posted by Joachim Lindenberg <jo...@lindenberg.one>.
Hi Mike,

I don´t want to open a bug report with FreeRDP unless using a recent version. And right now it is not clear to me whether it is a bug in FreeRdP, whether recent or not, or a bug in Guacamole 1.1. The fact that it works when connecting with FreeRDP itself, is more of an indicator (not a proof)of the issue is with Guacamole.

I can imagine what feedback I´d get when I open a bug in Debian and then figure out it is entirely unrelated to FreeRDP. If it turns out to be a bug in FreeRDP, then there is the option to ask them to update.

Btw, I tried to build FreeRDP myself and failed: https://github.com/FreeRDP/FreeRDP/issues/5886.

Please…

Thanks, Joachim

 

Von: Mike Jumper <mj...@apache.org> 
Gesendet: Montag, 17. Februar 2020 20:20
An: user@guacamole.apache.org
Betreff: Re: Update to 1.1.0 breaks RDP

 

On Mon, Feb 17, 2020, 10:58 Joachim Lindenberg <joachim@lindenberg.one <ma...@lindenberg.one> > wrote:

Hello Mike, all,

I tried to use a nightly build of freerdp because of  <https://issues.apache.org/jira/browse/GUACAMOLE-952> https://issues.apache.org/jira/browse/GUACAMOLE-952, but failed. I´d definitely appreciate if the team could provide instructions how to build a guacd docker image using a nightly build, rather then all of us trying to figure out the hard way… and yes, I do appreciate the work being done by the team a lot!

 

This wouldn't come down to instructions, but rather creating an entirely different image. The current image uses the freerdp2 package from the distribution of the base image. Building FreeRDP from source instead would be a completely different process.

 

I believe there was a WIP that did exactly that but for the 1.x versions of FreeRDP, and we moved away from that approach once support for 2.0.0 was added. If the packages provided by the distros are proving this unreliable, perhaps we need to bring that WIP back.

 

Regardless of the above, if your particular distro has a specifically buggy package, opening a bug report with that distro would be the best idea. Anything we do to allow our images to be easily rebuilt against arbitrary FreeRDP snapshots would be a workaround. Proper bug reports and updated packages are the true solution 

 

- Mike

 


Re: Update to 1.1.0 breaks RDP

Posted by Mike Jumper <mj...@apache.org>.
On Mon, Feb 17, 2020, 10:58 Joachim Lindenberg <jo...@lindenberg.one>
wrote:

> Hello Mike, all,
>
> I tried to use a nightly build of freerdp because of
> https://issues.apache.org/jira/browse/GUACAMOLE-952, but failed. I´d
> definitely appreciate if the team could provide instructions how to build a
> guacd docker image using a nightly build, rather then all of us trying to
> figure out the hard way… and yes, I do appreciate the work being done by
> the team a lot!
>

This wouldn't come down to instructions, but rather creating an entirely
different image. The current image uses the freerdp2 package from the
distribution of the base image. Building FreeRDP from source instead would
be a completely different process.

I believe there was a WIP that did exactly that but for the 1.x versions of
FreeRDP, and we moved away from that approach once support for 2.0.0 was
added. If the packages provided by the distros are proving this unreliable,
perhaps we need to bring that WIP back.

Regardless of the above, if your particular distro has a specifically buggy
package, opening a bug report with that distro would be the best idea.
Anything we do to allow our images to be easily rebuilt against arbitrary
FreeRDP snapshots would be a workaround. Proper bug reports and updated
packages are the true solution

- Mike

AW: Update to 1.1.0 breaks RDP

Posted by Joachim Lindenberg <jo...@lindenberg.one>.
Hello Mike, all,

I tried to use a nightly build of freerdp because of  <https://issues.apache.org/jira/browse/GUACAMOLE-952> https://issues.apache.org/jira/browse/GUACAMOLE-952, but failed. I´d definitely appreciate if the team could provide instructions how to build a guacd docker image using a nightly build, rather then all of us trying to figure out the hard way… and yes, I do appreciate the work being done by the team a lot!

And as I have only 1909 Windows systems – freerdp 2.0 of February 2020 does work with them to the extent I tested, and turning of WDDM did not solve the Hyper-V issue..

Thanks & Best Regards, Joachim

 

Von: Mike Jumper <mj...@apache.org> 
Gesendet: Montag, 17. Februar 2020 19:50
An: user@guacamole.apache.org
Betreff: Re: Update to 1.1.0 breaks RDP

 

On Mon, Feb 17, 2020, 05:15 jacotec <mj@jacotec.de <ma...@jacotec.de> > wrote:

Hi,

after spending hours trying to resolve this I need to shout for help here.
;-)

I have a working setup of Guacamole 1.0.0 on Ubuntu 18.04, all is nice here.
I've upgraded the installation and client to 1.1.0 (I did install
freerdp2-dev before as it's required now) but that fully breaks any RDP
capabilities.

The RDP connection is closed by Guacamole after negotiating the capabilities
(I checked that via Wireshark on a Windows remote host) and in no log I see
any reason why this happens.

 

What do you see in the logs? What about debug-level logging?

 


Is there a magic trick which I have missed for getting freerdp2 with
Guacamole to work for RDP connections?

 

No, it should just work, barring a bug in FreeRDP or a regression from the migration.

 

As noted in the release notes, "FreeRDP 2.0.0" is not actually a specific version, with the freerdp2 package on Ubuntu 18.04 actually being a relatively old build of the 2.0.0-rc0 tag, so there is variation in behavior across platforms for what otherwise looks like the same library to users trying to install guac:

 

https://guacamole.apache.org/releases/1.1.0/#freerdp-200-or-later-is-now-required-for-rdp-support

 

If things are failing there, I would try:

 

1) Testing with the xfreerdp client to verify that it really is a Guacamole issue and not a FreeRDP issue.

2) Testing with the "guacamole/guacd" Docker image, which should have a more recent version of the library.

3) Setting the guacd log level to "debug" and seeing whether any additional details clarify what is failing.

 

If you decide to uninstall the freerdp2 package and instead build FreeRDP from source to obtain a more recent version, be sure to rebuild guacamole-server after doing so. There are incompatible API differences across the various 2.0.0s which will cause trouble if Guacamole isn't rebuilt to take them into account. Software built against FreeRDP 2.0.0-rcX cannot safely be used against 2.0.0-rcY without a rebuild, assuming things haven't changed to the extent that the build fails.

 

- Mike

 


Re: Update to 1.1.0 breaks RDP

Posted by Mike Jumper <mj...@apache.org>.
On Tue, Feb 18, 2020, 00:32 jacotec <mj...@jacotec.de> wrote:

> OK, I found the issue for me and was able to fix it - maybe it'll help
> others
> with the same issue:
>
> I found this line in the syslog:
>
> Feb 18 08:06:32 guacamole guacd[11765]: guacd[11785]: WARNING:#011FreeRDP
> initialization may fail: The current user's home directory ("/usr/sbin") is
> not writable, but FreeRDP generally requires a writable home directory for
> storage of configuration files and certificates.
>
> The service file which guacd creates at build runs guacd as the user
> "daemon" which does not seem to have a writable home directory. As "useradd
> -m damon" did not help to create a homedir for "daemon" I have changed the
> user from "daemon" to "root" in /etc/systemd/system/guacd.service, then
> "systemctl daemon reload" and "service guacd restart".
>
> RDP works fine now :-)
>
> It seems that either freerdp2 needs a writable homedir now, or the build
> process of guacd has changed with 1.1.0 so that the service file now runs
> guacd as user "daemon".
>

Yes, freerdp2 needs a writable home directory:

https://guacamole.apache.org/releases/1.1.0/#freerdp-200-requires-a-writable-home-directory

No, guacd has not changed to run as "daemon", but the systemd unit that is
part of the guacamole-server source specifies this and will not work
correctly on a system where "daemon" does not have a writable home
directory.

If someone has a more elegant fix than running guacd as "root", please feel
> free to comment ...


Create a reduced-privilege user with a writable home directory. Use that
user for the service. Only grant that user the permissions needed for
guacd-related tasks (saving screen recordings, writing to RDPDR drives,
etc.).

with my solution I guess I need to edit the service file
> again after each update.


You don't need to update the service file each time you build. Such a file
is specific to your environment, as it is you that will be defining the
user account. You can use it until you have a reason to change it. It is
unlikely you will ever need to change it due to an update.

- Mike

Re: Update to 1.1.0 breaks RDP

Posted by jacotec <mj...@jacotec.de>.
OK, I found the issue for me and was able to fix it - maybe it'll help others
with the same issue:

I found this line in the syslog:

Feb 18 08:06:32 guacamole guacd[11765]: guacd[11785]: WARNING:#011FreeRDP
initialization may fail: The current user's home directory ("/usr/sbin") is
not writable, but FreeRDP generally requires a writable home directory for
storage of configuration files and certificates.

The service file which guacd creates at build runs guacd as the user
"daemon" which does not seem to have a writable home directory. As "useradd
-m damon" did not help to create a homedir for "daemon" I have changed the
user from "daemon" to "root" in /etc/systemd/system/guacd.service, then
"systemctl daemon reload" and "service guacd restart".

RDP works fine now :-)

It seems that either freerdp2 needs a writable homedir now, or the build
process of guacd has changed with 1.1.0 so that the service file now runs
guacd as user "daemon".

If someone has a more elegant fix than running guacd as "root", please feel
free to comment ... with my solution I guess I need to edit the service file
again after each update.





--
Sent from: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


Re: Update to 1.1.0 breaks RDP

Posted by haroldtheb <la...@aaronson.com>.
That's a "yes" to both questions.  I confirmed that freerpd2-dev was
installed, then performed the upgrade from 1.0 to 1.1.  I can connect to the
Windows 10 machine from the command line, but not from Guacamole.  This
seems to be a different problem than the original poster.



--
Sent from: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


Re: Update to 1.1.0 breaks RDP

Posted by haroldtheb <la...@aaronson.com>.
mjumper wrote
> On Mon, Feb 17, 2020 at 6:43 PM haroldtheb &lt;

> larry@

> &gt; wrote:
> 
>> I have the same problem.  I have Guacamole running in a LXD Ubuntu 18.04
>> container.  V1.0 works fine.
>>  Upgraded freerdp-dev and then upgraded everything per the install
>> instructions (build the server and used the pre-built war file.  I was
>> able
>> to connect to xRDP sessions on other linux machines without any problem,
>> but
>> could not connect to a Windows 10 build 1909 machine.
>> ...
>> I can connect to the windows machine when i run xfreerdp from the command
>> line, so I don't think it's a freerdp problem.
>>
> 
> The xfreerdp binary used was from the exact same build of FreeRDP as was
> installed when guacamole-server was built? It was run from inside the
> container which was failing?
> 
> - Mike

That's a "yes" to both questions.  I confirmed that freerpd2-dev was
installed, then performed the upgrade from 1.0 to 1.1.  I can connect to the
Windows 10 machine from the command line, but not from Guacamole.  This
seems to be a different problem than the original poster.



--
Sent from: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


Re: Update to 1.1.0 breaks RDP

Posted by Mike Jumper <mj...@apache.org>.
On Mon, Feb 17, 2020 at 6:43 PM haroldtheb <la...@aaronson.com> wrote:

> I have the same problem.  I have Guacamole running in a LXD Ubuntu 18.04
> container.  V1.0 works fine.
>  Upgraded freerdp-dev and then upgraded everything per the install
> instructions (build the server and used the pre-built war file.  I was able
> to connect to xRDP sessions on other linux machines without any problem,
> but
> could not connect to a Windows 10 build 1909 machine.
> ...
> I can connect to the windows machine when i run xfreerdp from the command
> line, so I don't think it's a freerdp problem.
>

The xfreerdp binary used was from the exact same build of FreeRDP as was
installed when guacamole-server was built? It was run from inside the
container which was failing?

- Mike

Re: Update to 1.1.0 breaks RDP

Posted by haroldtheb <la...@aaronson.com>.
I have the same problem.  I have Guacamole running in a LXD Ubuntu 18.04
container.  V1.0 works fine. 
 Upgraded freerdp-dev and then upgraded everything per the install
instructions (build the server and used the pre-built war file.  I was able
to connect to xRDP sessions on other linux machines without any problem, but
could not connect to a Windows 10 build 1909 machine. When I ran guacd in
the foreground, I saw the following errors:

Protocol Security Negotiation Failure
freerdp_set_last_error ERRCONNECT_SECURITY_NEGO_CONNECT_FAILED

I can connect to the windows machine when i run xfreerdp from the command
line, so I don't think it's a freerdp problem.  Is there something that
guacd is not passing to freerdp?  The syslog shows nothing useful.  I had to
rollback the container to a previous snapshot of 1.0 to get things working
again.



--
Sent from: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


Re: Update to 1.1.0 breaks RDP

Posted by Andrew Sedlak <as...@glux.com.au>.
If you are connecting to Windows 10 (version 1903 or higher), you have to disable WDDM support on the windows 10 machine/VM.

⁣Have a great day,
Andrew​

On 18 Feb. 2020, 09:14, at 09:14, jacotec <mj...@jacotec.de> wrote:
>Hi,
>
>I'm not at my computer yet, but I've tried the Remmina PPA with a 2020
>version of freerdp2 with no success. I'm running guacd on Ubuntu Server
>18.04 it that helps.
>
>I'll fra to find out how to set the loglevel to debug tomorrow.
>
>
>
>--
>Sent from:
>http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
>For additional commands, e-mail: user-help@guacamole.apache.org

Re: Update to 1.1.0 breaks RDP

Posted by jacotec <mj...@jacotec.de>.
Hi,

I'm not at my computer yet, but I've tried the Remmina PPA with a 2020
version of freerdp2 with no success. I'm running guacd on Ubuntu Server
18.04 it that helps.

I'll fra to find out how to set the loglevel to debug tomorrow.



--
Sent from: http://apache-guacamole-general-user-mailing-list.2363388.n4.nabble.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@guacamole.apache.org
For additional commands, e-mail: user-help@guacamole.apache.org


Re: Update to 1.1.0 breaks RDP

Posted by Mike Jumper <mj...@apache.org>.
On Mon, Feb 17, 2020, 05:15 jacotec <mj...@jacotec.de> wrote:

> Hi,
>
> after spending hours trying to resolve this I need to shout for help here.
> ;-)
>
> I have a working setup of Guacamole 1.0.0 on Ubuntu 18.04, all is nice
> here.
> I've upgraded the installation and client to 1.1.0 (I did install
> freerdp2-dev before as it's required now) but that fully breaks any RDP
> capabilities.
>
> The RDP connection is closed by Guacamole after negotiating the
> capabilities
> (I checked that via Wireshark on a Windows remote host) and in no log I see
> any reason why this happens.
>

What do you see in the logs? What about debug-level logging?


> Is there a magic trick which I have missed for getting freerdp2 with
> Guacamole to work for RDP connections?
>

No, it should just work, barring a bug in FreeRDP or a regression from the
migration.

As noted in the release notes, "FreeRDP 2.0.0" is not actually a specific
version, with the freerdp2 package on Ubuntu 18.04 actually being a
relatively old build of the 2.0.0-rc0 tag, so there is variation in
behavior across platforms for what otherwise looks like the same library to
users trying to install guac:

https://guacamole.apache.org/releases/1.1.0/#freerdp-200-or-later-is-now-required-for-rdp-support

If things are failing there, I would try:

1) Testing with the xfreerdp client to verify that it really is a Guacamole
issue and not a FreeRDP issue.
2) Testing with the "guacamole/guacd" Docker image, which should have a
more recent version of the library.
3) Setting the guacd log level to "debug" and seeing whether any additional
details clarify what is failing.

If you decide to uninstall the freerdp2 package and instead build FreeRDP
from source to obtain a more recent version, be sure to rebuild
guacamole-server after doing so. There are incompatible API differences
across the various 2.0.0s which will cause trouble if Guacamole isn't
rebuilt to take them into account. Software built against FreeRDP 2.0.0-rcX
cannot safely be used against 2.0.0-rcY without a rebuild, assuming things
haven't changed to the extent that the build fails.

- Mike