ChromeOS – Apps, Config, Utilities

Updated 20-Sep-2023

This is meant to help with the conversion from OSX to ChromeOS. For background on ChromeOS and Chromium, see chromium.org. See also a hardware discussion on Chromebooks, Chromebits, and Chromeboxes.

What Chromebooks Can't (Yet) Do

Note: the Crostini project means that a host of Linux apps and functionality can/will/may be on tap, which can affect a good number of the issues below. Time will tell.

Device-Specific Services

  • Printing has improved a lot, including direct-connected USB printers, but only a subset of printer drivers are available, when compared with Win/OSX and even Linux. However, using any computer with a Chrome browser can support Google Cloud Print, and act as a print server (even directly connected, non-ChromeOS driver-supported usb printers).
  • Scanning (unless part of a ChromeOS driver-supported all-in-one) are pretty much not supported.
  • Music: Connecting to and managing an Ipod device, say with Rhythmbox doesn't work on a Chromebook, unless an entire Gnome desktop is installed in a different Linux.
    • Other stand-alone, cross-platform ipod management tools include Floola and Yamipod. Floola works with a 4th gen ipod shuffle (select 3rd gen version on open).
    • Use of Google Play Music is an option, but quite unwieldy through browser upload and limited management tools on the Google Play Music site.
  • Calibre-like library, kindle management, and ebook editing tool. Granted Calibre is challenged on the interface, it is continually updated and has extensive functionality for library management.

Font Management

Media Editing

  • Possibly still limited regarding bitmap image editing (GIMP on Linux).
  • Video editing, while there are some apps and the like, the limited memory available on most Chromebooks (4gb) is probably the biggest sticking point.
  • Complex SVG and Bitmap images, as well as video is still largely best managed and produced on the desktop (namely, Linux) with Inkscape. See Linux Desktop - Apps, Config for more details on how that can provide application support above and beyond Chromebook. We are in a multi-OS world with mission-specific devices, operating systems, and the like. Regardless, we are seeing applications that are best of breed emerge in each of the platforms.

Note - the recent work in Crostini (see below) could potentialy remove many of the problems noted above using Linux containers, at the least the media editing needs. See below for second note.

Second Note - Most of the issues above can be worked around by the use of a dedicated system that would provide the functionality, specifically something like an Asus Vivostick PC, that can act as print server, scanner management, kindle/ebook management, ipod/music management.

Windows and Linux App Support

As of May 2018, there is some amount of Windows and Linux apps, along with Android App Store support. - Crossover ChromeOS - Run Windows inside Android - Basically Wine for Android - Google officially announces linux app support for ChromeOS - Containers of some kind

Arm and Intel - Crouton & Crostini

Though this may/likely will change, there is currently was a divide between the Arm chromebooks (e.g., Asus C101PA and others with the Rockchip) and the Intel chromebooks (e.g., Samsung Chromebook Pro, Google Pixelbook). The container technology Crostini is currently in beta for high-end Intel Chromebooks only (so far). The advantage of the Rockchip is cost and better performance with Android Apps. Another disadvantage is closed source.

In fact the Asus C101PA uses the same board as the Samsung Chromebook Plus, which now supports Crostini.

Crostini

Crouton (Previous Approach)

When wanting to install Atom or VisualStudioCode, there are different approaches:

Keyboard Shortcuts

Note on keyboards without F-keys, on Chromebooks use Search + #

  • See all keyboard shortcuts: ctrl + alt + /
  • Refresh browser page: ctrl + shft + R
  • Printscreen (area): ctrl + shft + F5
  • Crosh Shell: ctrl + alt + T
  • Open item on shelf: ctrl + # (item number in order)
  • Dock a window to left/right: alt + [ / alt + ]
  • Open Files application: alt + shft + M
  • Task Manager: shft + esc

Remote SSH / SFTP

This can be done from a local shell, but for drag-and-drop sftp the best approach is a paid Android app Termius, which is about 1,000 THB/year. This is the only yearly subscription App I use, but it is worth it since it performs a critical function, is fast and stable, and the alternatives are painful, at best.

Enabling full Shell

To enable a full shell with root access, set into Developer mode: esc + refresh + power. After it reboots, ctrl + D.

Everything does get removed, so if there is any data not in Google Drive (such as in ~/Downloads/) best to move it before attempting this.

Note that scripts on a filesystem mounted noexec will need to be called explicitly, such as /bin/sh script. See more about poking around ChromeOS.

Once full shell is enabled, simply do as follows:

Ctrl + Alt + T
shell
(if you need root, then...) sudo su

Note: highlight to copy, and right-click to paste

SSH on Crosh

SSH has been removed from Crosh, and instead is installed as an extension:

Here is the documentation on this version of SSH

However, I find that completely unnecessary. Instead, it is best to simply install the Chrome Brew package manager, and install everything else one would need -- including, in my case, autossh.

There is also an extension that runs crosh in its own window, outside of a Chrome browser instance.

Crosh Commands

