Я использую ssh.exe из проекта MinGW для доступа к серверам Linux из командной строки Windows. Или я использую 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 в моей родной командной строке)