MobaXterm 加装cygwin软件包

时间:2024-01-29 08:39:26

上次在《MobaXterm: SSH/X远程客户端, Xmanager的最佳免费替代品》里面介绍了MobaXterm这个Windows上的便携 多合一unix工具箱,它基于Cygwin,集成了ftp/telnet/ssh/rdp/vnc等多种远程连接能力,还有X server以支持连 接X桌面或者运行X程序。

虽然MobaXterm自身集成了很多工具,并且还提供了20多个大大小小的插件,但眼看了Cygwin官方仓库里面那么多软 件 而不能用,还是会很心痒,尤其是一些必备工具。

MobaXterm在8月上旬发布的7.2版本提供了从Cygwin官方仓库直接加装软件包的能力:

  • New feature: Added "MobApt", a new package manager based on the great "apt-cyg" tool, for automatic installation of Cygwin utilities through internet.
  • New feature: You can now specify a persistent root folder ("/"). This is especially useful if you want to install packages using "MobApt" and you want to keep them across MobaXterm restarts.

在选项设置里面指定了 persistent root folder 之后,MobaXterm就会将自己集成的cygwin环境解压到该目录,重启 后就从该目录加载cygwin环境了,这样就能非常快速地获得一个基本的cygwin环境(比用cygwin setup.exe安装 base包省事多了)——不过还不清楚以后MobaXterm有了新版本,如何更新这里面的内容。

然后就可以用它提供的MobApt(或者apt-cyg,因为MobApt是对apt-cyg做了些封装并提供了界面)从Cygwin官方仓 库来加装软件包了,比如首先解决我一直觉得不爽的man问题(我上次博文中也说到过):

apt-cyg install less
apt-cyg install man

这里有几个小地方需要注意:

  • 安装 man 的时候,会被认为已经安装方法而跳过。解决方法是从 /etc/setup/mobainstalled.db 里面删除 manless 的记录,同时还得删除(建议做好备份) /bin/man/bin/less (man依赖于less,但内置 的less不兼容)。Cygwin的安装工具是用 /etc/setup/installed.db 这个文件来记录已经安装的包,但 MobaXterm里面的 apt-cyg 做了一点修改,会将 /etc/setup/mobainstalled.db 里面的记录也作为已经安装 的包来考虑,而这里其实记录的包都不是Cygwin原生包,而是MobaXterm通过各种方式提供的简化版本;
  • 基于上面的原因,不建议使用Cygwin原来的setup.exe来安装和升级软件包;

MobaXterm http://mobaxterm.mobatek.net/