1

I installed Gimp, Inkscape, and XQuartz on my Mac yesterday.

Today I get an error when I try to use resize in the Terminal:

$ resize 50 120
resize: Can't set window size under VT100 emulation

I did not intentionally enable VT100 emulation (I'm not even sure exactly what that means). I suspect it is a side effect of installing Gimp, Inkscape, or XQuartz.

I use the basic/default Terminal profile with no customizations other than switching to /bin/zsh as the default shell. I'm using Mac 10.14.5.

How can I turn off or disable VT100 emulation?

3

How can I turn off or disable VT100 emulation?

You can't. But you don't want to, either.

The DEC VT100 was an early video terminal for computer systems. It introduced a system of control codes which was widely copied by other terminals, and which has become a de facto standard. Virtually all computer terminal applications implement VT100 control sequences, and disabling them would make your terminal unusable.

That being said, this message is simply misleading. The resize utility is a weird little component of the xterm terminal emulator, which is distributed with XQuartz. XTerm is not the same as the Mac Terminal application, and it will always print this message when run with two arguments, regardless of what terminal you're using. You can skip this message and force it to resize your terminal by adding the -s flag, e.g.

/opt/X11/bin/resize -s 50 120

"s" stands for "Sun", as in Sun Microsystems, which had some terminal emulators which implemented extensions to the VT100 which included a sequence to resize the terminal window. (The VT100 didn't support any such sequence, as it was a hardware terminal and only supported two text resolutions: 80x24 and 132x24.)

Why this is necessary at all is… a good question, really. I suspect it comes down to both XTerm and the resize utility it ships with being very old pieces of software.

1

I don't think I was in VT100 emulation mode in the first place. One of those applications added another program called resize to my path. I was attempting to call a program called resize that I created based on this answer. But now that I have resize from X11, I can follow this answer.

/usr/X11/bin/resize -s width height works without error in Terminal because (from man resize)

This option indicates that Sun console escape sequences will be used instead of the VT100-style xterm escape codes. If rows and columns are given, resize will ask the xterm to resize itself using those values.

  • Not sure I understand your answer here. Running /usr/X11/bin/resize within macOS Terminal will throw the error you got. So shouldn't the answer be that X11 resize can only be used in xterm, but the escape sequences in the first referenced answer also work in Terminal? – nohillside Jul 23 '19 at 18:34
  • I've updated the answer to clarify that /usr/X11/bin/resize can work in Terminal using the -s flag. – John Girata Jul 26 '19 at 19:15
  • I am not sure I fully understand what is going on here. I have not investigated the behavior of /usr/X11/bin/resize fully. If you'd like to add an answer with more/better details, I would be glad to accept it. – John Girata Jul 26 '19 at 19:15
  • It's in the man page (see my edit), -s triggers the use of different escape sequences. – nohillside Jul 28 '19 at 11:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .