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

waitforx changes break starting unattended sessions #2580

Closed
matt335672 opened this issue Mar 7, 2023 · 4 comments
Closed

waitforx changes break starting unattended sessions #2580

matt335672 opened this issue Mar 7, 2023 · 4 comments

Comments

@matt335672
Copy link
Member

After some testing, I've just realised that #2492 has broken the functionality which allows xrdp-sesrun to start a session without a client.

The problem is that the Xorg X server won't have any RandR outputs defined until a client connects.

I think the problem is best solved by making the lack of outputs a warning rather than an error condition.

@Nexarian, @derekschrock - what are your thoughts on this?

@matt335672
Copy link
Member Author

BTW I'm putting a PR together to fix some of the logging in this area. I'm push a draft out tomorrow.

@matt335672
Copy link
Member Author

Bit more info. If I run this command to start an Xorg X server:-

/usr/lib/xorg/Xorg :49 -ac -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log

I get this output from xrandr:--

$ xrandr -display :49
rdpRRGetInfo:
rdpRRGetInfo:
Screen 0: minimum 256 x 256, current 1024 x 768, maximum 16384 x 16384

If I do the same with Xvnc:-

Xvnc :49 -ac -noreset -nolisten tcp

I get this:-

$ xrandr -display :49
Screen 0: minimum 32 x 32, current 1024 x 768, maximum 32768 x 32768
VNC-0 connected 1024x768+0+0 0mm x 0mm
   1024x768      60.00*+
   1920x1200     60.00  
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     60.00  
   1400x1050     60.00  
   1360x768      60.00  
   1280x1024     60.00  
   1280x960      60.00  
   1280x800      60.00  
   1280x720      60.00  
   800x600       60.00  
   640x480       60.00  

I get similar results with Xdummy (requires root):-

sudo Xdummy :49 -ac -noreset -nolisten tcp
$ xrandr -display :49
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
Virtual-1 connected primary 1024x768+0+0 0mm x 0mm
   1024x768      60.00*+
   2560x1600     59.99    59.97  
   1920x1440     60.00  
   1856x1392     60.00  
   1792x1344     60.00  
   2048x1152     60.00  
   1920x1200     59.88    59.95  
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     59.95    59.88  
   1400x1050     59.98    59.95  
   1600x900      60.00  
   1280x1024     60.02  
   1440x900      59.89    59.90  
   1280x960      60.00  
   1280x854      59.95  
   1366x768      59.79    60.00  
   1360x768      60.02  
   1280x800      59.81    59.91  
   1280x768      59.87    59.99  
   1280x720      60.00  
   1152x768      59.95  
   800x600       60.32    56.25  
   848x480       60.00  
   720x480       59.94  
   640x480       59.94  
Virtual-2 disconnected
Virtual-3 disconnected
Virtual-4 disconnected

A better fix may be to emulate Xvnc behaviour within Xorg. This will fix this problem, and also (indirectly) address the original issue #2436.

There's another issue I've spotted with waitforx, in that the original wait in the chansrv process for the X server has now been removed.

@matt335672
Copy link
Member Author

I'm closing this now neutrinolabs/xorgxrdp#254 has been created.

@matt335672
Copy link
Member Author

See also #2586 which is the logging PR I mentioned above.

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

No branches or pull requests

1 participant