Keeping track of different targets in terminal
from Father_Redbeard@lemmy.ml to selfhosted@lemmy.world on 09 Jul 10:18
https://lemmy.ml/post/32925515

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?

EDIT: Thanks, everyone! Sounds like a terminal multiplexer is the ticket for me.

#selfhosted

threaded - newest

dgdft@lemmy.world on 09 Jul 10:34 next collapse

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 on 09 Jul 11:06 collapse

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.

SheeEttin@lemmy.zip on 09 Jul 10:39 next collapse

Color coding

e0qdk@reddthat.com on 09 Jul 10:45 next collapse

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.ml on 09 Jul 17:59 collapse

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

e0qdk@reddthat.com on 09 Jul 21:18 collapse

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.

sprite0@sh.itjust.works on 09 Jul 10:47 next collapse

i use tmux with named windows on each server and just terminals locally

sxan@midwest.social on 09 Jul 12:26 next collapse

I also have the prompt set to the host name. I’ve never understood why people included their usernames; I don’t log in to more than one account on each machine.

borari@lemmy.dbzer0.com on 09 Jul 14:47 collapse

Tmux is 100% what OP needs to be using.

eksb@programming.dev on 09 Jul 10:49 next collapse

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

HelloRoot@lemy.lol on 09 Jul 11:41 next collapse

I made it so that the ps1 on my servers shows the servername@[server IP]

[deleted] on 09 Jul 12:16 collapse

.

neidu3@sh.itjust.works on 09 Jul 12:43 next collapse

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: pastebin.com/ZcYwabfB

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

Father_Redbeard@lemmy.ml on 09 Jul 17:57 collapse

Hey that’s super helpful, thank you. Definitely going to try this out.

illusionist@lemmy.zip on 09 Jul 14:01 next collapse

For inspiration fedoramagazine.org/tuning-your-bash-or-zsh-shell-…

irmadlad@lemmy.world on 10 Jul 15:10 collapse

If I’m on WIndows, I use MobaXterm. If I’m on Linux, I use tmux.