Newbie to the desktop and chained terminals?

Hello there! First use of the Atuin Desktop and created my first Runbook. It is a quick sample of creating and compiling a C++ program. One thing that I noted, and maybe I have my workflow incorrect, but one terminal seems to not have any ‘history’ or connection to a previous terminal.

I was thinking that this Runbook was a bit like a Python Jupyter Notebook in that previous commands in a cell would generate some state for future cells. So in this approach I thought I could have…

  • a terminal that creates the C++ file
  • some paragraph text that explains it a bit
  • another terminal that compiles the C++ file into an executable
  • another paragraph for discussion
  • then another terminal that runs the compiled program

It seems that I have to ‘cd’ into the correct directory in each terminal rather than expect the subsequent terminals to be in the working directory set by the previous cell terminal. And that I have to run each terminal separately in order.

Again, maybe I am missing the workflow, but wondering if some state retention is possible, or if I am trying to use this incorrectly. Thanks! :slight_smile:

1 Like

p.s. if needed I think the Runbook that I created is saved in my AtuinHub account and I can share it maybe.

1 Like

Whoa! I just stepped back and decided to read through the automatically generated first Runbook and read the section about Directory Blocks. Figures, my first post and first Runbook and it seems I should have ‘read the manual’ a bit more. LOL.

1 Like

Haha yep, I think the directory block is what you want! We also have https://man.atuin.sh

Glad you found it in the end :smiley:

We’re trying to avoid the jupyter notebook pitfall of sharing state all over the place. With Runbooks, state is kept + modified at the runbook level, with each terminal being isolated. At some point it might be possible for terminals to also alter state, but the actual shell environment will never be shared