www.it-ebooks.info Get more out of WROX.com Programmer to Programmer ™ Interact Take an active role online by participating in our P2P forums Wrox Online Library Hundreds of our books are available online through Books24x7.com Wrox Blox Download short informational pieces and code to keep you up to date and out of trouble! Chapters on Demand Purchase individual book chapters in pdf format Join the Community Sign up for our free monthly newsletter at newsletter.wrox.com Browse Ready for more Wrox? We have books and e-books available on .NET, SQL Server, Java, XML, Visual Basic, C#/ C++, and much more! Contact Us. We always like to get feedback from our readers. Have a book idea? Need community support? Let us know by e-mailing wrox-partnerwithus@wrox.com Related Wrox Books Beginning Linux Programming, 4th Edition ISBN: 978-0-470-14762-7 This book introduces fundamental concepts beginning with the basics of writing Unix programs in C, and includes material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and shell programming. Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. Advanced topics are covered in detail, such as processes, pipes, semaphores, socket programming, using MySQL, writing applications for the GNOME or the KDE desktop, writing device drivers, POSIX Threads, and kernel programming for the latest Linux Kernel. Professional Linux Kernel Architecture ISBN: 978-0-470-34343-2 Linux expert Wolfgang Mauerer focuses on version 2.6.24 (as well as summarizing changes to versions 2.6.25 and 2.6.26) of the kernel as he walks you through the concepts, underlying structures, and implementation of the Linux kernel. Keeping a close connection with the source code—as well as the components and subsystems of the kernel—this book reviews the VFS layer and discusses virtual filesystems and the Extended filesystem family and examines how the page and buffer cache speed up kernel operations. Professional Linux Programming ISBN: 978-0-471-77613-0 Professional Linux Programming looks at the different development environments within Linux—the kernel, the desktop, and the web—and then demonstrates best practices, tools, and techniques for integrating applications with the OS as a whole. This book is essential for understanding the nuances that differentiate programming for Linux from programming for any other platform. After beginning with simple shell scripts, the reader quickly moves on to the more advanced topics like software drivers and the graphical interface. www.it-ebooks.info Professional Ubuntu® Mobile Development Introduction xxv Chapter 1: Mobile Linux 1 Chapter 2: The Development Environment 11 Chapter 3: Power Management 35 Chapter 4: Application Development 53 Chapter 5: Application Packaging 105 Chapter 6: Application Selection 129 Chapter 7: Theming 147 Chapter 8: Kernel Fine-Tuning 165 Chapter 9: Testing and Usability 187 Chapter 10: Tips and Tricks 207 Chapter 11: Putting It All Together 219 Chapter 12: Mobile Directions 243 Chapter 13: Common Problems and Possible Solutions 257 Appendix A: Ubuntu’s Right ARM 265 Appendix B: Git Usage 277 Appendix C: Hosting Your Project on Launchpad 287 Appendix D: Desktop Power Applet Code 291 Appendix E: D-Bus: An Overview 297 Index 307 ffirs.indd iffirs.indd i 10/7/09 12:43:01 PM10/7/09 12:43:01 PM www.it-ebooks.info ffirs.indd iiffirs.indd ii 10/7/09 12:43:02 PM10/7/09 12:43:02 PM www.it-ebooks.info Professional Ubuntu® Mobile Development ffirs.indd iiiffirs.indd iii 10/7/09 12:43:02 PM10/7/09 12:43:02 PM www.it-ebooks.info ffirs.indd ivffirs.indd iv 10/7/09 12:43:02 PM10/7/09 12:43:02 PM www.it-ebooks.info Professional Ubuntu® Mobile Development Ian Lawrence Rodrigo Cesar Lopes Belem Wiley Publishing, Inc. ffirs.indd vffirs.indd v 10/7/09 12:43:03 PM10/7/09 12:43:03 PM www.it-ebooks.info Professional Ubuntu® Mobile Development Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2010 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-43676-9 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley .com/go/permissions . Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read. For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002. Library of Congress Control Number: 2009927341 Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. Ubuntu is a registered trademark of Canonical Ltd. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. ffirs.indd viffirs.indd vi 10/7/09 12:43:03 PM10/7/09 12:43:03 PM www.it-ebooks.info About the Authors Ian Robert Lawrence is a Scrum Master at the Instituto Nokia de Tecnologia. He is a founding member of both the Ubuntu Brazil and Debian Amazonas communities and he is studying for an MBA in The Strategic Management of Technology Innovation at UNICAMP. Rodrigo Cesar Lopes Belem is a free software developer and advocate who has contributed to many open source projects such as Enlightenment and Ubuntu. He has been working with free software since 2001 and currently works as a software developer at the Instituto Nokia de Tecnologia. He is studying for a Computer Science degree at the Federal University of Amazonas and holds an LPIC Level 2 certificate. ffirs.indd viiffirs.indd vii 10/7/09 12:43:03 PM10/7/09 12:43:03 PM www.it-ebooks.info ffirs.indd viiiffirs.indd viii 10/7/09 12:43:03 PM10/7/09 12:43:03 PM www.it-ebooks.info [...]... Introduction History and Background to the Ubuntu Mobile Project This background comprises various conversations on IRC at #ubuntu- mobile, and it now forms the basis of the wiki page at https://wiki .ubuntu. com/MobileTeam /Mobile/ History The project started with an announcement at the start of the Ubuntu Hardy release cycle by Ubuntu CTO Matt Zimmerman to the ubuntu- devel mailing list, which said: It... in the Ubuntu infrastructure on cdimage .ubuntu. com, which results in daily ubuntu- mobile images Although the ubuntu- mobile release was a beta one, it was well reviewed on UMPCPortal (www.umpcportal.com/) and generated some community interest Jaunty The Jaunty Ubuntu Mobile release was based on Hildon 2.2, which was itself based on Clutter and GTK This brought significant improvements for Ubuntu Mobile. .. technical challenges that these devices pose, we are announcing the Ubuntu Mobile and Embedded project The Ubuntu Mobile and Embedded Project This was an extension of the GNOME Mobile and Embedded Initiative (GMAE) The naming of the Ubuntu Mobile and Embedded Project caused some confusion at the time mainly because there existed a previous Ubuntu Embedded Team This team was working toward the creation of... developers decided that there would be specific Ubuntu Mobile releases for Intrepid Intrepid So, for Intrepid, there was work done to create Ubuntu Mobile The Ubuntu Mobile release was designed for larger 7–9-inch screens, which work best on the Samsung Q1 (as that happened to be the 7–9-inch hardware owned by the developers working on this release flavor) The Ubuntu Mobile releases do not have any of the hardware... Introduction Professional Ubuntu Mobile Development is designed for all developers interested in a practical, hands-on way of learning development on mobile devices The book is designed to show you how to complete real-world tasks in efficient and often, we hope, innovative ways Our goal is that the examples in this book will help you understand the techniques you need when working with Ubuntu Mobile Our... 259 259 xxii www.it-ebooks.info Contents Using USB Running Ubuntu on Freerunner Running Ubuntu on Arima Ubuntu Intrepid UMPC Project Installing Ubuntu Netbook Remix on a UMPC Using apt Joining the Ubuntu Mobile Developers Team Using KVM or QEMU Graphical Corruption Poor Performance Summary 260 260 261 261 261 261 262 262 262 263 263 Appendix A: Ubuntu s Right ARM 265 Appendix B: Git Usage 277 Appendix... for the purpose of running Ubuntu on small PC style hardware and true embedded devices The Ubuntu Embedded team was mainly looking at getting Ubuntu working on ARM processor–based devices The Ubuntu Mobile and Embedded Team then started work during the Ubuntu Hardy release cycle and as time passed, most of the focus during this cycle was on getting Hildon and Moblin into Ubuntu, and porting to the... interfaces Karmic The karmic release for Ubuntu Mobile is focused on the Ubuntu Netbook Remix and ARM releases of Ubuntu (see below) In addition, a one-off Ubuntu Moblin Remix was rolled out primarily for demonstration and comparison purposes, but also to showcase the best of both projects Also during this cycle, Ubuntu MID became community-maintained in the Ubuntu Liquid Remix project If you would... Hardy developer alpha release there were some nomenclature cleanups within the Ubuntu project As a result of this, the Ubuntu Mobile and Embedded Team became the Ubuntu Mobile Team, as the goals were increasingly divergent from those of the Ubuntu Embedded Team and of “pure” embedded development itself Netbook Remix Completely independently, a group of Canonical developers from the Original Equipment... image of Ubuntu MID (which was some time after the official Ubuntu Hardy release) While this release was targeted for 4 to 6-inch screen devices, most of the testing and the work was done on a Samsung Q1 (known as the reference device) or on somewhat awkward development kits The Ubuntu Mobile Team Some time after the Hardy developer alpha release there were some nomenclature cleanups within the Ubuntu . www.it-ebooks.info Professional Ubuntu Mobile Development Introduction xxv Chapter 1: Mobile Linux 1 Chapter 2: The Development Environment 11 Chapter 3: Power Management 35 Chapter 4: Application Development. PM www.it-ebooks.info Professional Ubuntu Mobile Development Ian Lawrence Rodrigo Cesar Lopes Belem Wiley Publishing, Inc. ffirs.indd vffirs.indd v 10/7/09 12:43:03 PM10/7/09 12:43:03 PM www.it-ebooks.info Professional. PM www.it-ebooks.info ffirs.indd iiffirs.indd ii 10/7/09 12:43:02 PM10/7/09 12:43:02 PM www.it-ebooks.info Professional Ubuntu Mobile Development ffirs.indd iiiffirs.indd iii 10/7/09 12:43:02 PM10/7/09 12:43:02 PM www.it-ebooks.info ffirs.indd