Skip to content

How to use terminal-code with Herdr for remote development while keeping the client local? #19

Description

@darongliu

Hi! I'm trying to figure out the recommended way to use terminal-code together with Herdr for remote development.

My desired setup is:

Local machine
├── Herdr client / TUI
└── terminal-code client / frontend

        │ SSH
        ▼

Remote machine
├── Herdr server / terminals
├── project files
└── terminal-code / code-server backend

In other words, I want all project-related servers/processes to run on the remote machine, while the interactive clients/rendering stay on my local machine.

Both tools seem to support this independently:

  • With terminal-code, I can run tode --ssh <host> locally, so the backend runs remotely while the frontend stays local.
  • With Herdr, I can use herdr --remote <host> and keep the Herdr client local while the actual terminals/processes live on the remote machine.

The part I'm unsure about is how to combine them.

Once I'm inside a terminal created by the remote Herdr session, that shell is already running on the remote machine. If I run:

tode

from that terminal, tode itself is launched remotely, which means the terminal-code client/frontend also ends up running on the remote side instead of locally.

I also noticed that this repository already includes a Herdr plugin, but from what I understand, open-split invokes tode --split right from the current Herdr pane, so I assume the same issue would apply when Herdr itself is attached to a remote machine.

Is there currently a supported/recommended way to achieve the topology above?

Ideally, I'd like to be able to trigger tode from a remote Herdr pane, but have it:

  1. start or connect to the terminal-code backend on that remote machine, and
  2. open the terminal-code frontend on my local machine.

For example, is there some mechanism for the remote tode command / Herdr plugin to communicate back to a local terminal-code client, similar to how tode --ssh works when initiated locally?

If this isn't currently supported, would this be something that could potentially be supported by the Herdr plugin?

Thanks!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions