I’m just using the Cosmic Terminal that’s part of the Pop!_OS Cosmic Alpha, but I ran into similar issues with Gnome terminal and even with Termius.

Scenario: I’m currently working on leveraging a VPS to act as the gateway to my homelab so I have one ssh session to Unraid server and one to VPS. One in each tab. Obviously the name shows up as what the username@servername is called in each tab. But I keep getting tripped up and sometimes try to do something from the wrong machine. Once I even failed to realize that the ssh session to one of them cut out and I was back on my desktop and took me an embarrassingly long time to realize why stuff was failing.

So what are y’all using to keep that organized in your work flow? Separate terminal windows instead of tabs? Some shell customizations to make them look different than one another? Or just so ingrained in your brain that you never have this problem?

  • neidu3@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    12 hours ago

    bash setup/config/PS1 is your friend here. I frequently find myself with a myriad of terminals between a bunch of usernames and servers at work, and setting up a proper prompt is key to help you keep track.

    My bashrc makes my prompt look like this:

    username@hostname:/absolute/path
    $ inputgoeshere

    … with color coding, of course. Yes, I use a multiline prompt. I somehow never saw that before using ParrotSec despite being a bash user for 25 years. I modified the ParrotSec default to suit my needs better, and I like it:

    • Obvious which user I am.
    • Obvious which host I’m on.
    • Obvious which path I’m in.
    • It’s easy to copy and paste a complete source/destination for pasting into, for example, an rsync comman

    I pasted my PS1 config here: https://pastebin.com/ZcYwabfB

    Stick that line near the bottom of your ~/.bashrc file if you want to try it out.

  • eksb@programming.dev
    link
    fedilink
    English
    arrow-up
    7
    ·
    16 hours ago

    I use tmux or screen, and set the status bar in different remotes to different colors.

  • dgdft@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    16 hours ago

    You’ll get used to it eventually, but you can e.g. tweak your PS1 to an all-caps hostname, or use a custom tmux layout with dedicated panes for each box you connect to.

    • IsoKiero@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      3
      ·
      15 hours ago

      You’ll get used to it eventually

      I’ve been earning my living mostly with connecting to remote systems via ssh (and other means) for quite a few years and I still occasionally mess up and enter commands on a wrong terminal. Less now than I used to, but it still happens. The trick is to learn youself to pause for a second and confirm the target for any potentially destructive or otherwise harmful command, no matter if it’s locally or to some server other side of the world.

  • e0qdk@reddthat.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    16 hours ago

    I (manually) set the background color of my terminals depending on the machine I connect to. I currently have profiles for red, green, blue, and black backgrounds with black as my default. I usually use red for ones I want to be especially careful of.

    • Father_Redbeard@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 hours ago

      That’s a great idea. Do you have it persist between sessions? Like one server #1 it’s always green?

      • e0qdk@reddthat.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        I just right click on the terminal to change the profile to whatever I feel like it should be in the moment (usually red). I do it by reflex, basically. I never felt the need to try to set up automation for different servers, but I expect there’s probably a way to do that if you really wanted to.