Settings
SwiftVM has two kinds of settings: the app's own, and each virtual machine's.
App settings#
Choose Settings… in the panel, or press Cmd+,.
| Section | What's in it |
|---|---|
| SSH | Add machines to ~/.ssh/config, to reach every machine with plain ssh <machine>. See SSH |
| Network | The address range of the shared network, and this Mac's address on it. See Networking |
| Command Line | Install or uninstall the swiftvm command |
| Updates | Check for updates, and whether to install them automatically |
| Storage | Where virtual machines and downloaded images are kept |
Updates#
SwiftVM checks for updates by itself and tells you in the panel when one is ready.
- Check for Updates… is in Settings → Updates and in the panel's … menu.
- Automatically download and install updates installs an update the next time SwiftVM quits.
- Installing an update restarts SwiftVM. If machines are running, SwiftVM asks first, as it does when you quit.
Builds you make yourself don't update.
Virtual machine settings#
Choose Settings… in a machine's menu, or the gear in its window's toolbar.
| Section | What's in it |
|---|---|
| General | Name, system, and where the machine is on disk |
| Processor and Memory | Processors and memory |
| Storage | The disk and its size, and attached disc and disk images. See Disks and images |
| Shared Folders | Folders of your Mac the guest can use. See Shared folders and clipboard |
| Clipboard | Share Clipboard |
| Automation | Allow Automation: whether swiftvm may run commands in the guest, see its screen, and use its mouse and keyboard. See Automation |
| Network and SSH | Cable, addresses, and the SSH user. See Networking |
| Port Forwarding | Ports of the guest reachable as localhost on your Mac |
| USB Devices | Devices the machine takes whenever they are plugged in. See USB devices |
| Devices | Sound output, microphone, and whether the display resizes with the window |
| Keyboard | Send System Shortcuts to the Guest |
| Startup | Secure Boot and Rosetta for x86-64 Programs, for Linux guests |
Changes to processors and memory apply after the machine is shut down and started again. Shared folders, port forwards, disk images, and USB devices change while it runs.
Files#
| Where | What it holds |
|---|---|
~/Library/Application Support/SwiftVM/Machines/ |
One <name>.swiftvm package per machine |
~/Library/Application Support/SwiftVM/ssh_config |
The SSH configuration SwiftVM generates |
~/Library/Application Support/SwiftVM/known_hosts |
The guests' SSH host keys |
~/Library/Caches/SwiftVM/Downloads/ |
Downloaded Linux images and macOS restore images |
~/.ssh/swiftvm_ed25519 |
The SSH key SwiftVM makes if you have none |
/usr/local/bin/swiftvm |
The link Install Command Line Tool… makes |
A machine's package holds everything about it:
| File | What it holds |
|---|---|
config.json |
The machine's settings |
disk.img or disk.asif |
Its disk |
snapshots/ |
Its snapshots |
state.vzvmsave |
Saved memory, while the machine is suspended |
logs/console.log |
What a Linux guest printed to its serial console since it last started |
To back up or move a machine, shut it down and copy its package. Open a package from the Finder, or drop it on the New Virtual Machine window, to add it to SwiftVM.