2017-02-18 2 views
1

현재 SSH.NET을 사용하는 터미널 에뮬레이션 작업 중입니다. 현재 열/행이있는 SshClient 및 ShellStream 만들기가 제대로 작동합니다.Renci SSH NET : 터미널 크기를 조정할 때 너비/높이 반영

그러나 터미널 크기 (퍼티와 같은)의 크기를 변경할 때 새로운 열/행을 서버로 보내는 방법을 찾을 수 없습니다.

유일한 방법은 쉘 스트림을 닫고 새 쉘을 만드는 것입니다. 새로운 "레이아웃"을 서버에 보내는 더 좋은 방법이 있습니까? 내가 ShellStream.cs에 새로운 방법을 구현 결국 조사 일 후

답변

0

:-) 사전에

감사 : 문제를 해결

/// <summary> 
    /// Sends a "window-change" request. 
    /// </summary> 
    /// <param name="columns">The terminal width in columns.</param> 
    /// <param name="rows">The terminal width in rows.</param> 
    /// <param name="width">The terminal height in pixels.</param> 
    /// <param name="height">The terminal height in pixels.</param> 
    public void SendWindowChangeRequest(uint columns, uint rows, uint width, uint height) 
    { 
     if (_channel == null) 
     { 
      throw new ObjectDisposedException("ShellStream"); 
     } 
     _channel.SendWindowChangeRequest(columns, rows, width, height); 
    } 

. 이제 "SendWindowChangeRequest (...)"를 호출 할 수 있으며 서버 측 쉘 창은 최신입니다 .-)

Renci의 구현에서이 기능이없는 이유는 확실하지 않습니다. 어쩌면 또 다른 방법이있을 것입니다 ...