LTSP GUI Management for openSUSE Summary LTSP(Linux Terminal Server Project) is growing to become a common phenomena and a number of organizations and schools have already begun deploying it as an alternate cost-effective solution against the expensive hardware one needs to purchase for a normal Lab setup. The goal of this project is to develop a GUI front-end to make the task of setting up and administering the LTSP server easier than the usual command line way, which is not only difficult but also tedious for a normal user. Benefits A GUI manager for LTSP will benefit administrators of LTSP Server a lot by making trivial things like building up the LTSP environment, managing LTSP configuration files and controlling the server a lot easier by reducing the activity to a few mouse clicks. Apart from that, we also plan to include log monitoring from within the GUI implying that the resulting LTSP GUI manager would be more intuitive. Additionally, a centralized logging facility for Thin Clients along with remote user monitoring using italc are being considered for inclusion in this project. The other benefits include enhancements for the openSUSE-Edu, Linkat and other education oriented distributions. We plan to make it as simple as possible so that even a school teacher with little knowledge of how Linux server work can easily carry out all the tasks related to LTSP with confidence. Motivation The LTSP-manager front-end from Ubuntu is our motivation for developing a similar and effective front-end for managing LTSP on openSUSE, and extensible to all the distributions supporting LTSP5. There is a lack of such tool on openSUSE, this project will fill that void. Completion of this project is very important to me as I am from a country which is in need of a cost-effective solution for educational purposes. I believe that this solution would be implemented(using LTSP5) on a large scale only when it is made simple, in other words, when the solution consists of a few mouse clicks. Deliverables a) Take Ubuntu's LTSP-manager as a starting point of our development b) A fully functional Graphical Interface which helps in setting up a functional LTSP environment right from building required images c) LTSP GUI for configuration and management of LTSP and required services' configuration files d) Monitor and control Thin client activities e) Make LTSP-Manager GUI available via 1-click installation for openSUSE and packages for all the other distributions via openSUSE Build Service Time Line May 22 - 26: Research and evaluation of existing tools * Investigate the scope of basing our work on Ubuntu's LTSP-manager GUI * If it is not suitable for our purpose then try to write the GUI from scratch using GTK+ using C and pipes for communicating with the command line installer May 26 -June 12: Start the actual part of integrating the command line installer with the GUI to show progress status and the most important part "to make it workable" June 12 - June 22: After the GUI handles the primary part of installation and setting up of server, start including the functionality for additional configuration settings and tweak settings using check-boxes and other widgets June 22 - June 24 : Testing of the GUI on different versions of openSUSE distribution June 25 : GUI is made online for the community review June 25 : June 30 Testing of the GUI manager for each and every functionality implemented on platforms other than openSUSE July 1 - August 1 : We would try to integrate (if time permits) the additional features of centralised logging of Thin clients, Thin Client Sound and monitoring Thin Client boxes using italc August 2 : Evaluate the additional features working so far and make a stable version of LTSP GUI manager August 7 : Stable version would be available for use on different distributions along with openSUSE which includes these additional features August 8 : Thoughts about any future enhancements and roadmap of next releases Plan in detail The LTSP GUI manager will make use of LTSP plugins for various distributions for basic installation and configuration work. The GUI manager displays progress for every single step that is performed by the shell scripts by continuously updating the status so that the user is aware of what is happening. Initially the GUI manager would query for root status. If yes, it would proceed to the next step or else it gets the root permissions. It then loads the required pre-built configuration files and functions. The GUI automatically updates/installs the missing dependencies. Now that we have prepared a good base we move on to the phase of creating the netboot and nbdroot/nfsroot images, updating every small progress in our interface. After the install phase, comes the configuration phase, which consists of configuring various services such as dhcp, nfs, tftp, xinetd etc. and finally perform the post setup process of starting up this service and configure it to start during the next boot(as an optional setting using checkbox). The whole install process would be made such that it would be 1 click installation for the setup with default configuration and few more clicks for more customized setup. Apart from the installer we also plan to build a manager which would not only help the user manage the LTSP server and client variables but also monitor the thin client and control it's behavior. The project goals, scope of the deliverables and plans have been discussed in detail with the mentors of this project in the #opensuse-edu IRC channel at Freenode where many new ideas are still being taken into consideration. Qualification I am confident that I am the right person to carry out this project. I have found the Linux user environment to be very amazing at the command line level and to be even more fascinating at the GUI level. Hence this project is a very good opportunity for me to contribute my part to the GUI level. I have been working recently on a few programs(small time) for personal use which used GTK+ as the library for front-end design and interfacing with the user. Only after doing these projects did I get the confidence that I can put my hands on the current project which heavily depends on GTK+ for delivering the required user interaction. I am a computer enthusiast and a student pursuing final year of Computer Science & Engineering (Undergraduate) course from Muffakham Jah College of Engineering and Technology, Hyderabad, India. I have been using Linux in various different flavors which includes Mepis, Fedora, Debian, Ubuntu(which I am currently on) and a few more. The most interesting thing I like about different flavors is that no two are alike(at least in some area) and each one offers every user a unique experience. The benefit I got by switching distributions is; I now have a good grasp of how each distribution tries to satisfy users with their day to day needs and requirements which in turn helps me build good GUI applications. Therefore, I consider getting a GUI manager for LTSP on openSUSE platform to be my main course this summer.