cygwin

2021-02-15 06:17

阅读:627

cygwin

 

192.168.1.102:3389

 

Root Directory —— Cygwin环境根目录
Local Package Directory —— 软件包下载存放位置

 

 

安装的时候,python也要去掉,后续用apt-cyg安装python2.7

 

下载地址:http://cygwin.com
在Use URL处,输入:http://mirrors.163.com/cygwin/

“Cygwin1.dll”文件的地址,就在“C\Cygwin\bin“里
原因是缺少了一个“Cygwin1.dll”的环境变量,我们只要把这个“Cygwin1.dll”的文件跟要执行的程序放在同一目录即可。


我们首先在列表中寻找Cygwin中国镜像的地 址:http://www.cygwin.cn,如果找到就选中这个地址;如果找不到这个地址,就在下面手动输入中国镜像的地址:http: //www.cygwin.cn/pub/,再点击“Add”,然后再在列表中选中


安装cygwin中只需要注意两点:

1)、安装文件的路径中不能有中文名

2)、要选中cygwin支持NDK的几个包(为了不遗漏把devel下的全部选中安装

测试cygwin是否安装成功:

运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了

 


http://www.51testing.com/html/82/547282-854339.html
http://www.51testing.com/html/82/547282-854340.html
http://www.cnblogs.com/astwish/articles/3700459.html


http://www.cnblogs.com/clarkchen/archive/2011/02/21/1960217.html
http://www.cnblogs.com/starstroll/archive/2009/01/15/1376624.html

http://bbs.chinaunix.net/thread-3676471-1-1.html hbmhalley
http://www.cnblogs.com/zuroc/archive/2005/02/09/103469.html

http://blog.csdn.net/w405722907/article/details/77967718

http://blog.csdn.net/lionwoo/article/details/446964

http://blog.csdn.net/shenshouer/article/details/7244358

https://jingyan.baidu.com/article/08b6a591a5048b14a809220b.html

http://www.360doc.com/content/13/0123/09/9780582_261890818.shtml
http://www.cnblogs.com/YHM07/p/4116713.html
http://blog.sina.com.cn/s/blog_4dbe69550100e7an.html

https://segmentfault.com/a/1190000002789600
http://www.codeweblog.com/cygwin%E7%9A%84%E5%AE%89%E8%A3%85-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E6%95%B4/
http://blog.csdn.net/Mary_Jane/article/details/50769631

 

 

 

 

下载地址:http://cygwin.com  
在Use URL处,输入:http://mirrors.163.com/cygwin/

最新版本:2.9.0


下载地址:http://cygwin.com
在Use URL处,输入:http://mirrors.163.com/cygwin/


安装cygwin中只需要注意:
1、安装文件的路径中不能有中文名
2、测试cygwin是否安装成功:运行cygwin terminal,输入:cygcheck -c cygwin命令
会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。





安装流程:从163镜像源下载包,然后解压安装,跟Linux安装流程类似


 

ps  -W  :查看windows的所有进程

 

 

mintty只有pty,没有tty,只有虚拟终端,没有本地终端

ncurses
ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面
下面这几个软件都曾经用过ncurses库
vim
emacs
lynx
screen
ncurses貌似没有提供Windows平台的支持

 


 http://www.codeweblog.com/cygwin%E7%9A%84%E5%AE%89%E8%A3%85-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E6%95%B4/

自动安装脚本

安装脚本
也可基于 command-line 进行安装,比如写个批处理文件放到安装目录中:

@echo off
echo Cygwin installer.
echo Copyright (c) 2014 Chen Zhiqiang. Released under the MIT license.
echo The script used to install cygwin in quiet mode. Maybe you should adjust this script first.
echo It‘s a good idea that set CYGWIN_ROOT and CYGWIN_CACHE before call this script.

::CYGWIN_ROOT: Cygwin will be installed to this path
if not defined CYGWIN_ROOT set CYGWIN_ROOT=%~dp0
if "%CYGWIN_ROOT:~-1%"=="\" set CYGWIN_ROOT=%CYGWIN_ROOT:~0,-1%

::CYGWIN_CACHE: Local package directory
if not defined CYGWIN_CACHE set CYGWIN_CACHE=%CYGWIN_ROOT%\packages

::CYGWIN_MIRROR: Download site
if not defined CYGWIN_MIRROR set CYGWIN_MIRROR=http://mirrors.kernel.org/sourceware/cygwin/

::CYGWIN_SETUP: Cygwin setup program
if defined CYGWIN_SETUP if exist %CYGWIN_SETUP% goto PRE
set CYGWIN_SETUP=
for %%i in (setup*.exe) do (
set CYGWIN_SETUP=%%~fi
)
if not defined CYGWIN_SETUP set /P CYGWIN_SETUP=Input the path of cygwin setup program:

:PRE
::CATEGORIES: Specify entire categories to install
set CATEGORIES=Base,Admin,System

::PACKAGES: Specify packages to install
::Audio packages
set PACKAGES=sox,sox-fmt-flac,sox-fmt-wavpack
::DB
set PACKAGES=%PACKAGES%,postgresql,postgresql-client
::Devel packages
set PACKAGES=%PACKAGES%,autobuild,autoconf,automake,binutils,make,cmake,gcc-g++,gdb
set PACKAGES=%PACKAGES%,mingw-gcc,mingw64-i686-gcc,mingw64-x86_64-gcc,clang,llvm
set PACKAGES=%PACKAGES%,gendef,git,git-svn,cvs2svn,bzr,cygport,cygwin64,doxygen,indent
set PACKAGES=%PACKAGES%,patch,pkg-config,swig,tcl,tcl-tk,gawk,lua,perl,python,ruby
::Graphics
set PACKAGES=%PACKAGES%,gnuplot,gd,ImageMagick,optipng,pngcrush,popper,popper-data,exif
::Net
set PACKAGES=%PACKAGES%,aria2,curl,openssh,rsync,wget,tftp,tftp-server
::Utils
set PACKAGES=%PACKAGES%,bzip2,cpio,genisoimage,gnupg,mkisofs,upx,vim,hexedit
::X11
set PACKAGES=%PACKAGES%,xorg-server,xinit,XtoW,xauth,xhost

echo Installing Cygwin using these settings: (Press CTRL+C to abord)
echo CYGWIN_ROOT=%CYGWIN_ROOT%
echo CYGWIN_CACHE=%CYGWIN_CACHE%
echo CYGWIN_MIRROR=%CYGWIN_MIRROR%
echo CATEGORIES=%CATEGORIES%
echo PACKAGES=%PACKAGES%
echo --

choice /T 8 /D Y /M "Confirm (continue after 8 seconds)"

if ERRORLEVEL 2 goto :EOF
if ERRORLEVEL 1 goto Install
goto :EOF

:Install
%CYGWIN_SETUP% -q -B -N -n -d ^
-R %CYGWIN_ROOT% ^
-l %CYGWIN_CACHE% ^
-s %CYGWIN_MIRROR% ^
-C %CATEGORIES% ^
-P %PACKAGES%


根据自己的情况进行些调整,即可全自动安装Cygwin了,如想进行一些交互,或者仅以普通用户运行时遇到权限问题,应从命令参数中去掉 -q,这样可以在安装过程中进行交互和干涉。另外,如果用的是从 redhat.com 下载的安装文件,那么不需要加 -s 参数,因为 redhat.com 提供的那个安装文件默认只有一个镜像源,而且我在批处理中所用的那个镜像源也不适用于它。
为了便携化的目的,在上面的批处理中我使用了 -N -n -d 这些参数,这使得Cygwin不会自动生成菜单和快捷方式。如果不考虑便携,那么应该将这几个参数去掉

 

自动安装程序

我写了一个批处理文件 cyg-setup.bat,它可以将命令行参数传递给 Cygwin 的 setup 程序,但它会自动补上 -R, -l, -s 参数。将这个批处理及 Cygwin 的 setup 程序一起放到 Cygwin 的安装目录下,可以在CMD里这样使用它:

:: 安装软件包
cyg-setup -q -P wget,ocaml-llvm,guile

::删除软件包
cyg-setup -q -x guile,tcl-tk
下面是这个批处理的源码:

@echo off && goto main
:Info
echo cyg-setup - Cygwin setup wrapper.
echo Copyright (c) 2014 Chen Zhiqiang. Released under the MIT license.
echo Usage is same to the cygwin setup program, but it will try to resolve these options if they omited: -R, -l, -s.
echo -R, use %%CYGWIN_ROOT%%, or, use the directory path of this program.
echo -l, use %%CYGWIN_CACHE%%, or, use %%CYGWIN_ROOT%%\packages.
echo -s, use %%CYGWIN_MIRROR%%, or, pass a default mirror site to the setup.
echo And, you can use the "acl" option (%0 acl) to reset ACL.
goto :EOF

:main
set P= %*
::CYGWIN_ROOT: Cygwin will be installed to this path
if not defined CYGWIN_ROOT set CYGWIN_ROOT=%~dp0
if "%CYGWIN_ROOT:~-1%"=="\" set CYGWIN_ROOT=%CYGWIN_ROOT:~0,-1%
::CYGWIN_CACHE: Local package directory
if not defined CYGWIN_CACHE set CYGWIN_CACHE=%CYGWIN_ROOT%\packages
::CYGWIN_MIRROR: Download site
if not defined CYGWIN_MIRROR set CYGWIN_MIRROR=http://mirrors.kernel.org/sourceware/cygwin/

if /i "%1"=="info" goto Info
if /i "%1"=="acl" goto ACL

::CYGWIN_SETUP: Cygwin setup program
if defined CYGWIN_SETUP if exist %CYGWIN_SETUP% goto PRE
set CYGWIN_SETUP=
for %%i in (setup*.exe) do (
set CYGWIN_SETUP=%%~fi
)
if not defined CYGWIN_SETUP set /P CYGWIN_SETUP=Input the path of cygwin setup program:

:PRE
(echo %P% | findstr /C:" -R " >nul) || (echo %P% | findstr /C:" --root ">nul) || set P=%P% -R %CYGWIN_ROOT%
(echo %P% | findstr /C:" -l " >nul) || (echo %P% | findstr /C:" --local-package-dir " >nul) || set P=%P% -l %CYGWIN_CACHE%
(echo %P% | findstr /C:" -s " >nul) || (echo %P% | findstr /C:" --site " >nul) || set P=%P% -s %CYGWIN_MIRROR%

:Setup
%CYGWIN_SETUP% %P%
goto :EOF

:ACL
takeown /F %CYGWIN_ROOT% /A
icacls %CYGWIN_ROOT% /reset
takeown /F cygdrive /A
icacls cygdrive /reset
set CHOWN=%CYGWIN_ROOT%\bin\chown.exe
%CHOWN% Administrators:Administrators home
%CHOWN% -R Administrators:Administrators usr lib bin sbin etc var tmp dev
goto :EOF
这个脚本使用了几个变量:

CYGWIN_ROOT,Cygwin的安装目录,默认值为该脚本所在的目录;
CYGWIN_CACHE,Cygwin的软件包下载路径,默认值为 %CYGWIN_ROOT%\packages;
CYGWIN_MIRROR,Cygwin的安装镜像源,默认使用 mirrors.kernel.org。
这三个变量都可以通过设置环境变量来改变它们的位置。


 


评论


亲,登录后才可以留言!