• sem@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    6
    ·
    17 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
      20
      ·
      16 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
      10
      ·
      14 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.