Day 1: LTPS Hackfest Portland 2008 Attendence: Vagrant Gadi Ogra eharrison warren ryan52 jammcq sbalneav dberkholz johnny japerry rcy October 23rd, 2008: LTSP BTS (By the Sea) Hackfest * ACTION: Figure out what networking gear we need before we get there. Ethernet to fiber adpaters? Wireless routers? etc. June 24th, 2009: FISL-10.0 * LTSP 10 year birthday * Try to get everyone down to Brazil * Panel discussion of LTSP distro guys LDM Action Items ================ * Merge sbanleav's major cleanup. * Major cleanups, code simplification. * SSH message direct to UI. Old ldm uses LANG=C and screen scraping to login. ldm did not use ssh-askpass because dealing with password expiry is impossible with the current ssh. Rewrite: launch SSH with no LANG=, pump strings to message area. * ldm rewrite has ONE way to do fork+exec. ldm_spawn() is async. Use ldm_wait() if you want sync. * Proper glib string handling. * Rewrite drops 250 lines of code. DONE: Merged into ltsp-trunk and tested on Fedora and Debian. Further testing ensues. * Restart X only after logging out from a session, not upon login failure. Restart X after session. * (japerry) ldm's theming system. Make it possible to use existing gdm themes with ldm. Ogra thinks this is impossible. Ogra says it is simple to build a theme currently. You can customize gtkrc and the two images. Agreed we can't do this. * Move X into screen script before LDM launches. * Implement .d/ scripts Common X init.d directory: /usr/lib/ltsp/xinitrc.d/ LDM-speicfic directory: /usr/lib/ldm/init.d/ * (Gadi) Redo LDM Architecture Current: X -> ssh (connect) -> rc.d (S) -> ssh (launch) -> rc.d (K) -> ^ | | | |------------------------------------------------------------- Proposed: XXX: GADI WRITE STUFF HERE. -> init.d -> ssh (connect) -> rc.d (S) -> ssh (launch) -> rc.d (K) -> | | | <--------------------------------------------------------- Add while loop. * Kill the kill -1 * (warren) LDM: cleanup strings, lots of duplicates or similar strings, important for translators. * LDM_DEBUG off by default. You can switch it on if you want ldm.log because it is only useful for development and debugging. * If logging is enabled, use syslog. * Revisit LTSP_CLIENT Nothing we have to do now. * Add "timed login" mode - display greeter with timer - logs in as LDM_USERNAME after timeout * Have ldm automatically switch to "timed login mode" if autologin mode ends, so we have an opportunity to shut down the client instead of constantly getting logged in again. * LDM_SESSION cleanup plan. Run all sessions through the Xsession script as an arg. ldminfod can optionally provide the location of Xsession. Old ldm clients wont know what to do with that, but that isn't a regression. Local Apps Architecture ======================= • Authentication (uid/gid) ∘ ssh .... getent ∘ libnss_extrausers was considered to handle the user and group info, but we later came to agreement that it would be safer and simpler to simply append these to the thin client's temporary passwd and group files. • SSHFS mount /home/$USER ∘ write to ~/.ssh/config ControlPath ∘ (send patch to sshfs) • xrexecd stuff ∘ using xatoms to launch local apps ∘ Error handling (server side) • Printing with local firefox ∘ cups in chroot, local print queues auto-configured from lts.conf with lpadmin call https://wiki.ubuntu.com/ltsp-localapps Earlier written specification. Other Local Things: ==================== Change jetpipe (python) into a c script for local printing * Scott has already done this, just needs to be checked in, and tested.