I am fairly familiar with Linux, I’ve been using different distros for some years now and have done some config editing here and there. I am also a web developer and use the terminal quite a lot and so I always stumble on people’s recommendation to use tmux and how good it is, but I never really understood what it does and, in layman’s terms, how can it be useful and for what use cases.

Can you guys please enlight me a bit on this?

Thank you.

Edit: if my phrasing is a bit awkward or confusing I apologize since I am not an English native speaker. (Maybe that’s why I never fully grasped what tmux is from other explanations xD)

Edite: Ok, just to clarify, my original struggle was to understand what made tmux different from using some terminal app and just split the screen xD

  • 0xtero@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I guess the best analogy is a “virtual desktop” but for the terminal.
    It’s is a program which runs in a terminal and allows multiple other terminal programs to be run inside it.

    Each program inside tmux gets its own “page” or “screen” and you can jump between them (next-screen, previous-screen etc).
    So instead of having multiple terminal windows, you only have one and switch the screen/page inside it.

    You can detech from the program and leave it running - so next time you log on to the server, you can re-attach to it and all your screens/sessions are still there.

    Not super useful on your local machine - but when you have to connect to a remote server (or several) is really shines. Especially if you have to go through a jumphost. You can just connect to your jumphost, start tmux, then create a “screen” for each server you need to connect to - do your stuff and deattach. Next time, just re-attach and all your stuff is there.

    Did that help?

    • jackofalltrades@lemmy.mlOP
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Ok, now I guess I am seeing the value of it, specially with the “virtual desktop” analogy and the remote scenario, since I need to do some of it at work and having everything as I left it last time will be nice. Thank you!

      • topperharlie@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        plus, if you disconnect in the middle of a command execution it doesn’t get killed (very important for system updates for example)

      • WasPentalive@lemmy.one
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        I use the “being able to detach and re-attach” capability to run my Minecraft server on my in-home server box.