crostini

Introduction

On (as of September 7th, 2018) many Chrome OS devices can run Linux. This is often referred to as "Crostini", so I call it that here.

Setup

I wrote this script to do stuff I like. It used to be because I had to remove and re-add crostini multiple times. Now it is to quickly setup new devices or if I try the BETA or DEV channels. Oh, if you have to remove/redo the Linux Beta, the entire contents of the container are deleted. Be sure to backup stuff in your home directory first!


HiDPI

When first released this was a problem. It was both because of crostini as well as many linux apps did not play well with High DPI (HDPI) systems. Now, for the most part, scaling on large resolutions is fine

Custom Launchers

Chrome OS adds launchers for any linux app that makes a .desktop file. For any apps that doesn't:

thedude@penguin:/usr/share/applications$ sudo vim intellij.desktop

thedude@penguin:/usr/share/applications$ sudo chmod 644 intellij.desktop

thedude@penguin:/usr/share/applications$ sudo chown root:root intellij.desktop

thedude@penguin:/usr/share/applications$ cat intellij.desktop

[Desktop Entry]

Version=181.4688.68

Type=Application

Terminal=false

Icon[en_US]=/home/drew/tools/idea-IU-181.4668.68/bin/idea.png

Name[en_US]=IntelliJ

Exec=/home/drew/tools/idea-IU-181.4668.68/bin/idea.sh

Name=IntelliJ

Icon=/home/drew/tools/idea-IU-181.4668.68/bin/idea.png

thedude@penguin:/usr/share/applications$

Put the myapp.desktop file in /usr/share/applications/.

QT / KDE Applications

I like some QT5 / KDE applications; such as kate and dolphin. Both don't like it when full KDE desktop is not installed.

To get icons in the apps to work:

  1. Install a KDE theme (sudo apt-get install oxygen breeze)

  2. Install enough to launch System Settings (sudo apt-get install systemsettings5 kde-config-gtk-style)

  3. From the linux terminal, run systemsettings5.

  4. Select the new theme. You can also go back and select CrosAdapta again. This will fix the settings so KDE can find it.

I've had System Settings freeze on me, so that is why I launch it from the terminal. I can then kill it easily (CTRL-C)

For launcher icons, you could manually edit the .desktop file with the information above. Icon files can be found at /usr/share/icons/.

(old) crouton

This used to be the way to get Linux apps to run on Chrome OS. I'm keeping around these notes for "prosperity". ;-)

These are just my quick cut & paste notes for using crouton to run Linux "inside" ChromeOS. Please refer to https://github.com/dnschneid/crouton and their wiki for full information. Especially the security concerns in setting up and using crouton.

  • install crouton quickly: sudo sh ~/Downloads/crouton -t lxde-desktop,xiwi -r xenial

  • start crouton full screen (CTRL-ALT-SHIFT-F1 style): sudo startlxde -X xorg

  • enter crouton without starting LXDE: sudo enter-chroot

  • download & install atom: wget for download, dpkg for install (need to install git first)

  • run atom from inside crouton: xiwi -T atom -f .

Disclosures:

  1. First and foremost, read the security stuff before doing anything here or on crouton's pages. If you don't understand, learn to before you use crouton.

  2. Be careful with starting LXDE. Without the xorg argument, it'll start full screen. But you won't be able to switch back to ChromeOS and will need to exit LXDE.

  3. Yeah, you're inside the chroot, not crouton. Another way of looking at it is crouton is an app, it created the chroot. People say they're "inside" MS Word. Even if this is a slightly different situation, the symbols are still true. Don't forget the "many of the truths we cling to depend greatly on our own point of view". :-)