Ubuntu phones to come with a terminal—prepare your command line skills

Yes, this is definitely a Linux phone.

The Ubuntu phone operating system will come with a terminal application. That's right: experienced users will have access to the full power of the Linux system running underneath the phone's shiny graphical user interface.

In addition, the terminal application will emulate the Linux terminal in an application window and perhaps have a special keyboard layout optimized for Linux commands. One of the key development requirements is that the terminal app integrate with BusyBox, a set of Unix tools. Developers are welcome to propose designs for the application. To get things started, Canonical has posted a few mockups contributed by community members, including this one:

Linux-based Android doesn't include a terminal by default, but Android phone users can get access to the Linux command line by installing third-party terminal apps. Why use a terminal app on a phone? A GitHub Android terminal project notes that it lets users "access the entire /sdcard file system, and you can install and run Linux command-line applications in the parts of the /data file system that are accessible to the Android Terminal Emulator process. You can also run command-line programs that access the Internet."

It's perhaps not surprising to see Ubuntu plan for a terminal app to be included by default. Canonical has said Ubuntu for phones and Ubuntu for desktops will have the same code base, while offering different user interfaces and exposing different functionality depending on whether someone is using a phone or PC. Ubuntu phones will even become full PCs when docked with a monitor, mouse, and keyboard, so Canonical could theoretically put just about any application on an Ubuntu phone.

With the disclaimer that I know little about mobile phone hacking, I can't think of anything more frightening than somebody having root access to my phone.

That's the way they are set up currently though, with your provider having root access to the phone, hence Apple being able to brick iPhones, or Google with Android. Well I guess you could always root your phone with Android, but that may still make it unstable or difficult to patch with updates.

I would think with this, as long as you know what you're doing, you can get full control over your own phone with this, something that you don't have with the other providers/phones out there. I quite like the idea.

Their mockups show a lack of understanding about how phones are used and the limited space on the screen. What they should have done is have the location+dollar-sign be just a dollar sign that's clickable. When you tap on the dollar sign, it'll expand to show the directory you're currently in. This saves precious space on the limited lines.

Also, everything should be clickable (and color coded to indicate what type of thing they are) to facilitate less typing (which is much harder than typing on a regular keyboard).

Would something like this allow you to run commands on your computer remotely?

It would be neat if your phone was tied to your desktop in such a manner - though you'd need an always on internet connection. Still, it would be cool to be out and about, and your boss goes, "JOHNSON! WHERE IS MY TPS COVER SHEET?!" in his loud and grating boss voice, and you snap up your phone, load it from your Ubuntu laptop at home, and show it to him. "Right here Boss, now give me a raise!" They said that they were looking at the creation of a fully unified environment, so that would be neat.

As someone who has tried Ubuntu three times on three machines (and gotten burned each time by having to unexpectedly dive into the command line to fix seemingly simple issues), this does not instill confidence. Ubuntu for PCs has yet to reach the point where I never have to use the command line. By including the command line in their phone OS, I rather fear Ubuntu phones will have the same issue.

While Linux power-users will of course be comfortable having to occasionally hit the command line, I think I can say with confidence that 95%+ of potential users are confused and freaked out by it. I'm a pretty advanced user on my platform of choice (OS X). I use services, terminal utilities, and Sublime Text 2, which I think puts me in the top quintile. And I'm still often baffled and intimidated by command line solutions to simple problems. (Example: Installing Sublime Text 2 on my Ubuntu laptop somehow resulted in Ubuntu dropping configuration files into a directory my user account didn't have permission to modify. I couldn't change any of my settings, and had to do some serious fiddling to put things right. I'm sure this was my fault, but I don't care: It shouldn't be this easy to get into trouble.)

I wish Canonical would lock themselves and their early test users out from this "simple" workaround, so that they'd be <em>forced</em> to develop a proper UI to ensure no end-user ever ends up staring at that scary black screen.

So did the Nokia Internet Tablets, and the N900/N9. Even though the shell was a subset of BusyBox, you could activate developer-mode and install the full set.

This is one of the things I miss on the N900. Just enable extras repo if it wasn't already enabled, install rootsh, Terminal -> type "root" (or "sudo gainroot") -> done. I know most users will never need it, but it's great that the system didn't actively try to prohibit it from users that wanted the functionality. And yes, you can completely wreck your device as root. With great power comes great responsibility.

It's really a shame what happened to Nokia/Maemo/Meego. I'm currently on Android, but in some ways I really liked Maemo more, warts and all. I know I could have got a N9, but didn't want another "last unicorn"; here's hoping Jolla will come up with something decent.

With the disclaimer that I know little about mobile phone hacking, I can't think of anything more frightening than somebody having root access to my phone.

Someone having root access to my desktop PC would be much more frightening than someone having root access to my phone or laptop. I try to minimize the amount of sensitive data that I put on any devices that regularly leave my house. There's always a risk of something being remotely compromised, but if the physical hardware falls into someone else's hands, it's game over.

All they have to do now is stick an x86 chip in it and they have my money.

Eh, just get a full version of gcc or clang working on the thing and I'll be happy. Cross compiling is a pain and doesn't work a lot of the time. Smartphones are fast enough and have enough storage that running a compiler on them should be no sweat. Also, it's kind of ridiculous that we're still using the ultra-stripped down busybox apps on machines with 1.5Ghz dual core processors and 32GB of memory. Give me a full version of the console apps, they're really not that much bigger.

As someone who has tried Ubuntu three times on three machines (and gotten burned each time by having to unexpectedly dive into the command line to fix seemingly simple issues), this does not instill confidence. Ubuntu for PCs has yet to reach the point where I never have to use the command line. By including the command line in their phone OS, I rather fear Ubuntu phones will have the same issue.

Windows, MAC, and Linux all include command line. Considering the goal of the Ubuntu phone is to be very similar working off the same code base as the desktop OS, command line is part of the experience with linux.

Messing up something in Ubuntu and having to go through the command line to fix it isn't any different then say a windows pc having something funky happen and you have to do a manual registry edit to fix it.

Would something like this allow you to run commands on your computer remotely?

Well yes. I would be shocked if it didn't come with an SSH client. You can do that now on pretty much every *nix based phone.

AncientToaster wrote:

As someone who has tried Ubuntu three times on three machines (and gotten burned each time by having to unexpectedly dive into the command line to fix seemingly simple issues), this does not instill confidence.

Indeed, the only way to "instill confidence" is to deny any and all access to the command line. Its very presence means that it is bad, right?

Quote:

I wish Canonical would lock themselves and their early test users out from this "simple" workaround, so that they'd be <em>forced</em> to develop a proper UI to ensure no end-user ever ends up staring at that scary black screen.

And render themselves unable to debug things? Surely you jest. All they need to do is make sure nothing happens that requires the user go to the console. With a fixed hardware configuration it's nowhere near as difficult as it is on the PC.

Cartigan wrote:

Workaround wrote:

The real question is: Will it let you do all standard functions without a terminal? Because otherwise it's just going to be a tiny niche market for geeks.

It's really a shame what happened to Nokia/Maemo/Meego. I'm currently on Android, but in some ways I really liked Maemo more, warts and all. I know I could have got a N9, but didn't want another "last unicorn"; here's hoping Jolla will come up with something decent.

++ (because a simple upvote is insufficient)

I'm still using my N900, even though it's over 3 years old now. I have an Android tablet (Transformer Infinity), and I don't dislike Android, but I've been holding off on getting a new phone until I see some Ubuntu or Jolla options (or Ubuntu for Android options).

My primary complaint about Android is the way it handles apps that are not currently active. Maemo was very much like a desktop OS, and would keep an app running until you closed it. It made a clear distinction between minimizing an app and closing it. Android just closes things in the background to free up memory, and not all apps are perfect at remembering their exact state when they restart.

I've seen plenty of arguments about limited memory, and battery life, yet my N900 (with only 256MB RAM + some swap space on Flash) handled this fine and the 3 year old battery still lasts all day with moderate use (and can still handle 10+ hours of music playback with headphones or externally powered speakers, a bit less if I use the built-in speakers)

I had a phone where the simplest way to get root was to execute the command on-phone, through a terminal window. The ADB methods just didn't work well. A term window is always one of the first apps I put on any droid.

As someone who has tried Ubuntu three times on three machines (and gotten burned each time by having to unexpectedly dive into the command line to fix seemingly simple issues), this does not instill confidence. Ubuntu for PCs has yet to reach the point where I never have to use the command line. By including the command line in their phone OS, I rather fear Ubuntu phones will have the same issue.

Windows, MAC, and Linux all include command line. Considering the goal of the Ubuntu phone is to be very similar working off the same code base as the desktop OS, command line is part of the experience with linux.

Messing up something in Ubuntu and having to go through the command line to fix it isn't any different then say a windows pc having something funky happen and you have to do a manual registry edit to fix it.

Saying "the command line is part of the experience" doesn't really excuse it. If that shows up on the phone in any major way, Ubuntu is dead as a phone OS outside the hardcore Linux niche. There's a reason you can't open an OS X terminal on iOS, or a C:\ prompt on Windows Phone. They suck for 99% of users on a desktop, and most people don't want to deal with them on their phones.*

*Where "most people" is defined as the huge, 99+% majority of potential phone buyers who are looking for a phone, not the tiny subset of that market represented by Ars readers looking to compile binaries in their pockets.

Saying "the command line is part of the experience" doesn't really excuse it. If that shows up on the phone in any major way, Ubuntu is dead as a phone OS outside the hardcore Linux niche. There's a reason you can't open an OS X terminal on iOS, or a C:\ prompt on Windows Phone. They suck for 99% of users on a desktop, and no one wants to deal with them on their phones.

I'm still using my N900, even though it's over 3 years old now. I have an Android tablet (Transformer Infinity), and I don't dislike Android, but I've been holding off on getting a new phone until I see some Ubuntu or Jolla options (or Ubuntu for Android options).

Cool, another Inifinity user There doesn't seem to be that many of us.

Kasoroth wrote:

My primary complaint about Android is the way it handles apps that are not currently active. Maemo was very much like a desktop OS, and would keep an app running until you closed it. It made a clear distinction between minimizing an app and closing it. Android just closes things in the background to free up memory, and not all apps are perfect at remembering their exact state when they restart.

Definitely seconded. Android seems to be way too aggressive in swapping/freezing/whatever-the-correct-term-is-in-Android-lingo apps, despite having ample free memory. While arguably N900 has too little physical RAM, and can get sluggish if you hit swap too much (faster flash storage would help there I guess), it handles multitasking way better than Android.

Saying "the command line is part of the experience" doesn't really excuse it. If that shows up on the phone in any major way, Ubuntu is dead as a phone OS outside the hardcore Linux niche. There's a reason you can't open an OS X terminal on iOS, or a C:\ prompt on Windows Phone. They suck for 99% of users on a desktop, and no one wants to deal with them on their phones.

It's an option, not a requirement.

Well, that was exactly the original point. In Ubuntu on the desktop, it's a requirement. Seeing Canonical playing up the terminal on the phone doesn't give anyone confidence that it won't be here too.

I use a terminal app on my Android phone occasionally (highly recommend Hackers Keyboard if you do this!), but more often I use an ssh server app on my phone (SSH Droid) and connect to the phone via command line from an ssh client on my desktop. This makes for a quick way to copy large numbers of files (usually pictures) to or from my phone's SD card over the network. Note: that's all possible with my currently unrooted phone.

There are also Android implementations of Busybox (available in the Play store, requires root) which are usually bundled with third party system images like Cyanogen. I had this setup on my previous phone, which was rooted. Typing Linux commands on a touchscreen is enough of a PITA that I did not end up making use of this capability all that often.

Finally, Busybox is simply a collection of standard Unix system utilities bundled into one small executable. The normal Unix commands that Busybox replaces are usually replaced with symlinks to Busybox.

As someone who has tried Ubuntu three times on three machines (and gotten burned each time by having to unexpectedly dive into the command line to fix seemingly simple issues), this does not instill confidence. Ubuntu for PCs has yet to reach the point where I never have to use the command line. By including the command line in their phone OS, I rather fear Ubuntu phones will have the same issue.

While Linux power-users will of course be comfortable having to occasionally hit the command line, I think I can say with confidence that 95%+ of potential users are confused and freaked out by it. I'm a pretty advanced user on my platform of choice (OS X). I use services, terminal utilities, and Sublime Text 2, which I think puts me in the top quintile. And I'm still often baffled and intimidated by command line solutions to simple problems. (Example: Installing Sublime Text 2 on my Ubuntu laptop somehow resulted in Ubuntu dropping configuration files into a directory my user account didn't have permission to modify. I couldn't change any of my settings, and had to do some serious fiddling to put things right. I'm sure this was my fault, but I don't care: It shouldn't be this easy to get into trouble.)

I wish Canonical would lock themselves and their early test users out from this "simple" workaround, so that they'd be <em>forced</em> to develop a proper UI to ensure no end-user ever ends up staring at that scary black screen.

Before this gets another negative comment, I have to chime in. I've mentioned in other posts that I got my father using Ubuntu. The proviso, however, is that I set it up.

It may not be hard for someone who knows what they are doing to use terminal or control panel, but if you don't know what you are doing, it's a daunting task. Much of my workday is spent showing people into parts of their operating system that they would--without my guidance-never willingly go.

This is something both users and development teams for Linux must come to understand and demand be addressed if the platform is to maintain success. Android knows both the concerns that users and online content publishers have with an OS the user has total control over. EX: Netflix on a rooted Android. Give that a whirl sometime.

Like it or hate it, its a fact. General users don't want to use terminal. Ever. And content providers have some genuine concerns over the capilities a truly open OS has in the hands of someone who can use compilers.

Saying "the command line is part of the experience" doesn't really excuse it. If that shows up on the phone in any major way, Ubuntu is dead as a phone OS outside the hardcore Linux niche. There's a reason you can't open an OS X terminal on iOS, or a C:\ prompt on Windows Phone. They suck for 99% of users on a desktop, and most people don't want to deal with them on their phones.

Like most non-Linux users, you're missing why we want the command line. It's not that I need it, it's just that it's the easiest way to do things. I can walk you through almost anything without the terminal, but it's a giant pain the ass. What would you rather have, "Copy this into the terminal and hit enter" or "Click Start, right click on X, switch to tab Y, scroll down to Z...".

I use OS X on my work computer because it comes with a terminal app. Are you going to complain that OS X isn't user friendly?

As someone who has tried Ubuntu three times on three machines (and gotten burned each time by having to unexpectedly dive into the command line to fix seemingly simple issues), this does not instill confidence. Ubuntu for PCs has yet to reach the point where I never have to use the command line. By including the command line in their phone OS, I rather fear Ubuntu phones will have the same issue.

The majority of cases that I've see where someone was "forced" to use the command line to troubleshoot something, there was already an existing GUI-oriented way of accomplishing the same thing. It's just that for a lot of problems, it's easier and more precise to explain the command line method on a web site or help forum.

Not all users know the correct "official" names for all the GUI elements (Launcher, Dash, etc). Users may have customized their GUI environments so icons aren't in the expected place. For installing utilities from the repositories, for example, it's just easier and clearer to say "type this (or cut and paste this) apt-get command into the terminal", than it is to say "click the Ubuntu logo button at the top of the launcher", then type this in the search box, and look for an icon labelled such-and-such, and click that, etc."

When I'm actually doing any kind of troubleshooting on Ubuntu myself, I often use GUI tools (I'm lazy, and I also like the visual feedback that some GUI tools provide), but trying to explain it on a forum, command line is way easier and way less error-prone.