4

[转载] 本人在cygwin下完整工作环境的搭建(备忘)

 3 years ago
source link: https://www.skywind.me/blog/archives/973
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

[转载] 本人在cygwin下完整工作环境的搭建(备忘)

       这算是一个变态的嗜好:力求在纯文本模式下完成一切可能的工作,并且还要在windows下工作。 下面的配置未特意说明的地方,要么是太简单不值得说明,要么是顺应了对应软件的默认配置行为。

1.基本环境

       从 http://www.cygwin.com 下载 cygwin.exe ,按其默认选择安装即可。以后逐步根据需要添加软件包。

       根据本人需求,额外添加软件包:unzip,zip,attr,shutdown

2.文字阅读/编辑/处理

       从cygwin选择下载安装: vim , xpdf ,  texmacs

3.文本模式的Web浏览器

       从cygwin选择下载安装: w3m ,  这是款类似vim的Web浏览器。

4.安装配置Cygwin X环境

       详见:http://x.cygwin.com/docs/ug/setup.html#setup-cygwin-x-installing
       通过cygwin选择安装:

           必选:  xorg-server , xinit 
           建议选择:xorg-docs , X-start-menu-icons

       启动X11环境:

           可以从Windows的开始菜单启动Cygwin X

5.添加ssh登录支持(并且支持通过putty访问Cygwin X)

       可以用putty.exe等远程控制系统访问本地cygwin.  哦,这不是多此一举?用cygwin.bat直接启动不就得了? 原因有三:

           1)在cygwin.bat启动模式下,用户视觉感受没有通过putty.exe登录访问的感受好,你试试便知。

           2)在cygwin.bat启动模式下,无法进行屏幕取词,而通过putty.exe登录访问可以屏幕取词,这点对英文不太好的人很重要。

           3)在cygwin.bat启动模式下,输入法提示框总下左下角,并且是纯黑白模式,感受不好,但是在putty.exe登录访问时,输入法提示框是跟随的。

       首先在cygwin中选择安装openssh

       然后用命令 ssh-host-config  配置SSH  注意配置过程中一定要将sshd安装成Windows服务,已方便开机自动启动

       生成ssh1的公钥和密钥:      ssh-keygen -t rsa1

       生成ssh2的公钥和密钥:
              生成公钥: ssh-keygen -t rsa
              生成密钥: ssh-keygen -t dsa

       启动sshd服务(如果你需要重启机器的话,此步可免)
              cygrunsrv -S sshd

       为配置为putty.exe支持X11而做的配置服务端:
              在/etc/sshd_config中配置为:X11Forwarding yes 
              在/etc/profile 中添加配置: export DISPLAY=:0.0

       在客户端putty中配置:
              window -> Translation 中 character set 选为UTF-8
              在Connection -> X11 中勾选上:Enable X11 forwarding
              在X display location 中填入:localhost:0.0

       这样你就可以用类似putty.exe功能远程登录访问本地cygwin系统。以后的操作也就都是通过putty.exe登录操作的。

       最后说明一点:你可以在putty登录后,在需要用到X11环境的程序前,临时启动Cygwin X 服务。

卸载方式:

       依次执行 cygrunsrv -E sshd   cygrunsrv -R sshd

       然后删除: rm /etc/ssh*

       然后在 /etc/passwd 中删除 新创建的两个用户: sshd ,  cyg_server

6.C/C++/fortran77/Python完整的开发环境

      在cygwin中选择安装:autobuild ,autoconf ,automake ,binutils ,cmake ,gcc-core ,gcc,gcc-g77 ,gcc-g++ ,gcc-java ,gcc4-core ,gcc4,gcc4-fortran ,gcc4-g++ ,gcc4-java  ,make ,makedepend ,pkg-config,bashdb,ddd,python

