PetPenguin is my custom configuration of Ubuntu 16.04 designed to run in VirtualBox on macOS hosts. It tries to mimic a “normal” GUI app running on your Mac. The primary purpose of this project is to provide an accessible virtual machine template for experimentation and running software native to Linux. The configuration is highly opinionated and is unlikely to be useful for anyone but myself. This is also the place where I store my dot-files.
PetPenguin is alpha software.
Requires Vagrant and VirtualBox.
- Clone this repo:
git clone git@github.com:temochka/PetPenguin.git
. - Open the clonned directory:
cd PetPenguin
. - Run
vagrant up
. - Run
vagrant reload
if you notice any issues after the installation.
Requires VirtualBox.
- Create a new VirtualBox VM with the following settings:
- 2048+ MB RAM, 2+ CPUs, 128 MB Video Memory (3D acceleration enabled);
- enable KVM paravirtualization (VT-x/AMD-V, Nested Paging, PAE/NX);
- for sound, select Core audio driver, Intel HD Audio;
- enable bi-directional clipboard.
- Install Ubuntu 16.04 Minimal.
- Install VirtualBox Guest Additions.
- Clone this repo:
git clone git@github.com:temochka/PetPenguin.git
. - Open the clonned directory:
cd PetPenguin
. - Run
./install_linux.sh
.
- Clone this repo:
git clone git@github.com:temochka/PetPenguin.git
. - Open the clonned directory:
cd PetPenguin
. - Run
./install_mac.sh
.
Standard macOS shortcuts should work in the terminal and most GTK apps. Many host shortcuts should behave normally (e.g., spotlight, taking screenshots, switching between input sources, etc.).
Shortcut | Action |
---|---|
⌘+1, ..., ⌘+0 | Switch between IDE tabs. |
⌘+Shift+1 ..., ⌘+Shift+0 | Move current panel to the specified tab. |
⌘+Shift+Enter | Run a terminal (st+tmux). |
⌘+J | Select the next panel. |
⌘+K | Select the previous panel. |
⌘+Enter | Expand the selected panel. |
⌘+Shift+W | Close the selected panel. |
⌥+Shift+Space | Show the application launcher (dmenu). |
⌘++ | Widen the expanded panel. |
⌘+- | Shrink the expanded panel. |
⌘+Shift++ | Disable the expanded panel (makes all panels equal). |
⌘+Shift+- | Enable the expanded panel (default). |
⌥+Shift+Q | Restart the UI (X11). |
Good old pbcopy
that works between the host and the guest VM. Put any terminal output to to the clipboard by running echo "anything" | pbcopy
.
Most Linux apps will use the $BROWSER
environment variable to determine your current browser. Unless you want to run the browser inside the VM (can be installed from APT), impostor will attempt to SSH to the host (assumed to be at 192.168.42.1 or specified via the $MACOS_SSH_HOSTNAME
environment variable) and open the URL in Safari. Any local URLs will be opened in Surf.