Universidade Federal De Campina Grande Centro De Engenharia Elétrica E Informática Coordenação De Pós-Graduação Em Informática

Total Page:16

File Type:pdf, Size:1020Kb

Universidade Federal De Campina Grande Centro De Engenharia Elétrica E Informática Coordenação De Pós-Graduação Em Informática Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Coordenação de Pós-Graduação em Informática Desenvolvimento de Software para Dispositivos Móveis Baseados na Plataforma maemoTM Raul Fernandes Herbster Dissertação submetida à Coordenação do Curso de Pós-Graduação em Ciência da Computação da Universidade Federal de Campina Grande - Campus I como parte dos requisitos necessários para obtenção do grau de Mestre em Ciência da Computação. Área de Concentração: Engenharia de Software Linha de Pesquisa: Sistemas Embarcados Angelo Perkusich (Orientador) Hyggo Oliveira de Almeida (Orientador) Campina Grande, Paraíba, Brasil c Raul Fernandes Herbster, julho de 2008 FICHA CATALOGRÁFICA ELABORADA PELA BIBLIOTECA CENTRAL DA UFCG H417d 2008 Herbster, Raul Fernandes Desenvolvimento de software para dispositivos móveis baseados na plataforma maemo ™ / Raul Fernandes Herbster.─ Campina Grande, 2008. 185 f..: il. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Campina Grande, Centro de Engenharia Elétrica e Informática. Referências. Orientadores: Profº Dr. Angelo Perkusich, Profº Dr. Hyggo Oliveira de Almeida. 1. Engenharia de Software. 2. Dispositivos Móveis 3. Plataforma maemo I. Título. CDU – 004.41 (043) "DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS BASEADOS NA PLATAFORMA MAEMO(TM)" RAUL FERNANDES HERBSTER DISSERTAÇÃO APROVADA EM 23.07.2008 PROF. ANGELO PERKUSICH, D.Sc Orientador PROF. HYGGO OLIVEIRA DE ALMEÏDA, D.Sc Orientador PROF. ANTONIO MÁR NOGUEIRA DE LIMA, Dr. inador PROF. EVANDRO DE BARROS COSTA, D.Sc Examinador CAMPINA GRANDE - PB Resumo A crescente popularização de dispositivos móveis tem aumentado o interesse da indústria em produzir novos produtos que atendam aos requisitos dos usuários, cada vez mais exi- gentes. Aliado ao crescimento no consumo e à adoção de grandes empresas por produtos baseados em soluções open source, a Nokia lançou os produtos da linha Internet Tablet os quais utilizam a plataforma maemo, baseada no sistema operacional Linux. Documentação e ferramentas que facilitem o desenvolvimento são elementos fundamentais para a adesão de um grande número de desenvolvedores. Considerando tal fato, a comunidade maemo carece de i) um material didático com informações dispostas de maneira organizada e con- cisa para ajudar no aprendizado da plataforma maemo (arquitetura e desenvolvimento) e ii) ambientes de desenvolvimento com funcionalidades que facilitem a implementação, com- pilação, execução e testes (depuração e testes de unidade) de aplicações maemo. Neste trabalho, serão apresentados um documento que será utilizado para a publicação de um livro sobre a plataforma maemo, bem como duas ferramentas bastante importantes para o desen- volvimento de aplicações maemo: ESbox e PluThon. Além dessas contribuições, também é descrito um compilador JIT, desenvolvido também durante este trabalho, que utiliza o frame- work de compilação LLVM para processadores baseados na arquitetura ARM. i Abstract The large adoption of mobile devices has been taken into account by the industry to pro- duce new products that satisty requirements of the users. The users are becoming even more demanding. Considering the fact that the demanding of such devices is growing very fast and also the adoption of new open source based solutions by important mobile device com- panies, Nokia has released a new product line: the Internet Tablets. Such devices use the maemo platform, a Linux-based solution for embedded systems. Documentation and tools that make application development easier are essential elements for a massive adoption of the platform by the developers and, as a result, the success of a certain technology. Consider- ing this fact, the maemo community lacks of i) a teaching material arranged in an organized and concise way to help newbies on maemo platform (concepts related to architecture and development) and ii) development environments that help the implementation, compilation, execution and tests (debugging and unit tests) of maemo applications. In this work, it is pre- sented a document that is going to be used to publish a book on maemo platform, and also two very important tools to maemo application development: ESbox and PluThon. Besides these contributions, it is also described a JIT compiler, implemented during this work, for ARM-based processors that use LLVM compilation framework. ii Agradecimentos Agradeço a Deus pela força e coragem para ter chegado até este momento de minha vida. À minha familía, em especial meus adoráveis pais Pedro e Elvira, meus amados irmãos Adolfo e Yolanda, meus saudosos avós (Antônio, Zilda, Lauro e Iolanda), meus queridos tios e tias (em especial Albertina, por exercer o papel de minha mãe em Campina Grande) e todos os meus primos. Aos meus orientadores Angelo Perkusich e Hyggo Almeida, pelas tarefas, problemas, soluções, debates, revisões e sobretudo pela orientação, compreensão e força prestados du- rante a execução deste trabalho. A Marcos Morais, pelas conversas, idéias, dicas, ensinamentos, exemplos, soluções e por tudo mais que ele representa para os veteranos do Laboratório Embedded. A todos os meus colegas e amigos do Laboratório Embedded, em especial da sala 106: Kyller, Mateus, Gutemberg, Saulo, Paulo Sausen, Walter, Taciana, Zé Luís, Danilo, Olym- pio, Mário, Ádrian, Diêgo, Yuri, André, Glauber, Leandro Sales, Leandro Leal e Marcus Fábio. Quero também agradecer a amigos que me incentivaram bastante durante a realização deste trabalho e que, sem eles, o sucesso não seria completo: James, Makelli, Régis, Ma- rizilda, Elias, André, Camila, Ana Esther, Ianna, Mirela, Janine e Amanda. À Capes, pelo financiamento. A todos os servidores e funcionários da DSC e COPIN pelo apoio. Agradeço também a todos os meus ex-professores que serviram como bons ou maus exemplos de profissionais e cidadãos. iii Conteúdo 1 Introdução 1 1.1 Problemática . 3 1.2 Objetivo . 4 1.3 Relevância . 5 1.4 Organização . 5 2 Plataforma maemo 8 2.1 Histórico . 8 2.2 Visão Geral . 9 2.3 Sistema Operacional Linux . 10 2.3.1 Núcleo . 10 2.3.2 Processos . 11 2.3.3 Sistema de Arquivos . 13 2.4 Projeto da Plataforma . 16 2.4.1 Bibliotecas de Desenvolvimento . 17 2.4.2 Interface Gráfica . 18 2.4.3 Áudio e Vídeo . 20 2.4.4 Conectividade . 20 2.4.5 Outros Componentes . 21 2.5 Internet Tablets . 22 2.6 Conclusão . 22 3 Ambiente de Execução maemo 25 3.1 Introdução . 25 iv CONTEÚDO v 3.2 Componentes . 26 3.2.1 Navegador de Tarefas . 26 3.2.2 Barramento de Sessão D-Bus . 27 3.2.3 Carregador maemo . 29 3.2.4 Gerenciador de Janelas . 29 3.3 Gerenciamento do Estado da Plataforma . 29 3.4 Inicialização do Aplicativo . 30 3.4.1 Passagem de Variáveis de Ambiente . 32 3.5 Finalização do Aplicativo . 32 3.5.1 Armazenamento do Estado e Encerramento em Background . 33 3.5.2 Encerramento em Background . 33 3.5.3 Armazenamento do Estado da Interface Gráfica . 34 3.5.4 Armazenamento dos Dados do Usuário . 34 3.6 Gerenciamento de Janelas . 35 3.6.1 Empilhamento de Aplicativos . 36 3.6.2 Registro de Janelas no Navegador de Tarefas . 36 3.6.3 Encerramento das Janelas de Aplicações . 37 3.7 Problemas no Comportamento de Aplicações . 37 3.8 Conclusão . 38 4 Desenvolvimento de Aplicações 39 4.1 Introdução . 39 4.2 Ambiente de Desenvolvimento . 40 4.2.1 Criação de Projetos para a Aplicação . 44 4.2.2 Compilando e executando as aplicações . 44 4.2.3 Implantação e Instalação de Aplicações . 47 4.3 Suporte a Linguagens de Programação . 48 4.3.1 Integração da Aplicação com a Plataforma . 49 4.4 Conclusão . 51 5 Comunicação 52 5.1 Introdução . 52 CONTEÚDO vi 5.1.1 D-Bus . 53 5.2 D-Bus na Plataforma maemo . 59 5.2.1 Mensagens de Estado do Hardware . 60 5.2.2 Inicialização de Aplicativos . 62 5.2.3 Finalização de Aplicativos . 62 5.2.4 Armazenamento do Estado da Aplicação . 63 5.3 Conclusão . 63 6 Interface Gráfica 64 6.1 Introdução . 64 6.2 Componentes gráficos da plataforma maemo . 65 6.3 Layouts Gráficos . 66 6.3.1 Modelo baseado em eventos . 68 6.3.2 Módulos Principais . 71 6.4 Outras APIs de Interface Gráfica . 78 6.4.1 SDL . 78 6.4.2 Edje/Evas . 79 6.4.3 Qt . 80 6.5 Exemplo de aplicações . 81 6.6 Conclusão . 81 7 Multimídia 83 7.1 Introdução . 83 7.2 Módulos Principais . 84 7.2.1 ALSA . 85 7.2.2 ESD . 86 7.2.3 GStreamer . 87 7.3 Conclusão . 92 8 Conectividade 93 8.1 Introdução . 93 8.2 Subsistemas de conectividade . 95 CONTEÚDO vii 8.2.1 Acesso ao Celular . 96 8.2.2 Acesso à Internet . 97 8.3 Daemon de Conectividade maemo - ICd . 97 8.3.1 Decomposição . 97 8.3.2 Bluetooth Dial-up Networking . 100 8.3.3 WLAN . 101 8.3.4 Biblioteca LibConIC . 102 8.3.5 Bibliotecas Bluetooth . 102 8.4 Conclusões . 104 9 Segurança 105 9.1 Elementos de Desenvolvimento de Software Seguro . 105 9.1.1 Considerações sobre Segurança de Software . 105 9.1.2 Um Processo de Desenvolvimento Adaptado . 106 9.2 Análise de Ameaça . 106 9.2.1 Análise de Ameaça como Base de Software Seguro . 106 9.2.2 Como Conduzir Análise de Ameaças . ..
Recommended publications
  • GIMP Toolkit: GTK+ V1.2
    'Construction d’IHM $ GIMP Toolkit: GTK+ v1.2 Alexis N´ed´elec Ecole Nationale d’Ing´enieursde Brest TechnopˆoleBrest-Iroise, Site de la Pointe du Diable CP 15 29608 BREST Cedex (FRANCE) e-mail : [email protected] & enib=li2 °c A.N. 1 % 'GTK+ v1.2 : GIMP Toolkit $ Table des Mati`eres Introduction 3 Premier Programme: Hello World 10 Signaux et R´eflexes 14 Description de Widget 22 Container de Widgets 32 Entr´eesde Texte 43 Les Listes multi-colonnes 76 Repr´esentation d’arborescence 89 Bibliographie 107 & enib=li2 °c A.N. 2 % 'GTK : GIMP Toolkit $ Introduction On peut d´efinirGTK comme: . une API “Orient´eObjet” . pour le d´eveloppement d’IHM graphiques (GUI) . sous Licence GNU (LGPL) Glossaire de Sigles: . GNU : GNU’s Not Unix ou “Vive le Logiciel Libre !”. GNOME : GNU Network Object Model Environment . GIMP : General Image Manipulation Program . GDK : GIMP Drawing Kit . GTK : GIMP ToolKit & enib=li2 °c A.N. 3 % 'GTK : GIMP Toolkit $ Introduction Le Projet GNOME: . 1997: Miguel de Icaza du “Mexican Autonomous National University” . objectifs : d´eveloppement de logiciels libres (open source) . inspir´edes d´eveloppements de KDE (Qt) GNOME est bas´esur un ensemble de librairies existantes . glib: utilitaire pour la cr´eationet manipulation de structures . GTK+: Boˆıte`aoutils pour le d´eveloppement d’IHM graphiques . ORBit: Le Broker GNOME (CORBA 2.2) pour la distribution d’objets . Imlib: pour la manipulation d’images sous X Window et GDK & enib=li2 °c A.N. 4 % 'GTK : GIMP Toolkit $ Introduction Librairies sp´ecifiquesdu projet GNOME . libgnome: utilitaires (non-GUI) de bases pour toute application GNOME .
    [Show full text]
  • Mobile Linux Mojo the XYZ of Mobile Tlas PDQ!
    Mobile Linux Mojo The XYZ of Mobile TLAs PDQ! Bill Weinberg January 29, 2009 Copyright © 2009 Bill Weinberg, LinuxPundit,com Alphabet Soup . Too many TLAs – Non-profits – Commercial Entities – Tool Kits – Standards . ORG Typology – Standards Bodies – Implementation Consortia – Hybrids MIPS and Open Source Copyright © 2008 Bill Weinberg, LinuxPundit,com Page: 2 The Big Four . Ahem, Now Three . OHA - Open Handset Alliance – Founded by Google, together with Sprint, TIM, Motorola, et al. – Performs/support development of Android platform . LiMo Foundation – Orig. Motorola, NEC, NTT, Panasonic, Samsung, Vodaphone – Goal of created shared, open middleware mobile OS . LiPS - Linux Phone Standards Forum – Founded by France Telecom/Orange, ACCESS et al. – Worked to create standards for Linux-based telephony m/w – Merged with LiMo Foundation in June 2008 . Moblin - Mobile Linux – Founded by Intel, (initially) targeting Intel Atom CPUs – Platform / distribution to support MIDs, Nettops, UMPC MIPS and Open Source Copyright © 2008 Bill Weinberg, LinuxPundit,com Page: 3 LiMo and Android . Android is a complete mobile stack LiMo is a platform for enabling that includes applications applications and services Android, as Free Software, should LiMo membership represents appeal to Tier II/III OEMs and Tier I OEMs, ISVs and operators ODMs, who lack resources LiMo aims to leave Android strives to be “room for differentiation” a stylish phone stack LiMo presents Linux-native APIs Android is based on Dalvik, a Java work-alike The LiMo SDK has/will have compliance test suites OHA has a “non Fragmentation” pledge MIPS and Open Source Copyright © 2008 Bill Weinberg, LinuxPundit,com Page: 4 And a whole lot more .
    [Show full text]
  • The Glib/GTK+ Development Platform
    The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor .
    [Show full text]
  • THE 2003 Editionlinux
    SUBSCRIBE or renew your subscription to APC for your chance to WIN the new Alfa 156 JTS, valued at over $54,000 Only $65 for 12 issues THE 2003 edition linux POCKETBOOK Subscribe ... www.apcmag.com Online at magshop.com.au or Call 13 61 16 Authorised under NSW Permit No. L02/09075 VIC: 02/2531 SA: T02/3553 ACT: TP02/3650 NT: NT02/3286 For terms and conditions refer to www.xmas.magshop.au. Expiry date: 24/12/02 Contents CHAPTER 1 Customising Gnome 57 CHAPTER 6 Editorial INTRODUCTION 11 Exploring KDE 60 WORKING WITH WINDOWS 131 The origins of the Customising KDE 64 What about Windows? 132 Welcome back to The Linux Pocketbook 2003 edition! penguin 12 Windows connectivity 138 Many of you will probably remember the original print ver- CHAPTER 4 sions of The Linux Pocketbook on newsstands across the country. Why Linux? 18 Basic security 145 The original versions sold so well that we ran out of copies. We’ve The ways of the world 20 USING LINUX 67 had countless requests for reprints, so we’ve decided to bundle the Connecting to the Net 68 CHAPTER 7 entire book into this single resource. This version of the pocketbook relies heavily on Mandrake Linux 9.0 or Red Hat 8.0. Both were CHAPTER 2 Applications 71 PLAYING WITH LINUX 151 released late in 2002, and can be easily found for sale at www.everyth INSTALLING LINUX 21 Conjuring Linux 75 Linux multimedia 152 inglinux.com.au, or for download from either mandrakelinux.com or First published December 2000.
    [Show full text]
  • Third Party Terms for Modular Messaging 3.0 (July 2005)
    Third Party Terms for Modular Messaging 3.0 (July 2005) Certain portions of the product ("Open Source Components") are licensed under open source license agreements that require Avaya to make the source code for such Open Source Components available in source code format to its licensees, or that require Avaya to disclose the license terms for such Open Source Components. If you are a licensee of this Product, and wish to receive information on how to access the source code for such Open Source Components, or the details of such licenses, you may contact Avaya at (408) 577-7666 for further information. The Open Source Components are provided “AS IS”. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR THE CONTRIBUTORS OF THE OPEN SOURCE COMPONENTS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Avaya provides a limited warranty on the Product that incorporates the Open Source Components. Refer to your customer sales agreement to establish the terms of the limited warranty. In addition, Avaya’s standard warranty language as well as information regarding support for the Product, while under warranty, is available through the following web site: http://www.avaya.com/support.
    [Show full text]
  • Linux Games Page 1 of 7
    Linux Games Page 1 of 7 Linux Games INTRODUCTION such as the number of players and the size of the map, then you start the game. Once the game is running clients may Hello. My name is Andrew Howlett. I've been using Linux join the game. Clients connect to the game using TCP/IP, since 1997. In 2000 I cutover to Linux for all my projects, so it is very easy to play multi-player games over the except I dual-booted Windows to play games. I like to play Internet. Like many Free games, clients are available for computer games. About a year ago I stopped dual booting. many platforms, including Windows, Amiga and Now I play computer games under Linux. The games I Macintosh. So there are lots of players out there. If you play can be divided into four groups: Free Games, native don't want to play against other humans, then Freeciv linux commercial games, Windows Emulated games, and includes some nasty AIs. Win4Lin enabled games. This presentation will demonstrate games from each of these four groups. BZFlag Platform BZFlag is a tank combat game along the same lines as the old BattleZone game. Like FreeCiv, BZFlag uses a client/ Before I get started, a little bit about my setup so you can server architecture over TCP/IP networks. Unlike FreeCiv, relate this to whatever you are running. This is a P3 900 the game contains no AIs – you must play this game MHz machine. It has a Crystal Sound 4600 sound card and against other humans (? entities ?) over the Internet.
    [Show full text]
  • A Brief History of GNOME
    A Brief History of GNOME Jonathan Blandford <[email protected]> July 29, 2017 MANCHESTER, UK 2 A Brief History of GNOME 2 Setting the Stage 1984 - 1997 A Brief History of GNOME 3 Setting the stage ● 1984 — X Windows created at MIT ● ● 1985 — GNU Manifesto Early graphics system for ● 1991 — GNU General Public License v2.0 Unix systems ● 1991 — Initial Linux release ● Created by MIT ● 1991 — Era of big projects ● Focused on mechanism, ● 1993 — Distributions appear not policy ● 1995 — Windows 95 released ● Holy Moly! X11 is almost ● 1995 — The GIMP released 35 years old ● 1996 — KDE Announced A Brief History of GNOME 4 twm circa 1995 ● Network Transparency ● Window Managers ● Netscape Navigator ● Toolkits (aw, motif) ● Simple apps ● Virtual Desktops / Workspaces A Brief History of GNOME 5 Setting the stage ● 1984 — X Windows created at MIT ● 1985 — GNU Manifesto ● Founded by Richard Stallman ● ● 1991 — GNU General Public License v2.0 Our fundamental Freedoms: ○ Freedom to run ● 1991 — Initial Linux release ○ Freedom to study ● 1991 — Era of big projects ○ Freedom to redistribute ○ Freedom to modify and ● 1993 — Distributions appear improve ● 1995 — Windows 95 released ● Also, a set of compilers, ● 1995 — The GIMP released userspace tools, editors, etc. ● 1996 — KDE Announced This was an overtly political movement and act A Brief History of GNOME 6 Setting the stage ● 1984 — X Windows created at MIT “The licenses for most software are ● 1985 — GNU Manifesto designed to take away your freedom to ● 1991 — GNU General Public License share and change it. By contrast, the v2.0 GNU General Public License is intended to guarantee your freedom to share and ● 1991 — Initial Linux release change free software--to make sure the ● 1991 — Era of big projects software is free for all its users.
    [Show full text]
  • Hildon 2.2: the Hildon Toolkit for Fremantle
    Hildon 2.2: the Hildon toolkit for Fremantle Maemo Summit 2009 – Westergasfabriek Amsterdam Alberto Garcia [email protected] Claudio Saavedra [email protected] Introduction Hildon widgets library ● Set of widgets built on top of GTK+ ● Created for Nokia devices based on the Maemo platform: – Nokia 770 – Nokia N800 – Nokia N810 – Nokia N900 ● Released under the GNU LGPL ● Used also in other projects (e.g Ubuntu Mobile) Maemo 5 - Fremantle ● Maemo release for the Nokia N900 ● Modern, usable and finger-friendly UI ● Completely revamped user interface, very different from all previous versions ● Hildon 2.2.0 released on 24 September 2009 Hildon 2.0: Modest http://www.flickr.com/photos/yerga/ / CC BY-NC 2.0 Hildon 2.0: Modest http://www.flickr.com/photos/yerga/ / CC BY-NC 2.0 Hildon 2.2: Modest Hildon 2.2: Modest Hildon source lines of code ● Hildon 1.0 (16 Apr 2007): 23,026 ● Hildon 2.0 (10 Oct 2007): 23,690 ● Hildon 2.2.0 (24 Sep 2009): 36,291 Hildon 2.2: the Fremantle release ● Applications as window stacked views ● Buttons as central UI part ● Scrollable widgets are touchable-friendly ● Kinetic scrolling (HildonPannableArea) Other goals ● New and old-style applications can coexist ● Maintain backward compatibility – No API breakage – UI style preserved (where possible) MathJinni in Fremantle New UI concepts Window stacks ● Hierarchical organization of windows ● Applications have a main view from which different subviews can be opened ● Views: implemented with HildonStackableWindow ● Stacks: implemented with HildonWindowStack Demo HildonButton:
    [Show full text]
  • The Complete Solutions Guide for Every Linux/Windows System Administrator!
    Integrating Linux and Windows Integrating Linux and Windows By Mike McCune Publisher : Prentice Hall PTR Pub Date : December 19, 2000 ISBN : 0-13-030670-3 • Pages : 416 The complete solutions guide for every Linux/Windows system administrator! This complete Linux/Windows integration guide offers detailed coverage of dual- boot issues, data compatibility, and networking. It also handles topics such as implementing Samba file/print services for Windows workstations and providing cross-platform database access. Running Linux and Windows in the same environment? Here's the comprehensive, up-to-the-minute solutions guide you've been searching for! In Integrating Linux and Windows, top consultant Mike McCune brings together hundreds of solutions for the problems that Linux/Windows system administrators encounter most often. McCune focuses on the critical interoperability issues real businesses face: networking, program/data compatibility, dual-boot systems, and more. You'll discover exactly how to: Use Samba and Linux to deliver high-performance, low-cost file and print services to Windows workstations Compare and implement the best Linux/Windows connectivity techniques: NFS, FTP, remote commands, secure shell, telnet, and more Provide reliable data exchange between Microsoft Office and StarOffice for Linux Provide high-performance cross-platform database access via ODBC Make the most of platform-independent, browser-based applications Manage Linux and Windows on the same workstation: boot managers, partitioning, compressed drives, file systems, and more. For anyone running both Linux and Windows, McCune delivers honest and objective explanations of all your integration options, plus realistic, proven solutions you won't find anywhere else. Integrating Linux and Windows will help you keep your users happy, your costs under control, and your sanity intact! 1 Integrating Linux and Windows 2 Integrating Linux and Windows Library of Congress Cataloging-in-Publication Data McCune, Mike.
    [Show full text]
  • We've Got Bugs, P
    Billix | Rails | Gumstix | Zenoss | Wiimote | BUG | Quantum GIS LINUX JOURNAL ™ REVIEWED: Neuros OSD and COOL PROJECTS Cradlepoint PHS300 Since 1994: The Original Magazine of the Linux Community AUGUST 2008 | ISSUE 172 WE’VE GOT Billix | Rails Gumstix Zenoss Wiimote BUG Quantum GIS MythTV BUGs AND OTHER COOL PROJECTS TOO E-Ink + Gumstix Perfect Billix Match? Kiss Install CDs Goodbye AUGUST How To: 16 Terabytes in One Case www.linuxjournal.com 2008 $5.99US $5.99CAN 08 ISSUE Learn to Fake a Wiimote Linux 172 + UFO Landing Video Interface HOW-TO 0 09281 03102 4 AUGUST 2008 CONTENTS Issue 172 FEATURES 48 THE BUG: A LINUX-BASED HARDWARE MASHUP With the BUG, you get a GPS, camera, motion detector and accelerometer all in one hand-sized unit, and it’s completely programmable. Mike Diehl 52 BILLIX: A SYSADMIN’S SWISS ARMY KNIFE Build a toolbox in your pocket by installing Billix on that spare USB key. Bill Childers 56 FUN WITH E-INK, X AND GUMSTIX Find out how to make standard X11 apps run on an E-Ink display using a Gumstix embedded device. Jaya Kumar 62 ONE BOX. SIXTEEN TRILLION BYTES. Build your own 16 Terabyte file server with hardware RAID. Eric Pearce ON THE COVER • Neuros OSD, p. 44 • Cradlepoint PHS300, p. 42 • We've got BUGs, p. 48 • E-Ink + Gumstix—Perfect Match?, p. 56 • How To: 16 Terabytes in One Case, p. 62 • Billix—Kiss Install CDs Goodbye, p. 52 • Learn to Fake a UFO Landing Video, p. 80 • Wiimote Linux Interface How-To, p. 32 2 | august 2008 www.linuxjournal.com lj026:lj018.qxd 5/14/2008 4:00 PM Page 1 The Straight Talk People
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Gconf: Manageable User Preferences
    GConf: Manageable User Preferences Havoc Pennington Red Hat, Inc. [email protected], http://pobox.com/˜hp Abstract liMirror and ACAP. Finally, it presents some initial ideas for a Phase Two version of GConf. GConf is a system for storing user prefer- Phase Two is very much a work-in-progress. ences, being deployed as part of the GNOME 2.0 desktop. This paper discusses the ben- 2 Motivation efits of the GConf system, the strengths and weaknesses of the current implementation, and plans for future enhancements. Several years ago it was becoming obvious that GNOME’s initial approach to storing prefer- ences (a simple API for writing key-value pairs 1 Introduction to files) had a lot of limitations: GConf started out very simply in late 1999, as • It did not work for preferences that af- my first project at Red Hat. It was a straightfor- fected or were manipulated by multiple ward response to concrete problems encoun- applications, because there was no way tered while creating the GNOME desktop, and for applications to know a setting had designed to be implementable in a few months changed. GNOME 1.x contains numerous by a programmer with limited experience (i.e., hacks to work around this, and apps have by me). Much of the current implementation to be restarted before certain preferences (let’s call it Phase One) was created at that take effect. time. • Administration features were missing, GConf saw some limited use as part of the such as applying different defaults to dif- GNOME 1.4 platform—specifically in Nau- ferent groups of users, or storing defaults tilus and Galeon—but it wasn’t widely adopted for many machines on one network server.
    [Show full text]