Cygwin - Wikipedia, the free encyclopedia. Cygwin (SIG- win. Cygwin provides native integration of Windows- based applications, data, and other system resources with applications, software tools, and data of the Unix- like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context. Cygwin consists of two parts: a dynamic- link library (DLL) as an API compatibility layer providing a substantial part of the POSIX API functionality, and an extensive collection of software tools and applications that provide a Unix- like look and feel. Cygwin was originally developed by Cygnus Solutions, which was later acquired by Red Hat. It is free and open source software, released under the GNU Lesser General Public License version 3. Programmers have ported many Unix, GNU, BSD and Linux programs and packages to Cygwin, including the X Window System, K Desktop Environment 3, GNOME. Cygwin permits installing inetd, syslogd, sshd, Apache, and other daemons as standard Windows services, allowing Microsoft Windows systems to emulate Unix and Linux servers. Cygwin programs are installed by running Cygwin's . Setup can install, update, and remove programs and their source code packages. A complete installation will take in excess of 3. GB of hard disk space, but usable configurations may require as little as 1 or 2 GB. Efforts to reconcile concepts that differ between Unix and Windows systems include: A Cygwin- specific version of the Unix mount command allows mounting Windows paths as . Initial mount- points can be configured in /etc/fstab, which has a very similar format as on Unix systems, except that Windows paths appear in place of devices. Filesystems can be mounted in binary mode (by default), or in text mode, which enables automatic conversion between LF and CRLF endings (which only affects programs that open files without explicitly specifying text or binary mode). Cygwin 1. 7 introduced comprehensive support for POSIX locales and many character encodings, whereby the UTF- 8. Unicode encoding became the default. Windows file- names and other identifiers, which are encoded as UTF- 1. Windows drive letters map to a special directory, so for example C: appears as /cygdrive/c. The /cygdrive prefix can be changed. Cygwin Tips Note: This page is here for historical reasons. If you do, don't waste your time with Cygwin but install VirtualBox and Linux. Windows network paths of the form \\HOST\SHARE\FILE are mapped to //HOST/SHARE/FILE. Windows paths can also be used directly from Cygwin programs, but many programs do not support them correctly, hence this is discouraged. Full- featured /dev and /proc file- systems are provided. Cygwin 1. 5 represented them as Windows Explorershortcuts, but this has been changed for reasons of performance and POSIX correctness. Cygwin also recognises NTFS junction points and symbolic links and treats them as POSIX symbolic links, but it does not create them as their semantics are not fully POSIX- compliant. System running Ubuntu with Gnome. Follow the directions at http:// to.The Solaris API for handling access control lists (ACLs) is supported and maps to the Windows NT ACL system. Special formats of /etc/passwd and /etc/group are provided that include pointers to the Windows equivalent SIDs (in the GECOS field), allowing for mapping between Unix and Windows users and groups. The fork system call for duplicating a process is fully implemented, but it does not map well to the Windows API. For example, the copy- on- write optimization strategy could not be used. Cygwin's default user interface is the bash shell running in the Cygwin console. The DLL also implements pseudo terminal (pty) devices. Cygwin ships with a number of terminal emulators that are based on them, including mintty, rxvt(- unicode), and xterm. These are more compliant with Unix terminal standards and user interface conventions than the Cygwin console, but are less suited for running Windows console programs. Various utilities are provided for converting between Windows and Unix paths and file formats, for handling line ending (CRLF/LF) issues, for displaying the DLLs that an executable is linked with, etc. Apart from always being linked against the Cygwin DLL, Cygwin executables are normal Windows executables. This means that Cygwin programs have full access to the Windows API and other Windows libraries, which allows gradual porting of programs from one platform to the other. However, programmers need to be careful about mixing conflicting POSIX and Windows functions. The version of gcc that comes with Cygwin has various extensions for creating Windows DLLs, specifying whether a program is a windowing or console- mode program, adding resources, etc. Support for compiling programs that do not require the POSIX compatibility layer provided by the Cygwin DLL used to be included in the default gcc, but as of 2. It is used to compile Sun. Java, Open. Office. Libre. Office, and even web server software like Lighttpd and Hiawatha. He thought it would be possible to retarget GCC and produce a cross compiler generating executables that could run on Windows. This proved practical and a prototype was quickly developed. The next step was to attempt to bootstrap the compiler on a Windows system, requiring sufficient emulation of Unix to let the GNU configureshell script run. A Bourne shell- compatible command interpreter, such as bash, was needed and in turn a fork system call emulation and standard input/output. Windows includes similar functionality, so the Cygwin library just needed to provide a POSIX- compatible application programming interface (API) and properly translate calls and manage private versions of data, such as file descriptors. Initially, Cygwin was called gnuwin. Gnu. Win. 32 project). The name was changed to Cygwin. Cygnus' role in creating it. When Microsoft registered the trademark Win. Cygwin. By 1. 99. Cygwin would be a useful way to provide Cygnus' embedded tools hosted on Windows systems (the previous strategy had been to use DJGPP). It was especially attractive because it was possible to do a three- way cross- compile, for instance to use a hefty Sun workstation to build, say, a Windows- x- MIPS cross- compiler, which was faster than using the PC at the time. In 1. 99. 9, Cygnus offered Cygwin 1. Geoffrey Noer was the project lead from 1. Christopher Faylor was the project lead from 1. Corinna Vinschen became co- lead since. Additional packages are available as optional installs from within Cygwin's package manager (. These include (among many others): Shells (i. This can be used with both local and remote programs. Cygwin ships with a fairly small number of X applications, for example: In addition to the low- level Xlib/XCB libraries for developing X applications, Cygwin also ships with various higher- level and cross- platform GUI frameworks, including GTK+ and Qt. The Cygwin Ports project provides many additional packages that are not available in the Cygwin distribution itself. Examples include GNOME and K Desktop Environment 3 as well as the My. SQL database and the PHP scripting language. Alternative Windows/Unix integration tools. They implement at least a shell and a set of the most popular utilities. Most include the familiar GNU and/or Unix development tools, including make, yacc, lex and a cc command which acts a wrapper around a supported C compiler. SFU also includes the GCC compiler. Min. GW provides a native software port of the GCC to Microsoft Windows, along with a set of freely- distributable import libraries and header files for the Windows API. Min. GW allows developers to create native Microsoft Windows applications. In addition, a component of Min. GW known as MSYS (Minimal SYStem), which derives from Cygwin version 1. Unix- like shell environment including bash and a selection of POSIX tools sufficient to enable autoconf scripts to run. Some, like Virtual. Box and VMware Player run on Windows and Linux hosts and can run many other operating systems. Cooperative Linux (abbreviated co. Linux) runs a full, but modified Linux kernel like a driver under Windows, effectively making Windows and Linux two coroutines, using cooperative multitasking to switch between them. Winelib, a part of the Wine project, is the inverse of Cygwin . Unlike Cygwin, which requires.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
December 2016
Categories |