While we are at it, some built-in commands in Crosh:

  • more
  • here
  • later

Package Manager Chrome Brew (crew)

chromebrew is a handy package manager for ChromeOS.

  • curl -Ls git.io/vddgY | bash

Commands in Chrome Brew

  • crew install
  • crew remove
  • crew search
  • crew update
  • crew upgrade

Utilities for ChromeOS

Note that wget has been removed from ChromeOS. Instead use curl to get started.

crew install nano
crew install htop
crew install autossh
crew install psmisc
crew install mlocate
crew install ncdu
crew install iptables
crew install imagemagick7
crew install libjpeg
crew install optipng
crew install wget

Managing Offline (Local) Data

There are a few steps to free up space on a Chromebook. Unfortunately, Google Drive will appear to do offline syncing of all data that was put into it by the chromebook itself. It will do more than that (up to 5gb) if offline use is enabled in Google Drive. The key is to not use any offline drive/gmail apps, and not enable offline use. Regardless there will always be something (until the next powerwash).

chrome://drive-internals/
  • Click Clear local data

Again, Google Drive will apparently (as of March, 2018) always keep in the Offline (local) folder, and/or sync up to 5gb of everything down to the chromebook. Some folks report needing to powerwash twice.

Sleep

Sometimes closing the lid on a Chromebook (which is also by definition impossible on a Chrombox, Chromebit, or Chromebase) doesn't invoke sleep mode. Better is to get the Crome Shell and invoke:

ctrl + alt + T
shell
powerd_dbus_suspend

Even better is the Suspend function with the keystroke: Shift + Search + L

ChromeOS File System

The ChromeOS File System is fairly robust and there are currently add-ons which extend it to Dropbox, etc. The File App is the native GUI to access the local file system and any mounted file systems. See also the ChromeOS directory structure. What I have not yet discovered (or given up home on) is command-line/shell access to Google Drive which would make executing certain scripts and doing file manipulations easier.

In addition, there is still (August 2018) ongoing limitations between the Linux and Android environments relative to the local, Google Drive, and sdcard/usb device access. This is usually an issue regarding application configuration and development rather than across-the-board (except with Linux), since some apps can access other drive spaces.

Python Pip Environment

As per pip installation instructions

cd ~/Downloads
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
  • Upgrade pip with pip install -U pip
  • Install virtualenv with pip install virtualenv
  • Then can install things like gmvault to backup gmail:
NEED MORE INFO HERE, problems with security and launching in protected mode

Video Editing

Video is a bit of a challenge on the Chromebook platform, but there are a few options, including online web apps, Android apps, and more robustly, an alternative installation of Linux dual or solo booting.

There are additional options for video editing with Android apps, which seem better, though some only support a mobile device portrait display. The other challenge is to get an app that has a reasonable chance of not disappearing, on the one hand, and not costing increasing amounts of money, on the other, with the additional constraint of not being too simplistic, or too complex (and therefore confusing, time-wasting, and bug-ridden).

  • Timbre seems an ok choice for now, more bare bones editing than a full NLE.

Image Editing

Image editing for my humble needs means being able to make an image look better (color, exposure, etc. adjustments), cropping, and some kind of overlays. This really is mostly photos, etc., whereas text and design-based images are managed using .SVG editors (below).

  • Not sure yet what that might be...

SVG Editor - Gravit Designer

Thankfully there is one area that is well-covered, and that is Gravit Designer (and an additional tool, Klex, along with the Gravit Cloud). Originally at gravit.io, they've rebranded under designer.io and have apps for every platform: Linux, Mac, Windows, ChromeOS, and the Browser.

To be honest here, just install the Linux platform and then Inkscape. It is less painful and has the advantage of leveraging one's Inkscape learning curve (as well not having to use a third party app that wants money and to save your files in their cloud).

ChromeOS Apps

  • SomaFM - Internet Radio
  • Checker Plus for Gmail; Checker Plus for Google Calendar

Android Apps that work in ChromeOS/Android Environment

  • Barcode Scanner
  • Duo (Google Video Calling)
  • Foscam
  • Google Maps
  • Keepass2Android (disable anti-screenshot setting, or ChromeOS will crash on connected monitors)
  • mpv
  • OpenVPN Connect
  • QuickEdit Pro
  • Syncthing
  • Telegram

Linux Apps that work in ChromeOS/Linux Environment

  • GIMP
  • Inkscape

Outstanding Issues to Explore

  • Resize/Relocate boot or data storage for Crostini (to sdcard)
  • Implement new fonts in Crostini but also more importantly in Crostini linux container to run Inkscape, etc.

OpenVPN Configuration

Additional Software/Firmware Resources

Disabling Touchscreen and/or Trackpad

There may be times when the Touchscreen and/or Touchpad needs to be disabled. To do so, open Chrome:

chrome://flags/#ash-debug-shortcuts

Enable Debugging Shortcuts.

Reboot.

Once loaded, the search + shift + t will toggle the touchscreen. search + shift + p will toggle the touchpad.