On Sat, Dec 30, 2017 at 06:38:16PM +0100, Kamil Rytarowski wrote: > On 30.12.2017 17:41, Thomas Dickey wrote: > > On Sat, Dec 30, 2017 at 11:39:38AM -0500, Thomas Dickey wrote: > >> On Sat, Dec 30, 2017 at 03:53:35PM +0100, Kamil Rytarowski wrote: > >>> How to setup correctly vt100 in a terminal? > >>> > >>> I've set exported TERM=vt100, called tset and stty and I keep observing > >>> artifacts. > >>> > >>> I was trying to run http://invisible-island.net/vttest/ and it does not > >>> work well. > >>> > >>> I've tested py-terminator and xterm with the same results. > >>> > >>> I'm working around the problems with vt100 with putty right now and this > >>> program works well. > >> > >> hmm - looking at this and followup, there's no information regarding > >> what exactly is going wrong. > >> > >> That (plus the actual version number for vttest and xterm would help). > >> For py-terminator - no help there. > > > > For "artifacts", it helps to know that you can capture all of the characters > > sent by a host to the terminal using the "script" program. If you had > > sent a bug report, I'd ask for that information, to point to the likely > > problem. > > > > I've uploaded screen shot of xterm and script(1) recording. > > http://netbsd.org/~kamil/vt100/ The typescript shows that the remote host is using 8-bit controls. None of the VTE-based terminals will work with that, likely never will. xterm should do this -- you can see that using the menu at the bottom of vttest: Menu 12: Modify test-parameters but the host likely is not initializing the terminal to do this - it could be assuming you did that already. Ignoring the padding nulls, "unmap" https://invisible-island.net/misc_tools/index.html#item:unmap shows this: -------------------------------------------------------------------------------- \n4\372\313GZ<1^NoConnected to localhost.\r \nEscape character is '\^]'.\r \n@^A\314GZ\260\376^Do \n\r \nConnected to the MicroVAX 3900 simulator CON-TELNET device\r \n \n^A^G\314GZl\270i\r^A^G\314GZ7\273o\r^E^G\314GZ\264\275^Co \n\r$ ^A\t\314GZ\330\360^Aid^A\t\314GZm\364^Aod^A\t\314GZ\277\330^Eii^A\t\314GZ\267\354^Eoi^A \n\314GZ&^\ir^A \n\314GZh^\or^A \n\314GZD^]^Ei\r^A \n\314GZU#^Eo\r^D \n\314GZ\2520\bo \n\r \nDirectory SYS$SYSROOT:[SYSMGR]\r \n\r \nACCOUNTNG.DAT;1 CLUE$HISTORY.DATA;1 CLUE$LAST_MYVAX.LIS;1\r \nLAN$ACP.LOG;5 LAN$ACP.LOG;4 LAN$ACP.LOG;3 LAN$ACP.LOG;2 \r \nLAN$ACP.LOG;1 OPERATOR.LOG;5 OPERATOR.LOG;4 OPERATOR.LOG;3 \r \nOPERATOR.LOG;2 OPERATOR.LOG;1 VMSIMAGES.DAT;1 \r \n\r \nTotal of 14 files.\r \n\r \nDirectory SYS$COMMON:[SYSMGR]\r \n\r \nAGEN$NEW_NODE_DEFAULTS.DAT;1 AGEN$NEW_NODE_DEFAULTS.TEMPLATE;1\r \nAGEN$NEW_SATELLITE_DEFAULTS.DAT;1 AGEN$NEW_SATELLITE_DEFAULTS.TEMPLATE;1\r \nAGENPARAMS.EXE;1 ALFMAINT.COM;1 AMDS$DRIVER_ACCESS.DAT;1\r \nAMDS$DRIVER_ACCESS.TEMPLATE;1 AMDS$LOGICALS.COM;1 AMDS$LOGICALS.TEMPLATE;1\r \nAMDS$SYSTARTUP.TEMPLATE;1 CLUSTER_CONFIG.COM;1\r \nCLUSTER_CONFIG_LAN.COM;1 CTF$STARTUP.COM;1 DBLSTRTUP.COM;1 \r \nDCE$RPC_SHUTDOWN.COM;1 DCE$RPC_STARTUP.COM;1\r \nDECNET_DNS_REGISTER.COM;1 DECNET_DNS_TOWERS.COM;1\r \nDECNET_LOC_REGISTER.COM;1 DECNET_REGISTER_DECDNS.CO^D \n\314GZ\3120\boM;1\r \nDECW$DEVICE.COM;1 DECW$DEVICE_GE.COM;1 DECW$DEVICE_GF.COM;1\r \nDECW$DEVICE_GG.COM;1 DECW$PRIVATE_SERVER_SETUP.TEMPLATE;1\r \nDECW$RGB.DAT;1 DECW$STARTSERVER.COM;1 DECW$STARTXTERMINAL.COM;1\r \nDNS$CHANGE_DEF_FILE.COM;1 DNS$CLERK_CLUSTER.NCL;1\r \nDNS$CLIENT_STARTUP.COM;1 DNS$CLIENT_STOP.COM;1\r \nDNS$CONFIGURE.COM;1 DTSS$CONFIG.COM;1 DTSS$CONFIG_TEMPLATE.DAT;1\r \nEDTINI.TEMPLATE;1 ICC$ADD_REGISTRY_TABLE.COM;1 ICC$CREATE_SECURITY_OBJECT.COM;1\r \nLAT$SYSTARTUP.COM;1 LAT$SYSTARTUP.TEMPLATE;1 LIB$DT_STARTUP.COM;1\r \nLOGIN.COM;1 LOGIN.TEMPLATE;1 LPA11STRT.COM;1 LTLOAD.COM;1 \r \nMAKEROOT.COM;1 NET$AUTOGEN.COM;1 NET$CONFIGURE.COM;1 NET$DNS_CLERK_STARTUP.NCL;1\r \nNET$DNS_CLERK_STOP.NCL;1 NET$DTSS_CLERK_STARTUP.NCL;1\r \nNET$EVENT_LOCAL.TEMPLATE;1 NET$LOGICALS.TEMPLATE;1\r \nNET$SHUTDOWN.COM;1 NETTRACE_INSTALL.COM;1 NETTRACE_SECURITY.COM;1\r \nRTTLOAD.CO^Q^C \n\314GZ\3400\boM;1 SECURITY.AUDIT$JOURNAL;1 SMISERVER.COM;1 \r \nSYCONFIG.COM;1 SYCONFIG.TEMPLATE;1 SYLOGICALS.COM;1 SYLOGICALS.TEMPLATE;1\r \nSYLOGIN.COM;1 SYLOGIN.TEMPLATE;1 SYPAGSWPFILES.COM;1 SYPAGSWPFILES.TEMPLATE;1\r \nSYSECURITY.COM;1 SYSECURITY.TEMPLATE;1 SYSHUTDWN.COM;1 \r \nSYSHUTDWN.TEMPLATE;1 SYSTARTUP_V5.COM;1 SYSTARTUP_VMS.COM;1\r \nSYSTARTUP_VMS.TEMPLATE;1 TFF$STARTUP.COM;1 TNT$UTILITY.COM;1 \r \nUTC$CONFIGURE_TDF.COM;1 UTC$TIMEZONE_SETUP.COM;1\r \nUTC$TIME_SETUP.COM;1 VMS$AUDIT_SERVER.DAT;1\r \nVMS$IMAGES_MASTER.DAT;1 VMSIMAGES.DAT;1 WELCOME.TEMPLATE;1 \r \nWELCOME.TXT;1 \r \n\r \nTotal of 85 files.\r \n\r \nGrand total of 2 directories, 99 files.\r \n\r$ ^A^P\314GZ\304^^ \ni!^A^P\314GZb7 \no!^A^Q\314GZ\220\327i ^A^Q\314GZ \342o ^A^S\314GZ<\201^Dib^A^S\314GZ\225\217^Dob^A^S\314GZr^K\bia^A^S\314GZ&^W\boa^A^S\314GZ\204| \nic^A^S\314GZ%\207 \noc^A^S\314GZgp\fik^A^S\314GZ`\201\fok^A^S\314GZ\215\341^Nis^A^S\314GZe\360^Nos^A^T\314GZE/^Bip^A^T\314GZ]D^Bop^A^T\314GZ^Q\207^Cia^A^T\314GZ&\243^Coa^A^T\314GZ\274\330^Eic^A^T\314GZ^U\353^Eoc^A^T\314GZ8\216^Gie^A^T\314GZ\310\226^Goe^A^T\314GZ\305\306\bi ^A^T\314GZb\317\bo ^A^T\314GZ\261^X^Kii^A^T\314GZr=^Koi^A^T\314GZ8p\fis^A^T\314GZ\273t\fos^A^T\314GZ\250\250\ri ^A^T\314GZ\306\253\ro ^A^U\314GZ\223^Aib^A^U\314GZ+\232^Aob^A^U\314GZ\2320^Gir^A^U\314GZ^Z>^Gor^A^U\314GZG\202\tio^A^U\314GZK\214\too^A^U\314GZ\270\217\fik^A^U\314GZ\344\234\fok^A^U\314GZ\367D^Nie^A^U\314GZ\264L^Noe^A^V\314GZ~\327in^A^V\314GZo\341on^A^V\314GZO\310\ri\r^A^V\314GZ^T\330\ro\r^E^W\314GZ^X\220^Ao \n\r$ ^A^X\314GZ\216\216^Gia^A^X\314GZ\277\240^Goa^A^X\314GZ\246^R\fib^A^X\314GZ\3063\fob^A^Y\314GZ\236T^Aic^A^Y\314GZ\256U^Aoc^A^Y\314GZ^C\376^Did^A^Y\314GZ\^ ^Eod^A^Y\314GZ\342= \ni-^A^Y\314GZn\\ \no-^A \E\314GZ\313\255^Gi1^A \E\314GZ^\\271^Go1^A \E\314GZ\315\272 \ni2^A \E\314GZ\314\314 \no2^A \E\314GZ\335\250\ri3^A \E\314GZ\202\261\ro3^A^\\314GZ^^^P^Bi4^A^\\314GZ\313^W^Bo4^A^\\314GZ c\ti\b^A^\\314GZ|i\to\r^C^\\314GZ\227o\fo$ ^A^^\314GZ^S8^Ki\r^A^^\314GZ\274@^Ko\rW^^\314GZ^]H^No \n\r%DCL-W-IVVERB, unrecognized command verb - check validity and spelling\r \n \\ABCD\\\r \n\r$ ^A#\314GZ\317^F^Ni!^A#\314GZ\255#^No!^A$\314GZ\341\352^Bi ^A$\314GZ<\376^Bo ^A%\314GZW\302^Nie^A%\314GZ/\351^Noe^A&\314GZ'\207^Cid^A&\314GZH\240^Cod^A&\314GZ^^\362^Fii^A&\314GZ\360\374^Foi^A&\314GZ6\340\tit^A&\314GZ\223\343\tot^A&\314GZ\225^R\fio^A&\314GZ\220-\foo^A&\314GZ^Y\310\rir^A&\314GZ \E\333\ror^A'\314GZM\270i ^A'\314GZ\320\273o ^A'\314GZ[#^Dii^A'\314GZ\242>^Doi^A'\314GZW\224^Fis^A'\314GZ\376\256^Fos^A'\314GZ\220*\bi ^A'\314GZ\3564\bo ^A'\314GZ)\332 \nib^A'\314GZ^S\363 \nob^A'\314GZ~d^Nir^A'\314GZ\bt^Nor^A(\314GZ#\207^Cio^A(\314GZ_\234^Coo^A(\314GZ\342\322^Fik^A(\314GZ\226\367^Fok^A(\314GZ\363I\bie^A(\314GZ\320W\boe^A(\314GZ^W] \nin^A(\314GZ<{ \non^A*\314GZ\343N^Bi\r^A*\314GZ\336j^Bo\r^E*\314GZ\276[^Eo \n\r$ ^A*\314GZ^P\273 \nie^A*\314GZ\267\315 \noe^A*\314GZ^B\243^Nid^A*\314GZ\336\302^Nod^A+\314GZ\247N^Bii^A+\314GZ\246e^Boi^A+\314GZ\244\255^Git^A+\314GZ2\274^Got^A+\314GZ@\324^Ki ^A+\314GZ\b\334^Ko ^A,\314GZ \243^Ni1^A,\314GZ\272\305^No1^A-\314GZn)^Ci2^A-\314GZ\255-^Co2^A.\314GZ(\331^Ei3^A.\314GZ \361^Eo3^A.\314GZ+c\ti4^A.\314GZfw\to4^A/\314GZi] \ni\r^A/\314GZ\324\200 \no\r\210/\314GZ\366{\ro \n \E\\\2330m\23320l \E)0^O \E*< \E}\233m\2332J\233?3h\233;24r\2334l \E=\233?6l\233?7l\233?8h\2331;2'z\2331;3'{\23324;H\233J\233K\233;7mEditing new file. Could not find: SYS$SYSROOT:[SYSMGR]1234.;^A0\314GZE\355^Do\r\3660\314GZ\307\327^Go\233mEditing new file. Could not find: SYS$SYSROOT:[SYSMGR]1234.;\23321;132H \E[1J\233;H[End of file]\233K\23322;H\233;7m Buffer: 1234. | Write | Insert | Forward \233m\r \n\233K\233K\23322A^A4\314GZ3\315^GiH^A4\314GZ^K\345^GoH^X4\314GZv\354 \no\233K\r \n[End of file]\233K\2331;2H^A4\314GZ~\355\fie^A4\314GZ\227\356\foe^A5\314GZ\244p\fil^A5\314GZ!\200\fol^A6\314GZE\231il^A6\314GZ\274\277ol^A6\314GZ\^\340\tio^A6\314GZ,\344\too^A6\314GZr\355\fi ^A6\314GZ\311\356\fo ^A7\314GZ\311T^Aiw^A7\314GZzy^Aow^A7\314GZ\345\352^Bio^A7\314GZ\245\376^Boo^A7\314GZ\361\336^Dir^A7\314GZ\241\370^Dor^A7\314GZ\276\263^Fil^A7\314GZN\316^Fol^A7\314GZ^Wi\bid^A7\314GZ&}\bod^A7\314GZk\316\fi\r^A7\314GZJ\360\fo\r^W8\314GZ1\271o \n\233K \n[End of file]\233K\2332;H^A9\314GZ\347\225^Ki^Z^A9\314GZ^E\333^Ko\233W9\314GZ]\306^No22B2 lines written to file SYS$SYSROOT:[SYSMGR]1234.;1\233K\2332;H \E>\233?7h\2330'z\233;r\233m\23324;H\r \n\r \n$ ^AJ\314GZ^Q\226^Ki!^AJ\314GZ\?\266^Ko!^AK\314GZ\340T^Ai ^AK\314GZ\364U^Ao ^AK\314GZ\232{^Eit^AK\314GZ^]\234^Eot^AK\314GZ\263c\tia^AK\314GZ\215n\toa^AK\314GZ\320j\rik^AK\314GZ\321\214\rok^AL\314GZ\2405^Aii^AL\314GZ\250W^Aoi^AL\314GZ^N\306^Cin^AL\314GZ\264\310^Con^AL\314GZF{^Eig^AL\314GZ^U\235^Eog^AL\314GZ&J\bi ^AL\314GZ\266\^\bo ^AL\314GZ\227\362 \nis^AL\314GZ|\365 \nos^AL\314GZ0&^Nic^AL\314GZq'^Noc^AM\314GZ\352\254^Bir^AM\314GZ\375\263^Bor^AM\314GZh\370^Eie^AM\314GZ\f^N^Foe^AM\314GZ^SJ\bie^AM\314GZ^\W\boe^AM\314GZ\271^^ \nin^AM\314GZ\3270 \non^AM\314GZ\206\363^Ki ^AM\314GZ\333^D\fo ^AM\314GZuj\ris^AM\314GZ\376\212\ros^AM\314GZ4\302^Nih^AM\314GZ^]\303^Noh^AN\314GZ_ \n^Cio^AN\314GZ+)^Coo^AN\314GZ\340B^Dit^AN\314GZEa^Dot^AN\314GZSu^Fi ^AN\314GZ~\203^Fo ^AN\314GZ\270^E\tih^AN\314GZ\257 \E\toh^AN\314GZ^Z2\fie^AN\314GZ\333N\foe^AN\314GZ\307^F^Nir^AN\314GZ\340"^Nor^AN\314GZ??^Oie^AO\314GZ\337^Xoe^AP\314GZ\232\201^Di\r^AP\314GZ\345\210^Do\r^EP\314GZft^Go \n\r$ ^Ac\314GZ\213\361^Aie^Ac\314GZ\233\362^Aoe^Ac\314GZ\266\246^Cix^Ac\314GZv\306^Cox^Ac\314GZQ\\^Eii^Ac\314GZ\275s^Eoi^Ac\314GZ$\256^Git^Ac\314GZ^R\275^Got^Ad\314GZA\220\fi\b^Ad\314GZ\224\236\fo\r^Ae\314GZ\220^\i\b^Ce\314GZ\247^\o$ ^Ae\314GZ#\314^Bi\b^De\314GZ9\314^Bo\r$ ^De\314GZ\300\304^Eo\r$ ^Ag\314GZ\264\216\bi~^Ag\314GZr\246\bo~^Ag\314GZH^A^Oi.^Ag\314GZ.^O^Oo.^Ah\314GZ\202J\bi\b^Ah\314GZ=Y\bo\r^Ah\314GZp^Y^Ki\b^Ch\314GZ\206^Y^Ko$ ^Dh\314GZn\b^No\r$ ^Al\314GZ\227\353^Bi^]^Bl\314GZ\327\353^Bo\r \n\bl\314GZ\f\354^Botelnet> ^Am\314GZ\200\331^Eie^Am\314GZ\210\331^Eoe^Am\314GZK+\bix^Am\314GZQ+\box^Am\314GZ\264\332 \nii^Am\314GZ\271\332 \noi^An\314GZ\372\270it^An\314GZ\271ot^An\314GZ\200\323^Fi\r^Bn\314GZ\210\323^Fo\r \n^Rn\314GZ\247\323^Fo?Invalid command\r \n\bn\314GZ\253\323^Fotelnet> ^Ao\314GZ\366\232^Eiq^Ao\314GZ\374\232^Eoq^Ao\314GZ)\264^Fiu^Ao\314GZ.\264^Fou^Ao\314GZ\315\340\tii^Ao\314GZ\323\340\toi^Ao\314GZ\376^X^Kit^Ao\314GZ^D^Y^Kot^Ao\314GZ;\212\ri\r^Bo\314GZB\212\ro\r \n^To\314GZm\212\roConnection closed.\r \n \no\314GZ8\214\rochieftec$ ^Aq\314GZ&^R^Gie^Aq\314GZB^R^Goe^Aq\314GZ\b\211\bix^Aq\314GZ"\211\box^Aq\314GZ\236] \nii^Aq\314GZ\267] \noi^Aq\314GZP\265^Kit^Aq\314GZg\265^Kot^Aq\314GZ\354\341^Ni\r^Cq\314GZ^T\342^No\r\r \nq\314GZ \E*^Oe -------------------------------------------------------------------------------- All of those backslashed numbers are octal, and include what's known as C1 controls (decimal 128 to 159, or octal 200 to 237). VT100 didn't do that, it was a feature of VT220 and up. 233 is the control-sequence initiator (which you may see in the trace as the 7-bit "\E[" or "\033["): \E[1J\233;H[End of file]\233K\23322;H\233;7m Buffer: 1234. | Write | Insert | Forward \233m\r Thinking about it, there's some problem on the host side, since switching modes between 7-bit and 8-bit (C1) controls should make _all_ communication switch between the two modes. (Offhand, I don't recall if xterm would/should honor 7-bit controls in 8-bit mode, but suppose it might...). In xterm's controls-sequences, the two modes are listed here: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Controls-beginning-with-ESC Controls beginning with ESC This excludes controls where ESC is part of a 7-bit equivalent to 8-bit C1 controls, ordered by the final character(s). ESC SP F 7-bit controls (S7C1T). ESC SP G 8-bit controls (S8C1T). That is (on Linux) printf '\033 F' printf '\033 G' -- Thomas E. Dickey <dickey%invisible-island.net@localhost> https://invisible-island.net ftp://ftp.invisible-island.net
Attachment:
signature.asc
Description: Digital signature