Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement simple terminal emulator as an alternative to GUI #1

Open
edigaryev opened this issue Sep 4, 2023 · 0 comments
Open

Implement simple terminal emulator as an alternative to GUI #1

edigaryev opened this issue Sep 4, 2023 · 0 comments

Comments

@edigaryev
Copy link
Collaborator

In Tart, the primary way to interact with the VM is using the GUI abstractions provided by the Virtualization.Framework, namely, VZVirtualMachineView.

However, there's no such thing in Cloud Hypervisor. The best we can expect at this moment is an I/O access to the VM's serial port and/or virtio-console.

Piping these I/O streams to the standard input/output results in very poor UX, because it becomes impossible to terminate the VM with Ctrl+C as this keystroke is intercepted and routed to the VM instead by the terminal.

What we can do to fix this is to implement something like Minicom, but only offer the following functionality:

  • ability to terminate the VM using some pre-determined escape-sequence

Optionally, nice to have:

  • allow switching between the serial console view and virtio-console view, similarly to how tmux achieves multiplexing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant