Screen and kitty what should $TERM be?











up vote
1
down vote

favorite












Why does tmux report



$TERM=screen-256color


Normally kitty reports



$TERM=xterm-kitty


Which should I use if I run tmux inside kitty? Obviously kitty provides advanced functionality and that makes sense that it reports xterm-kitty. Why does screen report that it's screen-256 are there programs that need to be aware that they're running in screen? Would it be problematic to call screen running in kitty xterm-kitty?










share|improve this question




























    up vote
    1
    down vote

    favorite












    Why does tmux report



    $TERM=screen-256color


    Normally kitty reports



    $TERM=xterm-kitty


    Which should I use if I run tmux inside kitty? Obviously kitty provides advanced functionality and that makes sense that it reports xterm-kitty. Why does screen report that it's screen-256 are there programs that need to be aware that they're running in screen? Would it be problematic to call screen running in kitty xterm-kitty?










    share|improve this question


























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      Why does tmux report



      $TERM=screen-256color


      Normally kitty reports



      $TERM=xterm-kitty


      Which should I use if I run tmux inside kitty? Obviously kitty provides advanced functionality and that makes sense that it reports xterm-kitty. Why does screen report that it's screen-256 are there programs that need to be aware that they're running in screen? Would it be problematic to call screen running in kitty xterm-kitty?










      share|improve this question















      Why does tmux report



      $TERM=screen-256color


      Normally kitty reports



      $TERM=xterm-kitty


      Which should I use if I run tmux inside kitty? Obviously kitty provides advanced functionality and that makes sense that it reports xterm-kitty. Why does screen report that it's screen-256 are there programs that need to be aware that they're running in screen? Would it be problematic to call screen running in kitty xterm-kitty?







      environment-variables tmux gnu-screen kitty






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 28 at 22:47

























      asked Nov 28 at 21:55









      Evan Carroll

      4,99494176




      4,99494176






















          3 Answers
          3






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          Which should I use if I run tmux inside kitty?



          When running tmux then you must use TERM=screen, TERM=tmux, or one of the derivatives e.g. TERM=screen-256color or TERM=tmux-256color.



          man tmux(1) states ...




          The TERM environment variable must be set to “screen” for all programs running inside tmux. New windows will automatically have “TERM=screen” added to their environment, but care must be taken not to reset this in shell start-up files.




          .. and further down clarifies ...




          Set the default terminal for new windows created in this session - the default value of the TERM environment variable. For tmux to work correctly, this must be set to ‘screen’ or a derivative of it.




          ... they also emphasize must.



          The tmux wiki continues with additional clarification and answers ...




          Inside tmux TERM must be "screen", "tmux" or similar (such as "tmux-256color").
          Don't bother reporting problems where it isn't!




          Are there programs that need to be aware that they're running in screen?



          Yes. Many programs, such as tput, will not display correctly when they're running in screen (or tmux) unless they're using the correct TERM value.




          What is TERM and what does it do?



          The environment variable TERM tells applications the name of a terminal description to read from the terminfo(5) database. Each description consists of a number of named capabilities which tell applications what to send to control the terminal. For example, the "cup" capability contains the escape sequence used to move the cursor up.



          It is important that TERM points to the correct description for the terminal an application is running in - if it doesn't, applications may misbehave.



          The infocmp(1) command shows the contents of a terminal description and the tic(1) command builds and installs a description from a file (the -x flag is normally required with both).




          Would it be problematic to call screen running in kitty xterm-kitty?



          Not necessarily, as long as the TERM value in the running screen is set correctly (i.e. TERM=screen-256color) and there's valid terminfo strings for it that screen or tmux knows how to handle.



          Other derivatives (on my machine) are:



          /usr/share/terminfo/s/screen
          /usr/share/terminfo/s/screen-16color
          /usr/share/terminfo/s/screen-256color
          /usr/share/terminfo/s/screen.Eterm
          /usr/share/terminfo/s/screen.gnome
          /usr/share/terminfo/s/screen.konsole
          /usr/share/terminfo/s/screen.linux
          /usr/share/terminfo/s/screen.mlterm
          /usr/share/terminfo/s/screen.mrxvt
          /usr/share/terminfo/s/screen.rxvt
          /usr/share/terminfo/s/screen.teraterm
          /usr/share/terminfo/s/screen.vte
          /usr/share/terminfo/s/screen.xterm-r6
          /usr/share/terminfo/s/screen.xterm-new
          /usr/share/terminfo/s/screen.xterm-xfree86


          Once TERM is set, you could run infocmp. That will report if there's a valid terminfo for the value. Other tests can validate basic terminfo functionality, such as:



          for terminfos in $(find /usr/share/terminfo/s -type f -name 'screen*' -printf '%fn' -o -name 'tmux*' -printf '%fn'); do export TERM=$terminfos; printf "%s: %sthis is foreground color 10 %sitalics%s and now all attributes are turned offn" "$terminfos" "$(tput setaf 10)" "$(tput sitm)" "$(tput sgr0)"; done






          share|improve this answer























          • That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
            – Thomas Dickey
            Nov 28 at 22:55




















          up vote
          0
          down vote













          Kitty's advanced functionality isn't compatible with things like tmux. For example if you run tmux and then run



          $ kitty icat ~/Pictures/fc.jpg 
          Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
          $ TERM=xterm-kitty kitty icat ~/Pictures/fc.jpg
          Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl


          So you can see even if you fudge TERM under tmux to match the one Kitty reports, you'll find a dead end, at best. Under ranger, range just crashes when trying to render a preview.






          share|improve this answer























          • I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
            – Jeff Schaller
            Nov 28 at 22:39










          • If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
            – Thomas Dickey
            Nov 28 at 22:57










          • @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
            – Evan Carroll
            Nov 29 at 0:24




















          up vote
          0
          down vote













          That's several questions. Here are answers for the more interesting ones:






          • Why does tmux report



            $TERM=screen-256color






          Older releases of tmux use TERM=screen or TERM=screen-256color "because it's there". Ultimately that changed (a) because tmux's developer wanted to add features and (b) because screen interferes with using italics.






          • Normally kitty reports



            $TERM=xterm-kitty



            Which should I use if I run tmux inside kitty?






          You should let tmux choose (it looks at the outer terminal description to see how to handle color and function-keys).





          • Why does screen report that it's screen-256




          Probably meant to say "screen-256color". GNU screen looks at the outer $TERM value and chooses an inner one. But this particular one comes from the user's .screenrc file (normally - packagers may get involved).





          • are there programs that need to be aware that they're running in screen?




          Not really...





          • Would it be problematic to call screen running in kitty xterm-kitty?




          Some screen configurations use bce (back color erase) by default. kitty doesn't support the feature (ymmv).






          share|improve this answer





















            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f484775%2fscreen-and-kitty-what-should-term-be%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote



            accepted










            Which should I use if I run tmux inside kitty?



            When running tmux then you must use TERM=screen, TERM=tmux, or one of the derivatives e.g. TERM=screen-256color or TERM=tmux-256color.



            man tmux(1) states ...




            The TERM environment variable must be set to “screen” for all programs running inside tmux. New windows will automatically have “TERM=screen” added to their environment, but care must be taken not to reset this in shell start-up files.




            .. and further down clarifies ...




            Set the default terminal for new windows created in this session - the default value of the TERM environment variable. For tmux to work correctly, this must be set to ‘screen’ or a derivative of it.




            ... they also emphasize must.



            The tmux wiki continues with additional clarification and answers ...




            Inside tmux TERM must be "screen", "tmux" or similar (such as "tmux-256color").
            Don't bother reporting problems where it isn't!




            Are there programs that need to be aware that they're running in screen?



            Yes. Many programs, such as tput, will not display correctly when they're running in screen (or tmux) unless they're using the correct TERM value.




            What is TERM and what does it do?



            The environment variable TERM tells applications the name of a terminal description to read from the terminfo(5) database. Each description consists of a number of named capabilities which tell applications what to send to control the terminal. For example, the "cup" capability contains the escape sequence used to move the cursor up.



            It is important that TERM points to the correct description for the terminal an application is running in - if it doesn't, applications may misbehave.



            The infocmp(1) command shows the contents of a terminal description and the tic(1) command builds and installs a description from a file (the -x flag is normally required with both).




            Would it be problematic to call screen running in kitty xterm-kitty?



            Not necessarily, as long as the TERM value in the running screen is set correctly (i.e. TERM=screen-256color) and there's valid terminfo strings for it that screen or tmux knows how to handle.



            Other derivatives (on my machine) are:



            /usr/share/terminfo/s/screen
            /usr/share/terminfo/s/screen-16color
            /usr/share/terminfo/s/screen-256color
            /usr/share/terminfo/s/screen.Eterm
            /usr/share/terminfo/s/screen.gnome
            /usr/share/terminfo/s/screen.konsole
            /usr/share/terminfo/s/screen.linux
            /usr/share/terminfo/s/screen.mlterm
            /usr/share/terminfo/s/screen.mrxvt
            /usr/share/terminfo/s/screen.rxvt
            /usr/share/terminfo/s/screen.teraterm
            /usr/share/terminfo/s/screen.vte
            /usr/share/terminfo/s/screen.xterm-r6
            /usr/share/terminfo/s/screen.xterm-new
            /usr/share/terminfo/s/screen.xterm-xfree86


            Once TERM is set, you could run infocmp. That will report if there's a valid terminfo for the value. Other tests can validate basic terminfo functionality, such as:



            for terminfos in $(find /usr/share/terminfo/s -type f -name 'screen*' -printf '%fn' -o -name 'tmux*' -printf '%fn'); do export TERM=$terminfos; printf "%s: %sthis is foreground color 10 %sitalics%s and now all attributes are turned offn" "$terminfos" "$(tput setaf 10)" "$(tput sitm)" "$(tput sgr0)"; done






            share|improve this answer























            • That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
              – Thomas Dickey
              Nov 28 at 22:55

















            up vote
            1
            down vote



            accepted










            Which should I use if I run tmux inside kitty?



            When running tmux then you must use TERM=screen, TERM=tmux, or one of the derivatives e.g. TERM=screen-256color or TERM=tmux-256color.



            man tmux(1) states ...




            The TERM environment variable must be set to “screen” for all programs running inside tmux. New windows will automatically have “TERM=screen” added to their environment, but care must be taken not to reset this in shell start-up files.




            .. and further down clarifies ...




            Set the default terminal for new windows created in this session - the default value of the TERM environment variable. For tmux to work correctly, this must be set to ‘screen’ or a derivative of it.




            ... they also emphasize must.



            The tmux wiki continues with additional clarification and answers ...




            Inside tmux TERM must be "screen", "tmux" or similar (such as "tmux-256color").
            Don't bother reporting problems where it isn't!




            Are there programs that need to be aware that they're running in screen?



            Yes. Many programs, such as tput, will not display correctly when they're running in screen (or tmux) unless they're using the correct TERM value.




            What is TERM and what does it do?



            The environment variable TERM tells applications the name of a terminal description to read from the terminfo(5) database. Each description consists of a number of named capabilities which tell applications what to send to control the terminal. For example, the "cup" capability contains the escape sequence used to move the cursor up.



            It is important that TERM points to the correct description for the terminal an application is running in - if it doesn't, applications may misbehave.



            The infocmp(1) command shows the contents of a terminal description and the tic(1) command builds and installs a description from a file (the -x flag is normally required with both).




            Would it be problematic to call screen running in kitty xterm-kitty?



            Not necessarily, as long as the TERM value in the running screen is set correctly (i.e. TERM=screen-256color) and there's valid terminfo strings for it that screen or tmux knows how to handle.



            Other derivatives (on my machine) are:



            /usr/share/terminfo/s/screen
            /usr/share/terminfo/s/screen-16color
            /usr/share/terminfo/s/screen-256color
            /usr/share/terminfo/s/screen.Eterm
            /usr/share/terminfo/s/screen.gnome
            /usr/share/terminfo/s/screen.konsole
            /usr/share/terminfo/s/screen.linux
            /usr/share/terminfo/s/screen.mlterm
            /usr/share/terminfo/s/screen.mrxvt
            /usr/share/terminfo/s/screen.rxvt
            /usr/share/terminfo/s/screen.teraterm
            /usr/share/terminfo/s/screen.vte
            /usr/share/terminfo/s/screen.xterm-r6
            /usr/share/terminfo/s/screen.xterm-new
            /usr/share/terminfo/s/screen.xterm-xfree86


            Once TERM is set, you could run infocmp. That will report if there's a valid terminfo for the value. Other tests can validate basic terminfo functionality, such as:



            for terminfos in $(find /usr/share/terminfo/s -type f -name 'screen*' -printf '%fn' -o -name 'tmux*' -printf '%fn'); do export TERM=$terminfos; printf "%s: %sthis is foreground color 10 %sitalics%s and now all attributes are turned offn" "$terminfos" "$(tput setaf 10)" "$(tput sitm)" "$(tput sgr0)"; done






            share|improve this answer























            • That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
              – Thomas Dickey
              Nov 28 at 22:55















            up vote
            1
            down vote



            accepted







            up vote
            1
            down vote



            accepted






            Which should I use if I run tmux inside kitty?



            When running tmux then you must use TERM=screen, TERM=tmux, or one of the derivatives e.g. TERM=screen-256color or TERM=tmux-256color.



            man tmux(1) states ...




            The TERM environment variable must be set to “screen” for all programs running inside tmux. New windows will automatically have “TERM=screen” added to their environment, but care must be taken not to reset this in shell start-up files.




            .. and further down clarifies ...




            Set the default terminal for new windows created in this session - the default value of the TERM environment variable. For tmux to work correctly, this must be set to ‘screen’ or a derivative of it.




            ... they also emphasize must.



            The tmux wiki continues with additional clarification and answers ...




            Inside tmux TERM must be "screen", "tmux" or similar (such as "tmux-256color").
            Don't bother reporting problems where it isn't!




            Are there programs that need to be aware that they're running in screen?



            Yes. Many programs, such as tput, will not display correctly when they're running in screen (or tmux) unless they're using the correct TERM value.




            What is TERM and what does it do?



            The environment variable TERM tells applications the name of a terminal description to read from the terminfo(5) database. Each description consists of a number of named capabilities which tell applications what to send to control the terminal. For example, the "cup" capability contains the escape sequence used to move the cursor up.



            It is important that TERM points to the correct description for the terminal an application is running in - if it doesn't, applications may misbehave.



            The infocmp(1) command shows the contents of a terminal description and the tic(1) command builds and installs a description from a file (the -x flag is normally required with both).




            Would it be problematic to call screen running in kitty xterm-kitty?



            Not necessarily, as long as the TERM value in the running screen is set correctly (i.e. TERM=screen-256color) and there's valid terminfo strings for it that screen or tmux knows how to handle.



            Other derivatives (on my machine) are:



            /usr/share/terminfo/s/screen
            /usr/share/terminfo/s/screen-16color
            /usr/share/terminfo/s/screen-256color
            /usr/share/terminfo/s/screen.Eterm
            /usr/share/terminfo/s/screen.gnome
            /usr/share/terminfo/s/screen.konsole
            /usr/share/terminfo/s/screen.linux
            /usr/share/terminfo/s/screen.mlterm
            /usr/share/terminfo/s/screen.mrxvt
            /usr/share/terminfo/s/screen.rxvt
            /usr/share/terminfo/s/screen.teraterm
            /usr/share/terminfo/s/screen.vte
            /usr/share/terminfo/s/screen.xterm-r6
            /usr/share/terminfo/s/screen.xterm-new
            /usr/share/terminfo/s/screen.xterm-xfree86


            Once TERM is set, you could run infocmp. That will report if there's a valid terminfo for the value. Other tests can validate basic terminfo functionality, such as:



            for terminfos in $(find /usr/share/terminfo/s -type f -name 'screen*' -printf '%fn' -o -name 'tmux*' -printf '%fn'); do export TERM=$terminfos; printf "%s: %sthis is foreground color 10 %sitalics%s and now all attributes are turned offn" "$terminfos" "$(tput setaf 10)" "$(tput sitm)" "$(tput sgr0)"; done






            share|improve this answer














            Which should I use if I run tmux inside kitty?



            When running tmux then you must use TERM=screen, TERM=tmux, or one of the derivatives e.g. TERM=screen-256color or TERM=tmux-256color.



            man tmux(1) states ...




            The TERM environment variable must be set to “screen” for all programs running inside tmux. New windows will automatically have “TERM=screen” added to their environment, but care must be taken not to reset this in shell start-up files.




            .. and further down clarifies ...




            Set the default terminal for new windows created in this session - the default value of the TERM environment variable. For tmux to work correctly, this must be set to ‘screen’ or a derivative of it.




            ... they also emphasize must.



            The tmux wiki continues with additional clarification and answers ...




            Inside tmux TERM must be "screen", "tmux" or similar (such as "tmux-256color").
            Don't bother reporting problems where it isn't!




            Are there programs that need to be aware that they're running in screen?



            Yes. Many programs, such as tput, will not display correctly when they're running in screen (or tmux) unless they're using the correct TERM value.




            What is TERM and what does it do?



            The environment variable TERM tells applications the name of a terminal description to read from the terminfo(5) database. Each description consists of a number of named capabilities which tell applications what to send to control the terminal. For example, the "cup" capability contains the escape sequence used to move the cursor up.



            It is important that TERM points to the correct description for the terminal an application is running in - if it doesn't, applications may misbehave.



            The infocmp(1) command shows the contents of a terminal description and the tic(1) command builds and installs a description from a file (the -x flag is normally required with both).




            Would it be problematic to call screen running in kitty xterm-kitty?



            Not necessarily, as long as the TERM value in the running screen is set correctly (i.e. TERM=screen-256color) and there's valid terminfo strings for it that screen or tmux knows how to handle.



            Other derivatives (on my machine) are:



            /usr/share/terminfo/s/screen
            /usr/share/terminfo/s/screen-16color
            /usr/share/terminfo/s/screen-256color
            /usr/share/terminfo/s/screen.Eterm
            /usr/share/terminfo/s/screen.gnome
            /usr/share/terminfo/s/screen.konsole
            /usr/share/terminfo/s/screen.linux
            /usr/share/terminfo/s/screen.mlterm
            /usr/share/terminfo/s/screen.mrxvt
            /usr/share/terminfo/s/screen.rxvt
            /usr/share/terminfo/s/screen.teraterm
            /usr/share/terminfo/s/screen.vte
            /usr/share/terminfo/s/screen.xterm-r6
            /usr/share/terminfo/s/screen.xterm-new
            /usr/share/terminfo/s/screen.xterm-xfree86


            Once TERM is set, you could run infocmp. That will report if there's a valid terminfo for the value. Other tests can validate basic terminfo functionality, such as:



            for terminfos in $(find /usr/share/terminfo/s -type f -name 'screen*' -printf '%fn' -o -name 'tmux*' -printf '%fn'); do export TERM=$terminfos; printf "%s: %sthis is foreground color 10 %sitalics%s and now all attributes are turned offn" "$terminfos" "$(tput setaf 10)" "$(tput sitm)" "$(tput sgr0)"; done







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 2 days ago

























            answered Nov 28 at 22:51









            Joseph Tingiris

            1877




            1877












            • That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
              – Thomas Dickey
              Nov 28 at 22:55




















            • That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
              – Thomas Dickey
              Nov 28 at 22:55


















            That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
            – Thomas Dickey
            Nov 28 at 22:55






            That last answer from superuser is less than useful. screen's emulating something that's a particular terminal type more/less for consistency. tmux uses the same terminal description to (try to) not rely upon a new terminal description being installed. Ultimately that doesn't work well, but for reasons outside the scope of this question.
            – Thomas Dickey
            Nov 28 at 22:55














            up vote
            0
            down vote













            Kitty's advanced functionality isn't compatible with things like tmux. For example if you run tmux and then run



            $ kitty icat ~/Pictures/fc.jpg 
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
            $ TERM=xterm-kitty kitty icat ~/Pictures/fc.jpg
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl


            So you can see even if you fudge TERM under tmux to match the one Kitty reports, you'll find a dead end, at best. Under ranger, range just crashes when trying to render a preview.






            share|improve this answer























            • I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
              – Jeff Schaller
              Nov 28 at 22:39










            • If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
              – Thomas Dickey
              Nov 28 at 22:57










            • @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
              – Evan Carroll
              Nov 29 at 0:24

















            up vote
            0
            down vote













            Kitty's advanced functionality isn't compatible with things like tmux. For example if you run tmux and then run



            $ kitty icat ~/Pictures/fc.jpg 
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
            $ TERM=xterm-kitty kitty icat ~/Pictures/fc.jpg
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl


            So you can see even if you fudge TERM under tmux to match the one Kitty reports, you'll find a dead end, at best. Under ranger, range just crashes when trying to render a preview.






            share|improve this answer























            • I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
              – Jeff Schaller
              Nov 28 at 22:39










            • If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
              – Thomas Dickey
              Nov 28 at 22:57










            • @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
              – Evan Carroll
              Nov 29 at 0:24















            up vote
            0
            down vote










            up vote
            0
            down vote









            Kitty's advanced functionality isn't compatible with things like tmux. For example if you run tmux and then run



            $ kitty icat ~/Pictures/fc.jpg 
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
            $ TERM=xterm-kitty kitty icat ~/Pictures/fc.jpg
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl


            So you can see even if you fudge TERM under tmux to match the one Kitty reports, you'll find a dead end, at best. Under ranger, range just crashes when trying to render a preview.






            share|improve this answer














            Kitty's advanced functionality isn't compatible with things like tmux. For example if you run tmux and then run



            $ kitty icat ~/Pictures/fc.jpg 
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl
            $ TERM=xterm-kitty kitty icat ~/Pictures/fc.jpg
            Terminal does not support reporting screen sizes via the TIOCGWINSZ ioctl


            So you can see even if you fudge TERM under tmux to match the one Kitty reports, you'll find a dead end, at best. Under ranger, range just crashes when trying to render a preview.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 28 at 22:06

























            answered Nov 28 at 22:01









            Evan Carroll

            4,99494176




            4,99494176












            • I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
              – Jeff Schaller
              Nov 28 at 22:39










            • If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
              – Thomas Dickey
              Nov 28 at 22:57










            • @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
              – Evan Carroll
              Nov 29 at 0:24




















            • I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
              – Jeff Schaller
              Nov 28 at 22:39










            • If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
              – Thomas Dickey
              Nov 28 at 22:57










            • @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
              – Evan Carroll
              Nov 29 at 0:24


















            I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
            – Jeff Schaller
            Nov 28 at 22:39




            I'm a bit confused why the answer addresses tmux when the bulk of the question focuses on screen?
            – Jeff Schaller
            Nov 28 at 22:39












            If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
            – Thomas Dickey
            Nov 28 at 22:57




            If kitty doesn't support the ioctl, that's a bug. But it's unrelated to the TERM value.
            – Thomas Dickey
            Nov 28 at 22:57












            @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
            – Evan Carroll
            Nov 29 at 0:24






            @JeffSchaller the question is 100% about tmux, tmux just reports its term is screen. But, I did have one typo =)
            – Evan Carroll
            Nov 29 at 0:24












            up vote
            0
            down vote













            That's several questions. Here are answers for the more interesting ones:






            • Why does tmux report



              $TERM=screen-256color






            Older releases of tmux use TERM=screen or TERM=screen-256color "because it's there". Ultimately that changed (a) because tmux's developer wanted to add features and (b) because screen interferes with using italics.






            • Normally kitty reports



              $TERM=xterm-kitty



              Which should I use if I run tmux inside kitty?






            You should let tmux choose (it looks at the outer terminal description to see how to handle color and function-keys).





            • Why does screen report that it's screen-256




            Probably meant to say "screen-256color". GNU screen looks at the outer $TERM value and chooses an inner one. But this particular one comes from the user's .screenrc file (normally - packagers may get involved).





            • are there programs that need to be aware that they're running in screen?




            Not really...





            • Would it be problematic to call screen running in kitty xterm-kitty?




            Some screen configurations use bce (back color erase) by default. kitty doesn't support the feature (ymmv).






            share|improve this answer

























              up vote
              0
              down vote













              That's several questions. Here are answers for the more interesting ones:






              • Why does tmux report



                $TERM=screen-256color






              Older releases of tmux use TERM=screen or TERM=screen-256color "because it's there". Ultimately that changed (a) because tmux's developer wanted to add features and (b) because screen interferes with using italics.






              • Normally kitty reports



                $TERM=xterm-kitty



                Which should I use if I run tmux inside kitty?






              You should let tmux choose (it looks at the outer terminal description to see how to handle color and function-keys).





              • Why does screen report that it's screen-256




              Probably meant to say "screen-256color". GNU screen looks at the outer $TERM value and chooses an inner one. But this particular one comes from the user's .screenrc file (normally - packagers may get involved).





              • are there programs that need to be aware that they're running in screen?




              Not really...





              • Would it be problematic to call screen running in kitty xterm-kitty?




              Some screen configurations use bce (back color erase) by default. kitty doesn't support the feature (ymmv).






              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                That's several questions. Here are answers for the more interesting ones:






                • Why does tmux report



                  $TERM=screen-256color






                Older releases of tmux use TERM=screen or TERM=screen-256color "because it's there". Ultimately that changed (a) because tmux's developer wanted to add features and (b) because screen interferes with using italics.






                • Normally kitty reports



                  $TERM=xterm-kitty



                  Which should I use if I run tmux inside kitty?






                You should let tmux choose (it looks at the outer terminal description to see how to handle color and function-keys).





                • Why does screen report that it's screen-256




                Probably meant to say "screen-256color". GNU screen looks at the outer $TERM value and chooses an inner one. But this particular one comes from the user's .screenrc file (normally - packagers may get involved).





                • are there programs that need to be aware that they're running in screen?




                Not really...





                • Would it be problematic to call screen running in kitty xterm-kitty?




                Some screen configurations use bce (back color erase) by default. kitty doesn't support the feature (ymmv).






                share|improve this answer












                That's several questions. Here are answers for the more interesting ones:






                • Why does tmux report



                  $TERM=screen-256color






                Older releases of tmux use TERM=screen or TERM=screen-256color "because it's there". Ultimately that changed (a) because tmux's developer wanted to add features and (b) because screen interferes with using italics.






                • Normally kitty reports



                  $TERM=xterm-kitty



                  Which should I use if I run tmux inside kitty?






                You should let tmux choose (it looks at the outer terminal description to see how to handle color and function-keys).





                • Why does screen report that it's screen-256




                Probably meant to say "screen-256color". GNU screen looks at the outer $TERM value and chooses an inner one. But this particular one comes from the user's .screenrc file (normally - packagers may get involved).





                • are there programs that need to be aware that they're running in screen?




                Not really...





                • Would it be problematic to call screen running in kitty xterm-kitty?




                Some screen configurations use bce (back color erase) by default. kitty doesn't support the feature (ymmv).







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 28 at 23:13









                Thomas Dickey

                51.6k594164




                51.6k594164






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f484775%2fscreen-and-kitty-what-should-term-be%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Entries order in /etc/network/interfaces

                    新発田市

                    Grub takes very long (several minutes) to open Menu (in Multi-Boot-System)