This specification is about extending LDM with an rdesktop menu item.
Current rdesktop support in lts.conf doesn't make it easy for users to select between Linux or remote desktop sessions. The only way to do it now without constantly changing lts.conf would be SCREEN_07=ldm / SCREEN_02=rdesktop, but RAM requirements for the clients would increase, and the Linux session would be unusuable because SCREEN_02 would restart X after each rdesktop timeout.
Angelo is a teacher. While teaching class A he needs to work with the Gimp, so he instructs the students to logon normally. Later, with class B he needs to work with a Windows application, so he instructs the students to select Preferences > Remote desktop.
This spec covers the following design subjects:
- Necessary changes to the interface
- Changes in lts.conf (none)
- Expected code changes
The standard LDM menu ("Select language...", "Select session...", "Reboot", "Shutdown") should be extended with a "Remote desktop" item. When the user clicks on it, a full screen rdesktop session should be started on top of ldm, hiding (but not closing) ldm. After the rdesktop session, ldm would be shown again.
Changes in lts.conf
This menu item should only be shown if:
- rdesktop is installed on the chroot
- RDP_SERVER is defined in lts.conf
- No SCREEN_xx=rdesktop is defined in lts.conf (no need to enable both ways to run rdesktop simultaneously)
RDP_OPTIONS in lts.conf should still be valid, except for the -f option which should be added in all cases, because an rdesktop window without window manager would be ugly.
So, interface changes are minimal and lts.conf changes non-existant.
- To check if rdesktop is installed
- To check the lts.conf settings
- To provide the menu item
- To launch rdesktop
Code changes seem small and easily implemented, and are not expected to break anything.