kingToolbox / WindTerm

A professional cross-platform SSH/Sftp/Shell/Telnet/Serial terminal.
https://kingtoolbox.github.io
22.8k stars 1.76k forks source link

default terminal #108

Open huai168an opened 3 years ago

huai168an commented 3 years ago

Open a default terminal after startup windterm, “cmd” or “git bash”,Does it have this function?

zmodem about large file(>4 GB),Have a look at this:https://github.com/noodle1983/rzsz-nd maybe it will inspire

windterm is great, i like it !!

kingToolbox commented 3 years ago

First of all, thank you for recommending rzsz-nd. I read it and feel that its state machine process is very clear and rewarding.

Due to the limitations of the original ZModem protocol design, it is indeed a pity that it cannot support very large files. But there is no way to make up for this regret. Although rzsz-nd has fixed this shortcomings. However, because ZModem is end-to-end transmission, only rzsz-nd or WindTerm support large files is not enough, the opposite end must also support it. Usually the opposite end is almost standard lrzsz, and almost few people use this to transfer files larger than 4GB. Therefore, from the practical point of view, it should be said that the standard ZModem is sufficient.

If you need to transfer large files, it is more recommended to use SFTP/SCP. In WindTerm, the transmission speed of SFTP/SCP can be as high as hundreds of megabytes per second, and the transmission speed of ZModem is only tens of megabytes per second. Obviously, once again, there is no need to use ZModem to transfer large files. I think the main advantage of ZModem is only that it can easily transfer small files to the current directory.

For the first question. Yes, WindTerm has this feature, but it has not been fully developed yet. You can use the menu item Window - Split Group Horizontally / Split Group Vertically to quickly open a new Cmd.

Since all the sessions of the last time are usually restored at startup, I thought this feature is not very important, so it did not continue to complete. Of course, if you choose not to restore the previous sessions every time you start, then this feature is still necessary, otherwise you will get a completely empty window. This feature will be completed later, but I recommend you to restore the last sessions at startup. And keep a Cmd or git bash never closed.

BTW, there are two new designs to be completed to better solve this problem. One is the pinned session tabs, you can pin a Cmd or git bash session tab for use at any time, like the pinned tabs in Firefox or Chrome. The other is that there will be a local Shell pane in the bottom dock, like the Sender pane. If you have used the integrated terminal in VS Code, you will better understand what I mean. In this way, through the Shell pane, you can operate the local computer at any time when operating any remote server. I think it can bring great convenience to you. image

huai168an commented 3 years ago

Great, I really hope winterm and WindEdit merge, like vscode, while maintaining fast, high performance, vscode is too slow, now use vscode, you can compare the configuration file (ops job), modify, git commit( a local Shell pane in the bottom dock), vscode is a little slower, but can meet the daily work。 Terminal: because the environment of operations and maintenance problems, download and upload files with zmodem is the most convenient, so must support zmodem, it is best to use "git bash" provided by the openssh connection remote machine Now, winterm is the most suitable for me, before using "terminus", it's too slow to start,too large,putty does not support zmodem,:(

huai168an commented 3 years ago

BTW,

  1. how to set "auto-copy selected text to system clipboard"
  2. bug ? open admin:cmd,os:win7 sp1 ,Language:Chinese image
huai168an commented 3 years ago

顺便提一句,

  1. 如何设置“自动复制所选文本到系统剪贴板”
  2. 漏洞 ?打开 admin:cmd,os:win7 sp1 ,语言:中文 图像

I don't know what happened, but now it's normal

Copy problem ,"text.autoCopySelection": true, nice

kingToolbox commented 3 years ago

admin::cmd depends on winpty/conpty and gsudo, so sometimes there are problems that WindTerm cannot solve.

Another thing that may disappoint you is that any shell on Windows, including cmd, powershell, git bash, even WSL and so on, cannot use X/Y/Z Modem normally. After trying to solve it for a long time, I finally gave up. Because all the transmitted data will be modified beyond recognition when passing through winpty/conpty, such as adding a lot of ANSI escape sequences, It is almost impossible to restore the correct content.

So if you want to use ZModem, the best way is to use SSH or Serial on Windows. The Linux shell like bash, tch and so on does not have this problem.

The combination of WindTerm and WindEdit will not be considered for the time being. Because WindEdit has a lot of unfinished features, and the current focus is on the development of WindTerm, both will be developed independently for a long period of time, at least until the end of this year.

VS Code is a great text editor. It is difficult for WindEdit to exceed it, except for performance. After all, I believe that the performance of WindEdit should be the best at present, no matter for very large files or very long lines. So WindEdit should be a good supplement to VS Code.

huai168an commented 3 years ago

“So if you want to use ZModem, the best way is to use SSH or Serial on Windows. The Linux shell like bash, tch and so on does not have this problem.” "git bash" has ssh.exe program, I use ssh to connect to remote linux, no problem found for now. You said "git bash" will have problems, is it directly in the "git bash" using zmodem? image

See screenshots,Is this going to be a problem?

kingToolbox commented 3 years ago

Yes. In fact, I only tested cmd, powershell and WSL, and most transmissions using X/Y/Z Modem have failed. So I infer that all Windows Shells in WindTerm is unreliable, because they are all based on winpty or conpty.

Of course, there are successful transmissions, but the proportion is very small. In addition, I did not test the scenario of calling a third-party program like ssh.exe.

If the transmission is correct in your actual use, it must be correct. You can continue to use it like this. But keep in mind that this is not as completely reliable as in SSH or Serial. When I have time, I will look into whether other terminals have solved this problem.

Finally, I recommend that you directly use SSH session in WindTerm instead of using ssh.exe in git bash. :smile:

huai168an commented 3 years ago

I forgot to ask, through "openssh sessions" or "putty sessions" to connect to linux, call the external ssh.exe or putty.exe, or winterm's own ssh or putty program?

kingToolbox commented 3 years ago

WindTerm itself is a good SSH client like ssh.exe or putty.exe, and there is no need to call a third-party program. "OpenSSH sessions" and "PuTTY sessions" are automatically imported from the configuration files of ssh.exe and putty.exe. They are just for convenience. You can always create a new session configuration to use.

You can read intro videos to learn more.

huai168an commented 3 years ago

How can this ensure the security of the client? For example, we all know that the security of putty is very important, now the version of putty is 0.75, the version used by winterm is?

kingToolbox commented 3 years ago

WindTerm has nothing to do with OpenSSH and PuTTY. WindTerm does not call OpenSSH and PuTTY, nor does any line of code come from OpenSSH and PuTTY. WindTerm uses libssh and openssl library to implement SSH protocol itself, and the version of libssh is v0.9.5.

Although no program can ensure 100% security, I still think WindTerm should be one of the safest programs. The most important thing is that it will never take the initiative to connect to the Internet, so there is no risk of data leakage.

If there are any security risks, it will be the highest priority, and I will fix it as soon as possible. But as you can see in Issues, there have not been any security issues since the public release for nearly two years.

huai168an commented 3 years ago

My bad, I think I have understood winterm, if there are any more thoughts and questions I will let you know :》

kingToolbox commented 3 years ago

You are welcome. If the default shell feature is finished, I will update here. BTW, the product name is WindTerm, not winterm. Winterm is the name of another terminal. :smile:

huai168an commented 3 years ago

WindTerm,yes,sorry

kingToolbox commented 3 years ago

Never mind. :smiley:

huai168an commented 3 years ago

Is it possible to set only one windterm window to start and not create a new one?

huai168an commented 3 years ago

windterm can't start anymore image

问题签名: 问题事件名称: APPCRASH 应用程序名: WindTerm.exe 应用程序版本: 0.0.0.0 应用程序时间戳: 60c8feae 故障模块名称: Qt5Widgets.dll 故障模块版本: 5.12.4.0 故障模块时间戳: 5d01c5af 异常代码: c0000005 异常偏移: 00149403 OS 版本: 6.1.7601.2.1.0.256.48 区域设置 ID: 2052 其他信息 1: 0a9e 其他信息 2: 0a9e372d3b4ad19135b953a78882e789 其他信息 3: 0a9e 其他信息 4: 0a9e372d3b4ad19135b953a78882e789

huai168an commented 3 years ago

windterm can't start anymore image

问题签名: 问题事件名称: APPCRASH 应用程序名: WindTerm.exe 应用程序版本: 0.0.0.0 应用程序时间戳: 60c8feae 故障模块名称: Qt5Widgets.dll 故障模块版本: 5.12.4.0 故障模块时间戳: 5d01c5af 异常代码: c0000005 异常偏移: 00149403 OS 版本: 6.1.7601.2.1.0.256.48 区域设置 ID: 2052 其他信息 1: 0a9e 其他信息 2: 0a9e372d3b4ad19135b953a78882e789 其他信息 3: 0a9e 其他信息 4: 0a9e372d3b4ad19135b953a78882e789

delete profiles\default.v10\terminal\reopen.history and global\reopen.history,It's normal

kingToolbox commented 3 years ago

Which version are you using? Is it failed to start again after full screen mode? Thank you. BTW, single instance is not yet supported, and will be supported in the future.

huai168an commented 3 years ago

2.1.0 pre4,Full screen mode is normal, seems to be related to reopen.history

kingToolbox commented 3 years ago

I thought it was #93, but it was obviously not. I feel that WindTerm_2.1.0_Prerelease_4 is not as stable as I think. I will check carefully to see what might be wrong with reopen.history. Thank you.

kingToolbox commented 2 years ago

I think I have completed the feature you wanted, so I am happy to inform you to download the new prerelease version WindTerm_2.2.0_Prerelease_2 and check it.

In the new version, there are two ways to meet your needs. One is the Shell Pane I mentioned earlier, just like the one in VsCode. When Shell Pane is displayed, the default shell like cmd, powershell and so on is automatically opened. Another way is that you can use the feature of opening a specific session or set of sessions on startup. You can set the sessions you want to open, up to four, so that every time you start WindTerm, the specified sessions will be opened automatically. You can configure these sessions using the settings dialog, Menubar - Session - Preferences - Settings - Application - Startup.

If you have better ideas, please let me know. I am looking forward to it. Thank you.