7.JAVA基本开发环境

      我采用的是首先从JAVA官网上下载安装普通的windows版本的JDK.

      然后在cygwin的/opt目录下,建立一个名为jdk的链接到JDK在Window下实际的安装目录。

            ln -sf  <JDK在windows下实际的安装目录>  /opt/jdk

      在cygwin中设置JAVA环境变量(比如可在/etc/profile 中设置)

      最后,下载解压apache-ant和apache-maven在/opt目录下,并在/etc/profile设置好它们的PATH路径。

8.TCL/TK开发环境

cygwin自带的好像有问题,不全?,建议到http://www.tcl.tk 上分别下载tcl 和 tk 的源码安装包 依次编译安装)

      先装 tcl 后装 tk 。

      都是: ./configure    ,  make   ,  make install

9.Google AppEngine开发环境

      从http://code.google.com/appengine中下载,并且解压在/opt/appengine 中, 并且在/opt/profile中设置PATH环境变量.

10.googlecl

      google开发的一个试图通过cmd/shell 访问google所有服务的工具。见链接:http://blog.chaoskey.com/2011/03/1/201103011210

或者从cygwin中选择安装: python-gdata ,googlecl

11.版本控制器

      从 cygwin中选择安装:cvs ,cvs3svn , subversion ,git ,git-completion ,git-gui ,git-svn ,mercurial

12.数学工具套件

      1)数学绘图软件:gnuplot  (从 cygwin中选择安装)http://www.gnuplot.info

      2)数值计算软件:octave    (从 cygwin中选择安装)http://www.octave.org

      3)统计分析软件:R http://www.R-project.org

            采用下载源代码编译安装的方法。当前采用的源码版本是:R-2.12.2.tar.gz

            前置需求:
http://ftp.ctex.org/mirrors/CRAN/doc/manuals/R-admin.html#Essential-and-useful-other-programs-under-a-Unix_002dalike
            主要有:
                  1)需要gcc,g77(fortran 77)的开发编译环境
                  2)X11支持环境
                  3) tcl/tk   
                  4) libX11(-dev) ,libXt(-dev),readline,iconv,cairo(-dev) ,pango ,zlib(-dev) ,xz,libxmu(-dev) ,icu(-dev) ,ghostscript,,libjpeg(-dev) ,libpng12(-dev) ,libtiff(-dev) ,
            tar -xf R-2.12.1.tar.gz
            编译
                  ./configure  –disable-nls –enable-R-shlib  R_BROWSER=w3m  R_PDFVIEWER=xpdf   
                        (原因见:http://ftp.ctex.org/mirrors/CRAN/doc/manuals/R-admin.html#Cygwin)
                  make 
            测试:
                  make check
            生成手册文档:
                  make dvi
                  make pdf
                  make info
            安装:
                  make install
                  make install-dvi
                  make install-info
                  make install-pdf

      4)符号演算软件:maxima  (http://maxima.sourceforge.net/

            当前采用的源码版本:maxima-5.23.2.tar.gz           
            需求软件包:clisp ,bison ,libgd(-dev) ,plotutils ,libggi(-dev) ,xz ,lapack(-dev) ,curl(-dev) ,magick ,libGLU(-dev)

            ./configure   make  make  install

      5)数学排版软件:texmacs

            1)解决texmacs启动时找不到gs的问题:
                        ln -sf /usr/bin/gs /usr/X11R6/bin/gs

            2)maxima集成:
                         vim /usr/sbin/TeXmacs/bin/tm_maxima   添加当前版本的条件分支,执行代码暂时和已有的版本执行代码一致。
