zoukankan      html  css  js  c++  java
  • Ubuntu 14.04 – How to install xrdp in Ubuntu 14.04

    http://c-nergy.be/blog/?p=5305

    Hello World,

    Ubuntu 14.04 has been released on April 17th 2014 and we already released the traditional post about how to perform a fresh install. We didn’t covered the upgrade process because it’s quite easy nowadays. Basically, you will be notified that a new version is available and you will be asked if you want to upgrade to the latest version.

    Some readers and some of my colleagues have been asking for a post about XRDP functionality in Ubuntu 14.04. If you follow me, you know that we have been using xrdp package in order to connect to linux machines using the built-in remote desktop client available within Windows Operating System.

    You probably also know that since the introduction of Unity Desktop Interface in Ubuntu you need to tweak the configuration in order to have it working. The most annoying part while using xrdp (with Ubuntu) is the fact that you have to install an alternate desktop environment.

    So, in this post, we will describe the steps needed in order to install xrdp and the xfce alternate desktop that will be used while remoting into your Ubuntu 14.04 machine.

    Let’s Go !

    Install XRDP Package from Ubuntu Repository

    In this post, we will be installing the standard xrdp package from the Ubuntu Repository. In order to perform the installation of the xrdp package, you will login into your ubuntu 14.04 machine.

    Using the Dash button, in the search box, type Terminal

    xrdp14.04_1

    Click on Picture for Better Resolution

    Click on the terminal icon and the Terminal console will open

    In the Terminal, type the following command

    sudo apt-get install xrdp

    You will be prompted for your password

    xrdp14.04_2

    Click on Picture for Better Resolution

    You will be then informed about the package size. To proceed with the installation, press Y

    xrdp14.04_3

    Click on Picture for Better Resolution

    Wait for the completion

    When done, you need to install an alternate desktop environment. In our scenario, we are using xfce4

    Installing the xfce4 Desktop environment

    In the Terminal console; type the following command

    sudo apt-get update

    sudo apt-get install xfce4

    xrdp14.04_4

    Click on Picture for Better Resolution

    You might be prompted for a password.Enter the password and press enter

    You will be then informed about the package size. To proceed with the installation, press Y

    Wait for the completion

    Configure xrdp to use xfce desktop environment

    At this stage, you have to configure your Ubuntu machine in order for xrdp to know that the xfce desktop will be used instead of the Unity or Gnome (which are not working anymore in Ubuntu). To configure this, from the terminal console, you will issue the following command

    echo xfce4-session >~/.xsession

     

    xrdp14.04_5

    Click on Picture for Better Resolution

    Restart the xrdp service by issuing the following command

    sudo service xrdp restart

    Test your xrdp connection

    At this stage, you should have a basic xrdp working solution. When I say basic, I mean that you can indeed connect to your remote Ubuntu machine but if you disconnect your session and try to connect again, you will each time open a new session. (Read below section in this post to see how you can reconnect to the same session)

    To test your xrdp solution, find the ip address of your linux machine (or use the name if you have DNS Infrastructure in place). To find the ip address, issue the command

    hostname -I

    xrdp14.04_6

    Click on Picture for Better Resolution

    Now go to your windows machine, start remote Desktop client and enter the ip address/name of your ubuntu machine

    xrdp14.04_7

    Click on Picture for Better Resolution

    You should see then the login screen of xrdp presented to you. Note that, at this screen (and because we have not configured keyboard layout yet), the keyboard layout is set to English by default.

    xrdp14.04_8

    Click on Picture for Better Resolution

    Enter your username and password and Press OK

    You will see a dialog box showing the login process

    xrdp14.04_9

    Click on Picture for Better Resolution

    If everything is configured correctly,you should see your xfce desktop loading and you should be able to perform you work through this desktop environment.

    xrdp14.04_10

    Click on Picture for Better Resolution

    To set Keyboard layout at the xrdp Login screen, perform the following steps

    As explained above, with no special configuration, the xrdp login screen keyboard layout is set to english by default.  if you need to change it to another keyboard layout, you should proceed with the following actions

    This is the command you should issue in order to change the keyboard layout to be used during xrdp sessions…

    Step 1 : You go to the /etc/xrdp directory

    Step 2 : you issue the command setxkbmap -layout <%your layout%> to define which keyboard map/layout to use

    Step 3 : create a copy of the km-0409.ini file into the same directory. It seems that this is the default file used by xrdp to define the keyboard layout. You will need to use sudo in order to be able to write into the directory

    Step 4 : Check that you have a backup of your file by typing the dir or ls command

    Step 5 : update the file by issuing the following command sudo xrdp-genkeymap km-0409.ini

    Reconnect to the same session throug xrdp

    You have mutliple ways to reconnect to the same session through xrdp. we have explained two of them. One method is based on performing a custom installation and use the X11VNC software. This is one is working well but requires a little bit more effort. (http://c-nergy.be/blog/?p=4168)

    The other one is to use the xrdp package from ubuntu repository and tweak some configuration files whil connected to the session. This solution is really a workaround and it’s not our favourite one. (see http://c-nergy.be/blog/?p=4471)

    Here, we will use a third method that can be used if you use the xrdp pakcage from the ubuntu repository. This method is much better than the one provided by us some time ago. In this method, we will tweak the xrdp login screen. We will add a field in the login box where the user can specify the port to be used when remoting to the ubuntu machine.

    You will first need to edit xrdp.ini file located under the /etc/xrdp. To edit the file, issue the following command

    sudo gedit /etc/xrdp/xrdp.ini

    You might be prompted for a password. if this is the case, provide the password and Press enter
    When the file is open, locate the section [xrdp1] and replace the following line

    port=-1
    with the line
    port=ask-1

    Save the file. The file should look like this

    xrdp14.04_11

    Click on Picture for Better Resolution

    When done, restart the xrdp service by issuing the following command

    sudo service xrdp restart.

    You are done.

    When trying to access your Ubuntu machine through via the remote desktop client, you will see that the xrdp login screen has indeed an additional field called port.

    xrdp14.04_12

    Click on Picture for Better Resolution

    If this is your first connection, leave the default value in the port field (i.e. -1), you will be then connecting through xrdp to your ubuntu machine using a specified port that can be seen on the login process dialog box.

    xrdp14.04_13

    Click on Picture for Better Resolution

    Take a note of this port.

    When you need to reconnect, you will have to specify the same port as your first connection and you should see the same screen as you left it.

    xrdp14.04_14

    Click on Picture for Better Resolution

    Note : This tip has been provided to us by one of our reader (Thank you Wei :-) )

    This is it for this post. Using only the ubuntu xrdp package, we have been able to install and configure a remote access solution. By tweaking the xrdp.ini file, we even have been able to provide a simple and easy to use solution in order to reconnect to an existing session.

    However, we still have a problem with xrdp used in conjunction with Ubuntu. In order to remote into your ubuntu machine, you have no other choice than using an alternate desktop environment (in our case its xfce). I find it quite irritating that we cannot have the xrdp package working with Unity or Gnome desktop environment.

    We have installed fedora distribution and installed the xrdp package. And guess what ! I can connect through xrdp to fedora and have the gnome desktop environment working. Moreover, I can disconnect and when reconnecting I will be reconnecting to the existing session I just left. And all of this with no tweak in configuration files.

    I would love to see the same functionality in Ubuntu. As one of our readers mentionned, it might be time for Ubuntu users to fill in a bug report about xrdp and try to have it fixed. If more and more users complains, maybe Ubuntu team will take the request into account.     

    Till next Time

    See ya

    -----------------------------------------------------------------------------------------------

    X Server -- no display in range is available. xrdp_mm_process_login_response: login failed

    X Server -- no display in range is available. xrdp_mm_process_login_response: login failed

     
     I was having this error xrdp_mm_process_login_response: login failed. I tried the solution from this blog entry, but the error remain xrdp_mm_process_login_response: login failed

    When I look into the /var/log/ xrdp-sesman.log, the error is followed:
    [20130913-14:11:00] [INFO ] starting Xvnc session...
    [20130913-14:11:00] [ERROR] X server -- no display in range is available

     I managed to solve the issue by changing /etc/xrdp/sesmain.ini - MaxSessions from 10 to 100
    [Security]
    AllowRootLogin=1
    MaxLoginRetry=4
    #TerminalServerUsers=tsusers
    #TerminalServerAdmins=tsadmins
    
    [Sessions]
    X11DisplayOffset=10
    MaxSessions=100
    KillDisconnected=0
    IdleTimeLimit=0
    DisconnectedTimeLimit=0

    Restart the Service
    # service xrdp restart


    3 comments:

    Ghebaru Ion said...

    for me worked very well
    ...
    thanks

     
    Shrey Mehrotra said...

    Thanks a lot....worked for me..

    Iain Elder said...

    I solved this by changing X11DisplayOffset to 1 instead.

  • 相关阅读:
    centos7配置java环境
    docker下安装vim
    小程序开发知识点总结
    response设置输出文件编码
    IDEA中,将文件夹加入classpath
    【问题排查】StringIndexOutOfBoundsException
    【问题排查记录】Field 'id' doesn't have a default value;
    http
    raw_input() 与 input() __ Python
    记一次eclipse无法启动的排查过程
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/4204441.html
Copyright © 2011-2022 走看看