Poderosa 2009 特别版

自从讨厌了 Putty 黑黑的界面之后,在 Windows 下我一直使用 Poderosa 登录 ssh 主机。与 Putty 相比,Poderosa 的优点是支持标签和 Cygwin shell。 原生的 Cygwin shell 窗口太丑陋了,和 Linux 下的终端没办法比,相信经常在 Windows 下使用 Cygwin 的同志都会有同感。Poderosa 能使 Cygwin 的终端窗口获得与 Linux 终端类似的使用感受,这是我偏爱它的一个重要原因。

当然,国产的 Fterm 也支持登录 ssh 主机,使用起来也凑合,但是很多 ssh 的高级功能是不支持的。

我以前曾在这篇文章中推荐过 Poderosa,但是和很多开源软件一样,一旦遇到困难(比如主要开发人员流失),软件的升级就陷入了停滞。Poderosa 从 2006 年 11 月 22 日发布 4.10 版本之后就再也没有更新,虽然 SF Project 的 Activity 中一片对 BUG 的抱怨之声。

一直以来我对 Poderosa 最重要的不满是编码和按键问题。Poderosa 是日本人写的,所以在编码中只有ISO-8859-1、UTF-8 和日文支持,缺少对 GBK 中文编码的支持。那么在 Cygwin shell 中执行一些 Windows 原生命令比如 ipconfig 时,命令输出的中文就会是乱码;按键问题主要体现在登录到远程主机时一些按键不支持,比如 Home 键就无法正常使用。

虽然我很早之前就想自己添加进去这些特性,因为不懂 C# 语言,一直没有动手。昨天实在忍不住了,把 Poderosa 的源代码下载下来,准备学一下 C# 语言然后去修改它。

但是很不幸幸运的是,我看到 Poderosa 的 Activity 中 4 天前(09 年 1 月 2 日)增加了一篇 post,一个咱们的同胞xjzhang1979说:他改进了 Poderosa,我下载了一看,我想要的功能都有了,真开心。

xjzhang1979 将软件包上传到了一个网络文件共享网站,您可以点击这个链接下载:http://www.box.net/shared/7n7ps57jgn。为了避免该链接失效,我在我的共享网站做了一个备份,您也可以到这里去下载:http://share.solrex.org/ibuild/

PS: 后来搜索找到了作者的博客,关于此修改版介绍的原文在这

2009-03-29: 更新的 Poderosa 特别版在这里:http://share.solrex.org/ibuild/

《Poderosa 2009 特别版》上有24条评论

  1. 老大,要是像 PuTTY Connection Manager
    支持书签就好了。
    PuTTY Connection Manager 好用啊,可惜用 alt+tab 切换窗口以后不能切换回去。

  2. @dayu
    虽然不支持书签
    但是可以支持自定义脚本,工作起来跟书签差不多
    您可以到这个特别版的作者主页,那里有讲怎么设置自定义脚本登录 telnet 和 ssh 主机

  3. @Solrex Yang
    这个脚本不支持 目录分类,主机多了不如书签方便。
    俺以前是用盗版SecureCRT的,现在不想偷了。
    --
    另外,似乎我用汉字不能显示:

    有乱码:
    chown bind:bind /usr/local/named/etc

    chown: ¡®bind:bind¡¯: ÎÞЧµÄÓû§

    env |grep LANG

    LANG=zh_CN.GB18030
    LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN:en_US.UTF-8

    字体是xp home的新宋体

  4. @dayu
    呵呵,脚本的问题我经验不多,我一般都是用 cygwin 的 ssh,直接公钥认证,敲击键盘次数也不多
    在 Poderosa 右上有个编码选项,默认是 iso-8859-1,你的情况可能要改成 gb* 或者 utf8

  5. 感觉SSH客户端的话 Xshell 3.0 比较好
    而且现在对 Home和School是免费的

  6. Putty 的背景颜色可以设置的,默认是黑色。而且有支持多标签的修改版。

  7. 兄台,你使用这个修改版本的poderosa登陆过cygwin么?我登陆后vim总是出不来语法高亮,都是前景色或加粗或加下划线的。

  8. Poderosa20100321.rar 运行 Tools→Options 报错:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.MissingMethodException: Method not found: 'System.String System.Drawing.Font.get_OriginalFontName()'.
    at Poderosa.Forms.DisplayOptionPanel.AdjustFontDescription(Font ascii, Font chinese)
    at Poderosa.Forms.DisplayOptionPanel.InitUI(ITerminalEmulatorOptions options, ICoreServicePreference window) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\DisplayOptionPanel.cs:line 490
    at Poderosa.Forms.DisplayOptionPanelExtension.InitiUI(IPreferenceFolder[] values) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\DisplayOptionPanel.cs:line 45
    at Poderosa.Forms.OptionDialog.ShowPage(Int32 index) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\OptionDialog.cs:line 268
    at Poderosa.Forms.OptionDialog.OnLoad(EventArgs e) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\OptionDialog.cs:line 251
    at System.Windows.Forms.Form.OnCreateControl()
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    at System.Windows.Forms.Control.CreateControl()
    at System.Windows.Forms.Control.WmShowWindow(Message& m)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    at System.Windows.Forms.ContainerControl.WndProc(Message& m)
    at System.Windows.Forms.Form.WmShowWindow(Message& m)
    at System.Windows.Forms.Form.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    Poderosa
    Assembly Version: 5.6.0.0
    Win32 Version: 5.6.0.0
    CodeBase: file:///D:/Poderosa/Poderosa.exe
    ----------------------------------------
    Poderosa.Plugin
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Poderosa.Plugin.DLL
    ----------------------------------------
    System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    Granados
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Granados.dll
    ----------------------------------------
    Poderosa.Core
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Core.dll
    ----------------------------------------
    Poderosa.Macro
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Macro.dll
    ----------------------------------------
    Poderosa.PortForwardingCommand
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.PortForwardingCommand.dll
    ----------------------------------------
    Poderosa.Protocols
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Protocols.dll
    ----------------------------------------
    Poderosa.SerialPort
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.SerialPort.dll
    ----------------------------------------
    Poderosa.TerminalEmulator
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.TerminalEmulator.dll
    ----------------------------------------
    Poderosa.TerminalSession
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.TerminalSession.dll
    ----------------------------------------
    Poderosa.UI
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.UI.dll
    ----------------------------------------
    Poderosa.Usability
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Usability.dll
    ----------------------------------------
    System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  9. Poderosa20100321.rar 运行 Tools→Options 报错:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.MissingMethodException: Method not found: 'System.String System.Drawing.Font.get_OriginalFontName()'.
    at Poderosa.Forms.DisplayOptionPanel.AdjustFontDescription(Font ascii, Font chinese)
    at Poderosa.Forms.DisplayOptionPanel.InitUI(ITerminalEmulatorOptions options, ICoreServicePreference window) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\DisplayOptionPanel.cs:line 490
    at Poderosa.Forms.DisplayOptionPanelExtension.InitiUI(IPreferenceFolder[] values) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\DisplayOptionPanel.cs:line 45
    at Poderosa.Forms.OptionDialog.ShowPage(Int32 index) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\OptionDialog.cs:line 268
    at Poderosa.Forms.OptionDialog.OnLoad(EventArgs e) in F:\Code\Poderosa\poderosa_SRC_20091218\Usability\OptionDialog.cs:line 251
    at System.Windows.Forms.Form.OnCreateControl()
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    at System.Windows.Forms.Control.CreateControl()
    at System.Windows.Forms.Control.WmShowWindow(Message& m)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    at System.Windows.Forms.ContainerControl.WndProc(Message& m)
    at System.Windows.Forms.Form.WmShowWindow(Message& m)
    at System.Windows.Forms.Form.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    Poderosa
    Assembly Version: 5.6.0.0
    Win32 Version: 5.6.0.0
    CodeBase: file:///D:/Poderosa/Poderosa.exe
    ----------------------------------------
    Poderosa.Plugin
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Poderosa.Plugin.DLL
    ----------------------------------------
    System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    Granados
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Granados.dll
    ----------------------------------------
    Poderosa.Core
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Core.dll
    ----------------------------------------
    Poderosa.Macro
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Macro.dll
    ----------------------------------------
    Poderosa.PortForwardingCommand
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.PortForwardingCommand.dll
    ----------------------------------------
    Poderosa.Protocols
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Protocols.dll
    ----------------------------------------
    Poderosa.SerialPort
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.SerialPort.dll
    ----------------------------------------
    Poderosa.TerminalEmulator
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.TerminalEmulator.dll
    ----------------------------------------
    Poderosa.TerminalSession
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.TerminalSession.dll
    ----------------------------------------
    Poderosa.UI
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.UI.dll
    ----------------------------------------
    Poderosa.Usability
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/Poderosa/Plugins/Poderosa.Usability.dll
    ----------------------------------------
    System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    Accessibility
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  10. @希望
    Poderosa 必须要使用 .Net Framework 2.5 还是什么版本,我记不清楚了。我当时碰到这个问题,安了好多个版本才解决,应该是 3 之前的版本。

  11. Pingback: ssh
  12. poderosa 下怎么回滚缓冲区? 就是shift+pageup.
    搜了半天也没搜到
    有人解决了吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注