1
我目前正在使用SSH.NET進行終端仿真。使用當前的列/行創建SshClient和ShellStream可正常工作。Renci SSH NET:在調整終端大小時反映寬度/高度
但是,當我改變終端尺寸(如膩子)的大小,我找不到一種方式發送新的列/行到服務器。
我看到的唯一方法是關閉shellstream並創建一個新的。有沒有更好的方式將新的「佈局」發送到服務器?
在此先感謝:-)
我目前正在使用SSH.NET進行終端仿真。使用當前的列/行創建SshClient和ShellStream可正常工作。Renci SSH NET:在調整終端大小時反映寬度/高度
但是,當我改變終端尺寸(如膩子)的大小,我找不到一種方式發送新的列/行到服務器。
我看到的唯一方法是關閉shellstream並創建一個新的。有沒有更好的方式將新的「佈局」發送到服務器?
在此先感謝:-)
經過調查我在實施一個新的方法引入ShellStream.cs最後的日子:
/// <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(...)」並且服務器端shell窗口是最新的:-)
不確定,爲什麼Renci的實現中缺少此功能。也許還有另一種方式...