Making Linux and Android Get Along (It's Not as Hard as It Sounds)
Many free software fans, if they were like me, breathed a collective sigh of relief when the Android operating system hit the market. Before receiving my first smartphone (a Samsung Blackjack running Windows Mobile 5.5, I believe, that I had to update to through a torturous combination of installing Windows XP on a partition, installing the phone drivers, then running an update program), I was a steadfast "PDA-and-cell" guy who proudly carried both devices on my belt like a pair of six-shooters. But that Blackjack showed me how nice it is to carry one device, and since receiving my first Android device (an original Droid I still use to this day), I can't imagine using a device with another mobile OS. Linux kernel, Java-based apps—these are all right up my alley.
But, like many great consumer Linux products (I'm talking to you, Sharp Zaurus), manufacturers assume in nearly every case that your "other" computer will run Windows. Now, it's easy enough to install Windows either on a separate partition to dual-boot or in a VM to run within Linux. But this is a bit like killing the proverbial fly with a bazooka. Web-based applications and "the cloud" alleviate some of these difficulties, yet it's still not an "out-of-the-box-after-a-quick-install-from-CD" process like it is for Windows users.
The good news is, with the installation or configuration of a few programs, it's pretty easy to get your Android device (all the steps in this article are equally applicable to phones and tablets unless stated otherwise) to play nice with your Linux boxen. In this article, I focus on files and a few approaches for making sure you always have an up-to-date copy of that spreadsheet or source file on your mobile device.
In the Cloud
The cloud computing movement has done a great deal to promote platform agnosticism, from consistent (Web-based) UIs to cross-platform APIs that allow applications to synchronize data. And with most users being constantly connected via 3/4G, Wi-Fi or wired networks to the Internet, cloud services have been one of the most hassle-free ways to make your data available across devices.
Of the free file-sharing services out there, Dropbox is arguably the most popular, perhaps because it's the simplest—no bells and whistles, no long, complicated feature list, just good old-fashioned cloud storage. And with support for both Android (via the application in Google Play at https://play.google.com/store/apps/details?id=com.dropbox.android&hl=en) and Linux, either for GNOME and other GTK-centric desktops (using the the Nautilus plugin from Dropbox shown in Figure 1 and available at https://www.dropbox.com/install?os=lnx), or KDE (via the excellent KFilebox—at the time of this writing, the project's home page lists 0.4.7 as the most recent version, http://kdropbox.deuteros.es, but the SourceForge page, http://sourceforge.net/projects/kdropbox, lists a version 0.4.8 that works very well—shown in Figure 2).
Figure 1. Nautilus Context Menu
Figure 2. KFileBox Menu and Config Window
Pointing each of the above at the same folder tree will help keep all your important folders close at hand. However, it's important to note the "official" Dropbox app above keeps an list of your files, but it doesn't actually sync up the files themselves—that is, if you upload a revised file to Dropbox from your Linux box, then later go off-line with your mobile device, the Android gadget will know that file changed, but you won't be able to view or edit it until you go back on-line. However, a free app called DropSync (https://play.google.com/store/apps/details?id=com.ttxapps.dropsync&hl=en) will do this for you (Figure 3). In addition, Dropbox is supported internally by a wide variety of individual Android apps, which will let you edit files directly from or save files directly to your Dropbox account. An example of this on my Transformer Prime is Epistle (https://play.google.com/store/apps/details?id=com.kooklab.epistle&hl=en), a very elegant Markdown editor, which automatically updates the list of files in its folder to a folder on Dropbox.
Figure 3. DropSync Config Screen
- High-Availability Storage with HA-LVM
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- Linux for Astronomers
- Days Between Dates: the Counting
- You're the Boss with UBOS
- The Usability of GNOME
- Multitenant Sites
- PostgreSQL, the NoSQL Database