Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rprichard/wslbridge
Bridge from Cygwin to WSL pty/pipe I/O
https://github.com/rprichard/wslbridge
Last synced: about 1 month ago
JSON representation
Bridge from Cygwin to WSL pty/pipe I/O
- Host: GitHub
- URL: https://github.com/rprichard/wslbridge
- Owner: rprichard
- License: mit
- Created: 2016-08-13T08:45:47.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-09-16T16:32:40.000Z (about 4 years ago)
- Last Synced: 2024-10-15T02:51:04.135Z (about 2 months ago)
- Language: C++
- Homepage:
- Size: 166 MB
- Stars: 354
- Watchers: 24
- Forks: 19
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.txt
Awesome Lists containing this project
- stars - rprichard/wslbridge
- jimsghstars - rprichard/wslbridge - Bridge from Cygwin to WSL pty/pipe I/O (C++)
README
# wslbridge
wslbridge is a Cygwin program that allows connecting to the WSL command-line
environment over TCP sockets, as with ssh, but without the overhead of
configuring an SSH server.## Building wslbridge
You'll need a Cygwin (32 or 64 bit) environment, as well as a WSL environment
(or any other Linux environment). Make sure you have the g++ and make packages
installed.In Cygwin:
$ cd frontend
makeIn WSL/Linux:
$ cd backend
makeThe Cygwin frontend program is written to `out/wslbridge.exe`. The ELF64
backend program is written to `out/wslbridge-backend`. The files can be copied
somewhere more convenient, but they need to be on a letter drive (e.g. not a
`\\server\share\...` UNC path). They also need to be on an NTFS volume. The
frontend looks for the backend in its own directory.## Usage
Usage is similar to that of `ssh`. Run `wslbridge` with no arguments to start
a bash session in a WSL pty. Append a command-line to run that command in WSL
without a pty (i.e. using 3 pipes for stdio).`wslbridge` runs its WSL command with either a pty or using pipes. Pass `-t`
to enable pty mode or `-T` to enable pipe mode. Pass `-t -t` to force pty mode
even if stdin is not a terminal.Pass `-eVAR=VAL` to set an environment variable within WSL. Pass just `-eVAR`
to copy the value from the Cygwin environment.## wsltty (mintty/wslbridge package)
The mintty project provides [wsltty](https://github.com/mintty/wsltty), a
standalone WSL terminal package containing mintty, wslbridge, and part of
Cygwin (e.g. the runtime library).## Copyright
This project is distributed under the MIT license (see the `LICENSE` file in
the project root).By submitting a pull request for this project, you agree to license your
contribution under the MIT license to this project.