Tony Garnock-Jones
33ab20a452
/ build (push) Successful in 1m51s
Details
|
||
---|---|---|
.forgejo/workflows | ||
protocols | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Makefile | ||
README.md | ||
build.rs | ||
rust-toolchain | ||
server-config.pr |
README.md
syndicate-pty-driver
A PTY (pseudoterminal) driver for Syndicate, plus protocol schema for PTY interaction via Syndicate.
Expects to be started from syndicate-server, perhaps via configuration like this:
<require-service <daemon pty>>
<daemon pty { protocol: application/syndicate, argv: "syndicate-pty-driver" }>
It publishes a service object which then speaks the PTY protocol. You can start a program running in a fresh PTY like this:
# As soon as the PTY driver publishes its service object, $cap, ...
? <service-object <daemon pty> ?cap> [
# ... assert interest in existence of a session with id 1 running `bash -i`.
$cap += <pty-session 1 [bash -i]>
]
Then, expect <pty-output ...>
messages and send <pty-input ...>
messages to interact with
the subprocess.
See the protocol definition for more about interacting with PTYs over Syndicate.