我使用 MinGW 项目中的 ssh.exe 从 Windows 本机命令行访问 Linux 服务器。或者我使用 Console2,它是 cmd.exe 的包装器,这使它更加可用,但它在后台仍然是 cmd.exe。
总体来说,它运行良好,但有时在解释某些字符(主要是 CR 和 LF 以及其他空格)时会出现严重问题,从而导致出现奇怪的图形伪影。当我使用 Backspace 删除字符时也是如此。
下图显示了几乎正确显示的会话。只有命令提示符显示了一些剩余的字符(实际上,它应该显示一个空的命令行)。
在最后一张图片中,你可以看到当我粘贴此文本时 Vim 的样子:
/brake /cmd_vel /currents /diagnostics /diagnostics_agg /diagnostics_toplevel_state
/enable /filtered_joint_states /fix /fix_extended
/flipper_cmd /flippers_cmd /flippers_state /icp_odom /imu/data /imu_odom /visual_odom
/initialpose /joint_states /laser_center /local_joy/cmd_vel /local_joy/joy
/magnetic /mechanization_output_inso /mechanization_output_inso_aiddebug
/mux_cmd_vel/selected /nav/cmd_vel /nifti_robot_node/max_angular_speed /nifti_robot_node/max_linear_speed
/odom /pointcloud_control /poseupdate /posture /posture_cmd /private/nav/cmd_vel
/restart3d /robot_status /rosout /rosout_agg /scan /scanning_once /scanning_speed_cmd
/set_flippers_torque /steering_efficiency
/syscommand /teleop_joy/cmd_vel /teleop_ocu/cmd_vel /temperature /tf /tf_static /tracks_vel /tracks_vel_cmd /velocity
当我(盲目地):wq
打开文件并重新加载时,文本显然已保存,然后也正确显示。因此,这只是 Windows 端的可视化问题;Linux 端接收到了正确的输入。
当我发出clear
命令时,窗口总是会被正确清除。
我该怎么做才能消除这种不兼容性?是否有一些隐藏的 Windows 控制台设置可以让我获得更好的兼容性?
(我知道 Putty 可以很好地处理这个问题,但我想在我的本机命令行中使用 ssh)