Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    matt335672
    @matt335672
    Fix for cppcheck - see neutrinolabs/xrdp#1821 for discussion
    1 reply
    Nexarian
    @Nexarian
    I just figured out what the resize bug with FreeRDP and /gfx was!
    Because gfx works with surfaces, each surface has to be manually resized on screen resize, which means I have to run this sequence of commands every time:
    xrdp_egfx_send_delete_surface(wm->mm->egfx, 1);
    xrdp_egfx_send_reset_graphics(wm->mm->egfx, session_width, session_height, wm->client_info->monitorCount, wm->client_info->minfo_wm);
    xrdp_egfx_send_create_surface(wm->mm->egfx, 1, session_width, session_width, XR_PIXEL_FORMAT_XRGB_8888);
    xrdp_egfx_send_map_surface(wm->mm->egfx, 1, 0, 0);
    So at this point, I know of no bugs with /dynamic-resolution anymore
    Nexarian
    @Nexarian

    Spoke too soon. There's still something wrong with my dynamic resize + egfx branch. For some reason, XRDP is sending too many tiles to freerdp using XR_RDPGFX_CMDID_WIRETOSURFACE_2 and I cannot seem to figure out why. A great way to reproduce it is to start at 1000x1000 and then scale to 1000x1250 (drag the height down), and then all of a sudden XRDP sends nearly 50 more tiles. I've tried resetting the encoder and it doesn't help, either.

    I'll take a look at this later, probably busy for the rest of the week.

    p4r4d0xshado
    @p4r4d0xshado:matrix.org
    [m]
    Hello
    I have a kali Linux machine on azure and i try to use xrdp i set it up and then i try to connect to it and it keeps disconnecting as soon as i connect?
    metalefty
    @metalefty
    maybe you should read the channel topic
    p4r4d0xshado
    @p4r4d0xshado:matrix.org
    [m]
    Oh my bad
    Nexarian
    @Nexarian
    The code I posted above has a bug. Can anyone find it? (Fun puzzle!)
    Derek Schrock
    @derekschrock
    Seems a little xorgxrdp-ish but for Wayland and is mutter only.... https://www.phoronix.com/scan.php?page=news_item&px=GNOME-40-Headless-Virtual
    Reading threw the HN article it seems they're doing this since they're not using wlroots. KDE/Gnome no wlroots everyone else uses wlroots.
    Is wlroots the path fro xrdp to have Wayland support?
    Satish Gaikwad
    @satishweb

    Hi Team. I had been an XRDPuser for the last month, and I love it! Thank you so much for making my life easier! I had been using XPRA for years, and it took only a few days for me to switch after getting exposed to xrdp.

    I am unsure if this is the right place to post this. Please do let me know if I should post this message/request somewhere else.

    I want to showcase my container image project for xrdp here for your feedback and suggestions. I hope you all like it. I would appreciate it if you could spend few minutes trying it out.

    Use case:- Recently, I moved all of my VM deployments to Kubernetes by converting everything into container images. For the XRDP server VM, I looked at existing container images available in the public container repositories. However, all of them were pretty old, not maintained, and too complex to understand. I spent some time yesterday making xrdp work inside a container. I have a fully working container image for xrdp on Ubuntu. I think that this image is simple to understand as compared to other available images.

    This container image is for those who do not want to set up a VM with GUI with XRDP, or all of their workloads are in containers, and they require GUI access in the remote network. I intend to continue working on this container image project and maintain it besides other images that I have built.

    Based on the suggestions and feedback, I want to add some more features to it below list:

    1. Build container image as soon as a new stable version of xrdp is released.
    2. Add container images for other popular distros.
    3. Automated tests of newly built container image with CI pipeline (I have free infrastructure resources).
    4. Add more configuration options for the container image.
    5. Link container image tag versions to the XRDP version inside the image.

    Run the container with XRDP

    docker run --rm -itd -e GUEST_PASS='guest' -p 3389:3389 -v ${pwd}/data/home:/home/guest --name xrdp satishweb/xrdp

    Connect to container using remote desktop on localhost:3389 and login with user guest and password as guest

    Note:- This is still a work in progress. There is a lot of scope for optimization for sure.

    5 replies
    Satish Gaikwad
    @satishweb
    Correct command: docker run -d -e GUEST_PASS='guest' -p 3389:3389 -v ${pwd}/data/home:/home/guest --name xrdp satishweb/xrdp
    Nexarian
    @Nexarian

    I'm not sure if this is heresy or awesome. I have XRDP working with all these features at the same time:

    1. Dynamic resolution/resize without reconnection
    2. GFX compression (H264)
    3. The wyhash optimization PR
    4. Nvidia acceleration

    Here are the branches:

    1. https://github.com/Nexarian/xrdp/tree/resize_egfx_xrdp_features
    2. https://github.com/Nexarian/xorgxrdp/tree/resize_wyhash_egfx_nvidia_features

    They're rebased off the devel branches, and I've tried to keep the branches clean such that the individual commits on top of devel correspond to their respective WIP features

    Obviously there's a lot of work and testing and bug fixing before all of that can go into devel or be released, but I wanted to show that all of this can work.

    Going forward I'm going to be daily driving these branches.

    This answers the questions as to whether or not nvidia_hack can work with the gfx optimizations. It can!

    Satish Gaikwad
    @satishweb
    There has been 45+ image pulls so far. Thank you very much for trying it out, hoping for some feedback/suggestions. Happy weekend!
    8 replies
    aquesnel
    @aquesnel
    FYI: the guthub CI builds are broken and I've documented my investigation here: https://github.com/neutrinolabs/xrdp/pull/1826#issuecomment-799077185
    The root cause is an update to the VM image by github and there is already an issue opened: actions/virtual-environments#2917
    1 reply
    Nexarian
    @Nexarian
    Have we given any thought to how XRDP may work with Wayland?
    metalefty
    @metalefty
    yup. i have some thoughts on wayland
    aquesnel
    @aquesnel
    I've also slowly been learning about wayland to eventually see how xrdp could work with it, but I don't know enough yet to even have thoughts about how it would work.
    Nexarian
    @Nexarian
    Wayland is supposed to be simpler than X...
    But I suspect all the bells and whistles will be just as complex to integrate.
    matt335672
    @matt335672

    No insights here I'm afraid.

    On a separate topic, I've just spent quite a chunk of time commenting on an issue neutrinolabs/xrdp#1832 which there's been a Debian bug outstanding on for over two years. I've had great success interacting with the Fedora team when we've raised packaging issues with them but absolutely no luck at all with the Debian/Ubuntu packaging team. If anyone's got any ideas on how we can better communicate with these guys, I'm all ears.

    8 replies
    metalefty
    @metalefty
    Wayland has RDP compositor which is based on FreeRDP.
    so xrdp launch Wayland-RDP process and work like RDP process, xrdp wayland backend will work.
    first of all, we should add FreeRDP 2 support to alter NeutrinoRDP (FreeRDP1) module
    Nexarian
    @Nexarian
    What does NeutrinoRDP do?
    2 replies
    Nexarian
    @Nexarian
    We should probably create a feature in the issues backlog to describe what needs to be done more concretely here.
    Paulo Henrique
    @krobrelus:matrix.org
    [m]
    Hello, Dear Colleagues
    I'm new here in the group and I have a big doubt!
    Today at xrdp it is possible to transfer files from one machine to another! great feature by the way.
    I would like to know if it is possible ... xrdp to analyze what is on the clipboard (transfer area) and if it contains a URL with a xxx tag, open the browser on the client side with the link provided in the URL
    matt335672
    @matt335672
    There's a directory mc at the top level of xrdp. It builds a shared library libmc.sothat doesn't appear to have any purpose. I don't even think it will work if loaded these days, as it's missing a lot of functions. Anyone got any ideas on what it's intended to do?
    Steven Kroon
    @stevenkroon
    is it possible for me to connect to the same desktop session as the one that i'm using if i'm connecting with keyboard mouse on the desktop it self?
    aquesnel
    @aquesnel

    Hi,
    While fixing up a pull request there was some code that I'd like to unit test, but xrdp doesn't have a dependency on any unit testing framework that I'm aware of.

    To be able to do the unit testing I'd like to add a dependency on the package check. It seems to be a popular and stable package that is available for xardp's target platforms (linux and FreeBSD), and integrates with autotools to give per test function results in the make check output.

    Are there concerns with adding the check package as a dependency to xrdp's build requirements?
    Are there other unit testing frameworks that are preferred? and why?

    matt335672
    @matt335672
    Personally I'm happy with that. It looks like it's available for OSX, which we occasionally get people trying to use. I can't suggest anything better. I've worked at C++ shops which tend to use different tools.
    metalefty
    @metalefty
    I'm also happy with that.
    Nexarian
    @Nexarian
    I support unit tests! Lets get to 100% coverage :)
    Nexarian
    @Nexarian

    Hi all. While I know this is supposed to be mostly about XRDP, I think now and again it's OK to let the human side of our lives show a little. Recently, my company and a blog post I wrote for them were featured for Autism awareness day:

    I think that most of us have some experience with autism and aspergers, especially with a product as niche as XRDP:

    https://www.cnn.com/2021/04/02/health/autism-awareness-day-wellness/index.html

    aquesnel
    @aquesnel
    Hi @matt335672 or @metalefty , when you get a chance can you please take a look at the update for pull request neutrinolabs/xrdp#1815 thanks
    metalefty
    @metalefty
    Hi @matt335672 and @aquesnel, thanks for your continuous development. April is the release month. Let's start wrapping up changes since the last release.
    9 replies
    Nexarian
    @Nexarian
    @metalefty @matt335672 The first PR for dynamic resolution that we should submit, that I think should be uncontroversial, is this one: neutrinolabs/xorgxrdp#183
    matt335672
    @matt335672
    I'm happy with this one. @metalefty?
    metalefty
    @metalefty
    Le'ts merge it.
    Nik
    @nik:matrix.teckids.org
    [m]
    Hi! Thanks to the Gitter-Matrix acquisition and first-class bridge support, Debian maintainer of xrdp is here now ;).
    2 replies
    matt335672
    @matt335672

    Guys - I'm looking at Jay's WIP neutrinolabs/xrdp#1602 which looks at adding UNIX domain socket possibilities between xrdp and sesman.

    Is there any good reason anyone can think of to keep TCP sockets between xrdp and sesman? It's not a connection we can make secure without a lot of effort, and assuming the two processes (and chansrv) are on the same box would make things a lot easier all round. Am I missing something?

    3 replies
    aquesnel
    @aquesnel
    Does the proxy/gateway use case use tcp connections to seaman and chansrv?
    matt335672
    @matt335672

    Good question - depends what you mean by proxy/gateway.

    sesman is contacted over TCP currently when using pamusername=. The password is sent in plaintext.

    Removing this facility makes it impossible to use a sesman on another node to authenticate, but given it's hugely insecure I don't think we should be supporting this.

    The neutrinordp proxy doesn't use seman directly but can probably also make use of the link above.

    metalefty
    @metalefty
    @aquesnel @matt335672 I raised a draft PR #1860 that allows skipping unit tests. Because unit tests are not always necessary. I'm not sure adding/removing tests directory from SUBDIR is the best way to enable/disable unit tests.
    It's midnight here. I'm going to bed.
    Nexarian
    @Nexarian
    I've updated neutrinolabs/xrdp#1820 with an adapted version of a fix that Matt sent me and verified it works to block dynamic resizing from working with NeutrinoRDP use cases while still continuing to work with other use-cases.
    Hopefully we can get this in for the release :)