tart-guest-agent/README.md

2.1 KiB

Guest agent for Tart VMs

A guest agent for Tart VMS is a lightweight background service that runs inside the virtual machine and enables enhanced communication between the host and guest and other useful features, such as automatic disk resizing.

Currently implemented features:

  • Automatic disk resizing for macOS VMs with recovery partition removed (--resize-disk)
  • Clipboard sharing for macOS VMs using our in-house SPICE vdagent implementation (--run-vdagent)
  • tart exec support (--run-rpc)
    • it's recommended to invoke it as a launchd global agent because fewer privileges will be available to commands started via tart exec
    • however, you can also invoke it as a launchd global daemon if running commands started via tart exec as root is desired
    • attached /Agent/Exec commands report Started with the guest process ID before standard output, standard error, or exit
    • clients can send a Signal with a unique, nonzero request_id and a guest-native signal number; all = false signals only that command, while all = true signals only its dedicated process group
    • a matching SignalAck is sent only after successful delivery; existing clients can ignore the additive events, and detached commands retain their original exit-only behavior
  • tart ip --resolver=agent support (--run-rpc)
    • allows resolving VM's IP address without relying on DHCP leases and/or an ARP table

To run all features appropriate for a given context, use component groups: