Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

“xvnc” is always set as the default in the Login-Screen, although “xorg” was selected previously #1074

Closed
Abinayasandhiya opened this issue Mar 22, 2018 · 26 comments
Labels

Comments

@Abinayasandhiya
Copy link

Abinayasandhiya commented Mar 22, 2018

Hello Team,

We are using RHEL 6 and RHEL 7 machine with XRDP.

[root@XXX ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
[root@XXX ~]$ rpm -qa | grep xrdp
xrdp-devel-0.9.5-1.el7.x86_64
xorgxrdp-0.2.5-3.el7.x86_64
xrdp-0.9.5-1.el7.x86_64
xrdp-selinux-0.9.5-1.el7.x86_64
xrdp-debuginfo-0.9.5-1.el7.x86_64

As per discussion with our user the problem is, while using XRDP "xvnc" is always set as default in the Login-screen of XRDP, although if we selected "Xorg" previously which can lead to unintentionally using the wrong session.

Can anyone help and let me know how to fix this.

@metalefty
Copy link
Member

edit xrdp.ini as you like.

@Abinayasandhiya
Copy link
Author

Please find below /etc/xrdp.ini file:

[Globals]
; xrdp.ini file version number
ini_version=1

; fork a new process for each incoming connection
fork=true
; tcp port to listen
port=3389
; 'port' above should be connected to with vsock instead of tcp
use_vsock=false
; regulate if the listening socket use socket option tcp_nodelay
; no buffering will be performed in the TCP stack
tcp_nodelay=true
; regulate if the listening socket use socket option keepalive
; if the network connection disappear without close messages the connection will be closed
tcp_keepalive=true
#tcp_send_buffer_bytes=32768
#tcp_recv_buffer_bytes=32768

; security layer can be 'tls', 'rdp' or 'negotiate'
; for client compatible layer
security_layer=negotiate
; minimum security level allowed for client
; can be 'none', 'low', 'medium', 'high', 'fips'
crypt_level=high
; X.509 certificate and private key
; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
certificate=
key_file=
; set SSL protocols
; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2'
ssl_protocols=TLSv1, TLSv1.1, TLSv1.2
; set TLS cipher suites
#tls_ciphers=HIGH

; Section name to use for automatic login if the client sends username
; and password. If empty, the domain name sent by the client is used.
; If empty and no domain name is given, the first suitable section in
; this file will be used.
autorun=

allow_channels=true
allow_multimon=true
bitmap_cache=true
bitmap_compression=true
bulk_compression=true
#hidelogwindow=true
max_bpp=32
new_cursors=true
; fastpath - can be 'input', 'output', 'both', 'none'
use_fastpath=both
; when true, userid/password *must* be passed on cmd line
#require_credentials=true
; You can set the PAM error text in a gateway setup (MAX 256 chars)
#pamerrortxt=change your password according to policy at http://url

;
; colors used by windows in RGB format
;
blue=009cb5
grey=dedede
#black=000000
#dark_grey=808080
#blue=08246b
#dark_blue=08246b
#white=ffffff
#red=ff0000
#green=00ff00
#background=626c72

;
; configure login screen
;

; Login Screen Window Title
#ls_title=My Login Title

; top level window background color in RGB format
ls_top_window_bg_color=009cb5

; width and height of login screen
ls_width=350
ls_height=430

; login screen background color in RGB format
ls_bg_color=dedede

; optional background image filename (bmp format).
#ls_background_image=

; logo
; full path to bmp-file or file in shared folder
ls_logo_filename=
ls_logo_x_pos=55
ls_logo_y_pos=50

; for positioning labels such as username, password etc
ls_label_x_pos=30
ls_label_width=60

; for positioning text and combo boxes next to above labels
ls_input_x_pos=110
ls_input_width=210

; y pos for first label and combo box
ls_input_y_pos=220

; OK button
ls_btn_ok_x_pos=142
ls_btn_ok_y_pos=370
ls_btn_ok_width=85
ls_btn_ok_height=30

; Cancel button
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/xrdp.log
LogLevel=DEBUG
EnableSyslog=true
SyslogLevel=DEBUG
; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug

[Channels]
; Channel names not listed here will be blocked by XRDP.
; You can block any channel by setting its value to false.
; IMPORTANT! All channels are not supported in all use
; cases even if you set all values to true.
; You can override these settings on each session type
; These settings are only used if allow_channels=true
rdpdr=true
rdpsnd=true
drdynvc=true
cliprdr=true
rail=true
xrdpvr=true
tcutils=true

; for debugging xrdp, in section xrdp1, change port=-1 to this:
#port=/tmp/.xrdp/xrdp_display_10

; for debugging xrdp, add following line to section xrdp1
#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210


;
; Session types
;

; Some session types such as Xorg, X11rdp and Xvnc start a display server.
; Startup command-line parameters for the display server are configured
; in sesman.ini. See and configure also sesman.ini.
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
#xserverbpp=24
#delay_ms=2000

[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

#[X11rdp]
#name=X11rdp
#lib=libxup.so
#username=ask
#password=ask
#ip=127.0.0.1
#port=-1
#xserverbpp=24
#code=10

#[console]
#name=console
#lib=libvnc.so
#ip=127.0.0.1
#port=5900
#username=na
#password=ask
#delay_ms=2000

#[vnc-any]
#name=vnc-any
#lib=libvnc.so
#ip=ask
#port=ask5900
#username=na
#password=ask
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000

#[sesman-any]
#name=sesman-any
#lib=libvnc.so
#ip=ask
#port=-1
#username=ask
#password=ask
#delay_ms=2000

#[neutrinordp-any]
#name=neutrinordp-any
#lib=libxrdpneutrinordp.so
#ip=ask
#port=ask3389
#username=ask
#password=ask

; You can override the common channel settings for each session type
#channel.rdpdr=true
#channel.rdpsnd=true
#channel.drdynvc=true
#channel.cliprdr=true
#channel.rail=true
#channel.xrdpvr=true

Please let me know which line i have to change in this file to get previous selected session ("Xvnc/Xorg").

@metalefty
Copy link
Member

change the order of Xorg and Xvnc. you should more try & error.

@Abinayasandhiya
Copy link
Author

Ok , We will check and let you know. Thanks

@Abinayasandhiya
Copy link
Author

Abinayasandhiya commented Mar 22, 2018

We have changed the order of /etc/xrdp.ini file.
Now we could see the default session as "Xorg"
capture

Although "Xvnc" was selected previously but still Xorg only display as default.
The session option should be the session which we selected previously.

@metalefty
Copy link
Member

Do you really need both Xvnc and Xorg (xorgxrdp)? In most cases, use only Xorg. It will be enough.

If you really need both, you can specify session type in domain. Your clientside username can include the session type. "Xvnc\username" will use Xvnc, "Xorg\username" will use Xorg.

The selection cannot be saved server side. Save it at the client side.

@Abinayasandhiya
Copy link
Author

Sorry , I didn't get this clearly.

@metalefty
Copy link
Member

Do you need both?

@Abinayasandhiya
Copy link
Author

Yes We need Xorg and Xvnc

@metalefty
Copy link
Member

The selection cannot be saved server side. Save it at the client side.

Put the session type before the username and separate with backslash when you input the user name in your client. If you give "Xvnc" before the username, Xvnc will be used. "Xorg", Xorg will be used.

@metalefty
Copy link
Member

Ahhhh what's your client?

@Abinayasandhiya
Copy link
Author

We tried to connect the linux machine from windows using Remote Desktop connection.

capture 3

@metalefty
Copy link
Member

Session type can be given as a part of credentials. Put the session type in the "User name:" field like, "Xvnc\username" or "Xorg\username". The client can save user credentials. Saving credentials is saving session type. "Xvnc\username" will use Xvnc, "Xorg\username" will use Xorg.

@metalefty
Copy link
Member

Anyway, I'd say session type selection cannot be saved server side.

@metalefty
Copy link
Member

See also man xrdp.ini.

@Abinayasandhiya
Copy link
Author

Abinayasandhiya commented Mar 22, 2018

I tried as per your suggestion.
I have mention the session with username like below:

capture 5

But once i enter password facing login failed issue.

@Abinayasandhiya
Copy link
Author

Actually my requirement is on the session option we have to see the previous session which we used.
Every time its changed automatically as default session, so unintentionally we are using wrong session sometime.

@Abinayasandhiya
Copy link
Author

Can we get any idea to overcome this issue.

@metalefty
Copy link
Member

No, not there. I said CLIENT. Put "Xvnc\username" into the CLIENT SIDE username field.

@metalefty
Copy link
Member

2018-03-22 2

@Abinayasandhiya
Copy link
Author

Abinayasandhiya commented Mar 22, 2018

Please see my screen shot once I enter the Xvnc/username in client side like below:

capture1

getting below screen

capture2

@metalefty
Copy link
Member

I also said:

The client can save user credentials. Saving credentials is saving session type.

Turn on "Allow me to save credentials" and input user password client side.

@Abinayasandhiya
Copy link
Author

Yes Got it. :) Thank you

@Abinayasandhiya
Copy link
Author

Thanks for all your support case can be closed.

@metalefty
Copy link
Member

👍

@Abinayasandhiya
Copy link
Author

Hi Metalefty,

Greetings:)

We are facing Copy/Paste issue from windows to XRDP.
Can you please help me on below issue also:

#1188

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants