虽然已经不用 Mobaxterm 作为日常工具了,但为缅怀以前折腾的那段时光,特此归档。
札记
- 建议使用 10.0 版本的 Mobaxterm(下简称 Moba),10.2 版本的有少许问题,比如用
apt-get
或者apt-cyg
不能用Ctrl-C
停止,不能使用gist-vim
插件,git clone
也出现各种不能名状的问题 - 配置
Persistent home directory
以及Persistent root (/) directory
,个人的路径为F:\WorkingDirectory\Cygwin\home
,F:\WorkingDirectory\Cygwin
。关闭 Moba,修改/etc/fstab
文件,加上行:并设置文件为只读. 关闭所谓的 POSIX 权限,否则导致由 Cygwin 生成的文件权限紊乱1
none /cygdrive cygdrive text,posix=0,noacl,user 0
- 设置环境变量,在
~/.bashrc
中写上1
export PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32
- 安装各种软件包,注意每次需通过
-m
来设置源(或者通过脚本或alias
简化操作)。可用的 repo 有:- http://mirrors.neusoft.edu.cn/cygwin/
- http://mirrors.ustc.edu.cn/cygwin/
- http://mirrors.aliyun.com/cygwin/
- http://mirrors.163.com/cygwin/
1
apt-cyg -m http://mirrors.aliyun.com/cygwin/ install vim
- 有时即便指定了 repo,但无法下载包,可能提示找不到文件,但仔细浏览 repo 里面相应的软件包版本,发现版本号不正确,手动下载
setup.ini
(或者下载setup.xz
进行解压)覆盖掉/home/.aptcyg/<http%3a%2f%2fmirrors.foo>
下的setup.ini
即可。 - 有时无法直接通过
apt-cyg install <pkg>
来更新包,只好先remove
再install
。 - 建议安装的包:
- busybox
- coreutils
- curl
- libopenssl100
- git
- wget
- vim
- gcc-core
- gcc-g++
- gcc-mingw-core
- gcc-mingw-g++
- make
问题
SSH 代理问题
让 Cygwin 中的 git 通过 shadowsocks 代理。(假设代理端口为 1888)
主要参考:如何为 Git 设置代理?
- 建立
socksssh
,wrapper
文件(假设在~/.ssh
目录下建立)sockssh 1
2
ssh -o ProxyCommand="/home/.ssh/wrapper %h %p" "$@"wrapper 1
2
connect -S 127.0.0.1:1888 "$@" - 配置 Git:在
~/.gitconfig
文件中添加 / 修改内容:1
2
3
4
5
6[http]
proxy = socks5://127.0.0.1:1888
[https]
proxy = socks5://127.0.0.1:1888
[core]
gitproxy = /home/.ssh/wrapper - 编译或拷贝
connect
。- 项目地址:https://bitbucket.org/gotoh/connect
- 下载: https://bitbucket.org/gotoh/connect/downloads/
- 或直接: release
- 将
connect.exe
复制到/usr/local/bin
目录下(确保该路径在$PATH
中)
- 在
~/.bashrc
中加入重进 Moba.1
export GIT_SSH=/home/.ssh/socksssh
上面的 wrapper
文件中 -S
表示以 socks
方式进行代理,也可以改成 -H
(http),不过可能要相应更改 ~/.gitconfig
中的 proxy
。
git clone 出现 X11 forwarding request failed on channel 0
关系不大,倒是恼人。将文件 /etc/ssh_config
中 ForwardX11 yes
改为 ForwardX11 no
即可。