• four@lemmy.zip
    link
    fedilink
    English
    arrow-up
    55
    ·
    18 hours ago

    Akchually, those are shells, not terminal emulators.

    Which I guess confirms that you really don’t care. Whatever works for you, works for you :)

    • sem@piefed.blahaj.zone
      link
      fedilink
      English
      arrow-up
      6
      ·
      15 hours ago

      What’s the difference.

      How does the virtual terminal factor in.

      Why are some shells not login shells

      What is a terminal these days and why does it mess up keypresses

      • hamFoilHat@lemmy.world
        link
        fedilink
        arrow-up
        19
        ·
        14 hours ago

        The terminal emulator is the window displaying the text. That used to be a physical screen called a terminal. The program that decides what text to show is the shell.

      • poolcritter@pawb.social
        link
        fedilink
        arrow-up
        9
        ·
        12 hours ago

        A terminal emulator (such as xterm, tmux, or emacs) is responsible for displaying a pseudoterminal in a different context (such as an x server, another terminal, or an emacs buffer respectively). Terminals are divided into three types: virtual terminals (on boot or as presented by [C-]A-F<N>), ‘true’ terminals (exposed on serial ports), and pseudoterminals (controlled by other programs). Essentially, you have a virtual terminal running X running Xterm which controls a pseudoterminal with tmux attached controlling another pseudoterminal.

        Login shells are a special flag set when launching shells, sometimes. They typically read different settings (e.g. Bash reads ~/.bash_profile instead of ~/.bashrc). Most shells will launch as a login shell if their command name (argv[0]) begins with a hyphen; Bash also allows explicit bash -l to run a login shell.