# x11

* [xrdp](#xrdp)

### xrdp

> \[!NOTE|label:references:]
>
> * centos
>   * [How to Install XRDP on CentOS and RedHat Linux 8/7](https://docs.e2enetworks.com/guides/centos_xrdp.html)
>   * [How to Install Xrdp Server (Remote Desktop) on CentOS 8](https://linuxize.com/post/how-to-install-xrdp-on-centos-8/)
>   * [How to Install Xrdp Server on CentOS 8](https://vegastack.com/tutorials/how-to-install-xrdp-server-on-centos-8/)
>   * [How to Enable Remote Desktop on CentOS 8/RHEL8.x](https://www.enlinux.com/enable-remote-desktop-on-centos/)
> * ubuntu
>   * [How To Enable Remote Desktop Protocol Using xrdp on Ubuntu 22.04](https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04)
>   * [xRDP – Easy install xRDP on Ubuntu 20.04,22.04,23.XX (Script Version 1.4.8)](https://c-nergy.be/blog/?p=19228)
>   * [Access a remote desktop from Ubuntu](https://ubuntu.com/tutorials/access-remote-desktop#1-overview)

*   install

    ```bash
    # centos
    $ sudo yum clean all
    $ sudo yum makecache fast
    # optinal
    $ sudo yum -y update
    $ sudo yum install epel-release
    $ sudo yum groupinstall -y "Server with GUI"
    $ sudo yum groupinstall -y "Xfce"
    $ sudo sudo yum install -y xrdp tigervnc-server

    # ubuntu
    $ sudo apt update
    $ sudo apt install xfce4 xfce4-goodies -y
    $ sudo apt install xrdp -y
    ```
*   service

    ```bash
    $ sudo systemctl enable xrdp --now
    $ sudo systemctl start xrdp.service
    $ sudo firewall-cmd --add-port=3389/tcp --permanent
    $ sudo firewall-cmd --reload

    # centos
    $ sudo reboot
    $ echo "xfce4-session" > ~/.Xclients
    $ chmod a+x ~/.Xclients

    # ubuntu
    $ echo "xfce4-session" | tee ~/.xsession
    $ sudo systemctl restart xrdp
    ```
*   xrdp.ini

    ```bash
    $ cat /etc/xrdp/xrdp.ini | sed -r '/(^[;#].*)|(^\s*)$/d'

    # or
    $ cat /etc/xrdp/xrdp.ini | sed -e '/^[;#]/ d' -e '/^$/ d'

    # or
    $ cat /etc/xrdp/xrdp.ini | sed -e '/^[;#]/ d' | sed '/^$/ d'
    [Globals]
    ini_version=1
    fork=true
    port=3389
    use_vsock=false
    tcp_nodelay=true
    tcp_keepalive=true
    security_layer=negotiate
    crypt_level=high
    certificate=
    key_file=
    ssl_protocols=TLSv1.2, TLSv1.3
    autorun=
    allow_channels=true
    allow_multimon=true
    bitmap_cache=true
    bitmap_compression=true
    bulk_compression=true
    max_bpp=32
    new_cursors=true
    use_fastpath=both
    blue=009cb5
    grey=dedede
    ls_top_window_bg_color=009cb5
    ls_width=350
    ls_height=430
    ls_bg_color=dedede
    ls_logo_filename=
    ls_logo_x_pos=55
    ls_logo_y_pos=50
    ls_label_x_pos=30
    ls_label_width=65
    ls_input_x_pos=110
    ls_input_width=210
    ls_input_y_pos=220
    ls_btn_ok_x_pos=142
    ls_btn_ok_y_pos=370
    ls_btn_ok_width=85
    ls_btn_ok_height=30
    ls_btn_cancel_x_pos=237
    ls_btn_cancel_y_pos=370
    ls_btn_cancel_width=85
    ls_btn_cancel_height=30

    [Logging]
    LogFile=xrdp.log
    LogLevel=INFO
    EnableSyslog=true

    [LoggingPerLogger]

    [Channels]
    rdpdr=true
    rdpsnd=true
    drdynvc=true
    cliprdr=true
    rail=true
    xrdpvr=true
    tcutils=true

    [Xvnc]
    name=Xvnc
    lib=libvnc.so
    username=ask
    password=ask
    ip=127.0.0.1
    port=-1
    ```