http://riemann.math.nccu.edu.tw/~yenlung/share/texmacs-maxima-5.10.0.lisp  下载文件后,将其复制到:/usr/share/TeXmacs/plugins/maxima/lisp

            3) octave集成:(暂时未解决)

            4)R集成:(暂时未解决)

            5)gnuplot集成:已自动支持。

      首先,在cygwin默认选择基础上,附加选择如下软件包:unzip ,zip ,attr ,shutdown ,vim ,xpdf ,texmacs ,w3m ,xorg-server ,xinit ,xorg-docs ,X-start-menu-icons ,openssh ,autobuild ,autoconf ,automake ,binutils ,cmake ,gcc,gcc-core ,gcc-g77 ,gcc-g++ ,gcc-java ,gcc4,gcc4-core ,gcc4-fortran ,gcc4-g++ ,gcc4-java ,make ,makedepend ,pkg-config ,python ,python-gdata ,googlecl ,cvs ,subversion ,git ,git-completion ,git-gui ,git-svn ,mercurial ,gnuplot ,octave ,libX11(-dev) ,libXt(-dev) ,readline ,iconv ,cairo(-dev) ,pango ,libjpeg(-dev) ,libpng12(-dev) ,libtiff(-dev) ,zlib(-dev) ,libxmu(-dev) ,icu(-dev) ,ghostscript ,clisp ,bison ,libgd(-dev) ,plotutils ,libggi(-dev) ,xz ,lapack(-dev) ,curl(-dev) ,magick ,libGLU(-dev),tex相关,基本数学库

      然后依第5步:“添加ssh登录支持”所提到的配置。

      依第7步:“配置Java基本开发环境”

      依第8步:从源码安装TCL/TK

      依第9步:  安装配置google appengine开发环境

      依第12步之3): 安装统计分析软件R

      依第12步之4):  安装符号演算软件maxima

      依第12步之5): 配置数学排版软件texmacs以集成:gnuplot , octave ,R ,maxima

附录:遇到的问题及解决方案:

      1)试图解决”Exception: STATUS_ACCESS_VIOLATION“ 的问题
http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-status-access-violation
            a)选择安装Cygwin软件包时,必须确保停止所有的Cygwin进程(包括Cygwin的Windows服务进程)
            b)确保cygwin1.dll在你的系统中只能存在一份。
            c)注意杀毒软件或防火墙对Cygwin的限制,必要的话将其加入其信任区域。
            d)防止在Cygwin’s的fork()模拟器中出现的DLL的基本地址冲突。
                        安装rebase包
                        阅读:/usr/share/doc/Cygwin/rebase-n.n.n.README
                        然后安装说明指示运行:rebaseall
                        简单的说就是: 在停止Cygwin的所有进程(包括已经安装的Windows服务)的前提下,在Windows下启动cmd.exe, 在这个Windows命令行下,执行ash, 然后在ahs启动的shell 中执行:/bin/rebaseall -v。 
            e)如果还有这个问题,则对出现这个问题的程序执行:
                    peflags –tsaware=true /usr/bin/w3m.exe  (范例)
            f)如果通过cygwin选择重新安装或升级程序后,可能这个问题又会复现。我们又需要按a),b),c),d),e)依次执行。

      2)cygwin环境下,maxima无法调用 gnuplot的问题:(非完美的解决方案) 
            a) ln -sf /usr/bin/gnuplot.exe /usr/binwgnuplot

            b) 在每个新的maxima的窗口n中,预先执行:
                  set_plot_option([gnuplot_default_term_command,"set term x11"]); 
      注意:
            每次执行一次绘图操作时,都会进入gnuplot的Shell,需要手工退出,才能返回maxima的Shell,该问题不知如何解决。
            离开maxima后,上述设置会失效。 如何永久存储该设置的方法,暂时为找到。
2011-03-13 附注:此问题已经解决,在你常用的maxima工作目录下,创建如下文件: /home/chaoskey/maxima/maxima-init.mac

/* this is /home/chaoskey/maxima/maxima-init.mac */
/* last edit 2011-03-13  */

maxima_userdir : "/home/chaoskey/maxima"  maximatempdir:"/home/chaoskey/maxima/.tmp"
/*file_search_maxima : append(file_search_maxima ) ∗//∗filesearchlisp:append(filesearchlisp)*/
set_plot_option([gnuplot_default_term_command,"set term x11"])/∗disp("MaximaistheFuture.") */

            说明,你常用的maxima的工作目录可任意选择,maxima 启动时会自动探测出 maxima-init.mac的目录。

492 total views, 1 view today

I like thisUnlike LikeI dislike thisUndislike 

Categories: 大浪淘沙 Tags:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK