This is an interesting aspect of the software industry work life which has come out into the fore front of all the other technologies. The User Interface or GUI as it is more popularly known as has become an object of desire for almost the complete industry and most of the Organizations have started giving it a coveted position. These days selling software is more of how and where you catch the users eye and then how you tend to utilize that capability to the best of your interests [basically these translate to where the Organization can earn to make your salary a reality].
Need to get more updated on this, and will bring in more topics on what is to be done for this. For now, do go over the book: Effective Software Test Automation – Kanglin Li and Mengqi Wu [Developing an Automated Software Testing Tool]. In this they have described the creation of a automation test tool using C++ and MFC. It is both GUI and command console based. I think we need to get something on similar lines working for GNU/Linux also.