├── .gitignore ├── .travis.yml ├── Gemfile ├── LICENSE ├── Observations.md ├── Program_Details.md ├── README.md ├── _config.yml ├── _layouts └── default.html ├── _sass ├── jekyll-theme-slate.scss └── rouge-github.scss ├── assets ├── css │ └── style.scss └── images │ ├── bg_hr.png │ ├── blacktocat.png │ ├── icon_download.png │ └── sprite_download.png ├── jekyll-theme-slate.gemspec └── script ├── bootstrap ├── cibuild └── release /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | Gemfile.lock 4 | *.gem 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | cache: bundler 3 | sudo: false 4 | rvm: 2.2 5 | 6 | install: script/bootstrap 7 | script: script/cibuild 8 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gemspec 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer 6 | exclusive Copyright and Related Rights (defined below) upon the creator and 7 | subsequent owner(s) (each and all, an "owner") of an original work of 8 | authorship and/or a database (each, a "Work"). 9 | 10 | Certain owners wish to permanently relinquish those rights to a Work for the 11 | purpose of contributing to a commons of creative, cultural and scientific 12 | works ("Commons") that the public can reliably and without fear of later 13 | claims of infringement build upon, modify, incorporate in other works, reuse 14 | and redistribute as freely as possible in any form whatsoever and for any 15 | purposes, including without limitation commercial purposes. These owners may 16 | contribute to the Commons to promote the ideal of a free culture and the 17 | further production of creative, cultural and scientific works, or to gain 18 | reputation or greater distribution for their Work in part through the use and 19 | efforts of others. 20 | 21 | For these and/or other purposes and motivations, and without any expectation 22 | of additional consideration or compensation, the person associating CC0 with a 23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright 24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work 25 | and publicly distribute the Work under its terms, with knowledge of his or her 26 | Copyright and Related Rights in the Work and the meaning and intended legal 27 | effect of CC0 on those rights. 28 | 29 | 1. Copyright and Related Rights. A Work made available under CC0 may be 30 | protected by copyright and related or neighboring rights ("Copyright and 31 | Related Rights"). Copyright and Related Rights include, but are not limited 32 | to, the following: 33 | 34 | i. the right to reproduce, adapt, distribute, perform, display, communicate, 35 | and translate a Work; 36 | 37 | ii. moral rights retained by the original author(s) and/or performer(s); 38 | 39 | iii. publicity and privacy rights pertaining to a person's image or likeness 40 | depicted in a Work; 41 | 42 | iv. rights protecting against unfair competition in regards to a Work, 43 | subject to the limitations in paragraph 4(a), below; 44 | 45 | v. rights protecting the extraction, dissemination, use and reuse of data in 46 | a Work; 47 | 48 | vi. database rights (such as those arising under Directive 96/9/EC of the 49 | European Parliament and of the Council of 11 March 1996 on the legal 50 | protection of databases, and under any national implementation thereof, 51 | including any amended or successor version of such directive); and 52 | 53 | vii. other similar, equivalent or corresponding rights throughout the world 54 | based on applicable law or treaty, and any national implementations thereof. 55 | 56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of, 57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and 58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright 59 | and Related Rights and associated claims and causes of action, whether now 60 | known or unknown (including existing as well as future claims and causes of 61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum 62 | duration provided by applicable law or treaty (including future time 63 | extensions), (iii) in any current or future medium and for any number of 64 | copies, and (iv) for any purpose whatsoever, including without limitation 65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes 66 | the Waiver for the benefit of each member of the public at large and to the 67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver 68 | shall not be subject to revocation, rescission, cancellation, termination, or 69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work 70 | by the public as contemplated by Affirmer's express Statement of Purpose. 71 | 72 | 3. Public License Fallback. Should any part of the Waiver for any reason be 73 | judged legally invalid or ineffective under applicable law, then the Waiver 74 | shall be preserved to the maximum extent permitted taking into account 75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver 76 | is so judged Affirmer hereby grants to each affected person a royalty-free, 77 | non transferable, non sublicensable, non exclusive, irrevocable and 78 | unconditional license to exercise Affirmer's Copyright and Related Rights in 79 | the Work (i) in all territories worldwide, (ii) for the maximum duration 80 | provided by applicable law or treaty (including future time extensions), (iii) 81 | in any current or future medium and for any number of copies, and (iv) for any 82 | purpose whatsoever, including without limitation commercial, advertising or 83 | promotional purposes (the "License"). The License shall be deemed effective as 84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the 85 | License for any reason be judged legally invalid or ineffective under 86 | applicable law, such partial invalidity or ineffectiveness shall not 87 | invalidate the remainder of the License, and in such case Affirmer hereby 88 | affirms that he or she will not (i) exercise any of his or her remaining 89 | Copyright and Related Rights in the Work or (ii) assert any associated claims 90 | and causes of action with respect to the Work, in either case contrary to 91 | Affirmer's express Statement of Purpose. 92 | 93 | 4. Limitations and Disclaimers. 94 | 95 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 96 | surrendered, licensed or otherwise affected by this document. 97 | 98 | b. Affirmer offers the Work as-is and makes no representations or warranties 99 | of any kind concerning the Work, express, implied, statutory or otherwise, 100 | including without limitation warranties of title, merchantability, fitness 101 | for a particular purpose, non infringement, or the absence of latent or 102 | other defects, accuracy, or the present or absence of errors, whether or not 103 | discoverable, all to the greatest extent permissible under applicable law. 104 | 105 | c. Affirmer disclaims responsibility for clearing rights of other persons 106 | that may apply to the Work or any use thereof, including without limitation 107 | any person's Copyright and Related Rights in the Work. Further, Affirmer 108 | disclaims responsibility for obtaining any necessary consents, permissions 109 | or other rights required for any use of the Work. 110 | 111 | d. Affirmer understands and acknowledges that Creative Commons is not a 112 | party to this document and has no duty or obligation with respect to this 113 | CC0 or use of the Work. 114 | 115 | For more information, please see 116 | 117 | -------------------------------------------------------------------------------- /Observations.md: -------------------------------------------------------------------------------- 1 | # List of interesting things found while testing. 2 | --------------------------------------------------- 3 | Please sort issues into the three categories. Major issues are ones that break the system. Moderate are issues that 4 | are a problem and more than an inconvenience. Minor issues are more quirks that dont appear to have serious 5 | repercussions. 6 | 7 | ## Major Issues 8 | --------------- 9 | 10 | ## Moderate Issues 11 | ------------------ 12 | - Window resizing: (changing the side of the window that contains bash) 13 | - Moves focus far from cursor line 14 | - Text scrolling breaks if done 15 | 16 | ## Minor Issues 17 | --------------- 18 | - Common keyboard shortcuts like `Ctrl+C` and `Ctrl+V` do not work 19 | directly on bash window. You can access command like copy & paste by 20 | right-clicking on the title bar > edit > choose command. It is also 21 | possible to use `Enter` for copy and right mouse button for paste. 22 | -------------------------------------------------------------------------------- /Program_Details.md: -------------------------------------------------------------------------------- 1 | # Program Details 2 | ------------------ 3 | This file is to document behaviour of programs. The main README will serve as a quick note and give key points 4 | whereas this file will contain more in-depth details. 5 | Please place a `+` in the program name if there are more details than the notes 6 | 7 | Program | What works | What doesnt 8 | --------|------------|------------ 9 | bash | Normal shell works fine | Scripting has problems. When hitting backspace during a `read` command the key comes up as a ^(box with questionmark inside). This seems to be the response for any unknown unicode character. Scripting gives unusual in that running `sh script` treats echo differently than `chmod +x script; ./script`. Escape characters and variables do not properly work in the latter. 10 | emacs | Emacs 24 as distributed with Ubuntu will hang when connecting to an X11 server, as previously noted. However, Emacs can be built from the FSF Git repo under WSL, and will work with X11. Tested was the "emacs-25" branch, built with the following configure arguments: "./configure --prefix=/usr/local --program-suffix=-25 --enable-locallisppath=/usr/share/emacs:/usr/share/emacs24 --with-sound=yes --with-gnutls --with-x -with-cairo=no --with-x-toolkit=gtk2 --with-wide-int --with-m17n-flt --with-file-notification=yes". Note that many development libraries need to be installed. Try "apt-get build-dep emacs24" to get most of them. | A build with the Gtk3 toolkit built and connected to X11, however the window failed to resize properly. With Gtk2, everything seems to work so far with the exception of clipboard sharing with Windows 10. This may be an issue with the X server. 11 | nginx | everything but IPv6 binding | IPv6: you need to remove it from your config. Default configuration: you need to add `master_process off;` to `/etc/nginx/nginx.conf` 12 | pip | nothing | Does not fully install **DO NOT** install with `--fix-missing`. This will create errors when upgrading through apt. The apt error reports back problems with `udev`, `systemd-services`, `libpam-systemd:amd64`, and `initramfs-tools` 13 | +sshuttle | normal ssh works fine | It won't pass traffic properly and [there is a problem](https://github.com/Microsoft/WSL/issues/767) with accessing `iptables`. This is tested on Windows 10 Home, ver 1607, Build 14393 14 | vim | Most functionality exists. Registers, panes, and buffers work as expected under current testing. Can create new linux files. Plugins are working | Problems with colorshemes and fonts 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WSL-Programs 2 | 3 | [![Join the chat at https://gitter.im/ethanhs/WSL-Programs](https://img.shields.io/gitter/room/ethanhs/WSL-Programs.svg?style=flat-square)](https://gitter.im/ethanhs/WSL-Programs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | [![GitHub contributors](https://img.shields.io/github/contributors/ethanhs/WSL-Programs.svg?style=flat-square)](https://github.com/ethanhs/WSL-Programs/graphs/contributors) | [![CC0 license](https://img.shields.io/badge/license-CC0-blue.svg?style=flat-square)](https://github.com/ethanhs/WSL-Programs/blob/master/LICENSE) 4 | 5 | If you'd like to chat about the Windows Subsystem for Linux (or have a question) please use the gitter chat linked above. If you are looking for guidance on getting started with Bash on Ubuntu on Windows, check [the Ubuntu Repo](https://github.com/abergs/ubuntuonwindows). 6 | 7 | ## About 8 | 9 | A community powered list of programs that work (and those that don't) on the Windows subsystem for Linux. The official Microsoft repository for filing bugs, etc., is located at [Microsoft's BashOnWindows repo](https://github.com/Microsoft/BashOnWindows). This repo complements the offical one by providing a quick reference for how well programs run. 10 | 11 | Please feel free to contribute programs you have tested to the table below. If you need help with the markdown, please review [this markdown primer from gamejolt](https://help.gamejolt.com/markdown). 12 | 13 | To contribute, please make a Pull Request; I will merge if it looks good! If you have never made a pull request, it is fast and easy. Please check out the [Github documentation](https://help.github.com/articles/using-pull-requests/). 14 | 15 | Then add your program below! 16 | 17 | If you need to add more details about a program, add a `+` symbol to its name and add it to the [Program_Details.md](Program_Details.md) file. 18 | 19 | ## Important Note 20 | Because this list is community powered, the maintainer does not hold any responsibility for the accuracy of the contents of this repository. Your mileage _may_ vary. 21 | 22 | 23 | # The list: 24 | 25 | Program Name | apt name | Functionality rating (0-5) | website | Notes | Windows Build # 26 | ------------- | --------------------------------------- | -------------------------- | --------------------- | -------|---------- 27 | ADB | | 2 | [developer.android.com](https://developer.android.com/studio/command-line/adb.html) | Installs; see [this image](https://cloud.githubusercontent.com/assets/7135398/17540401/6b94e568-5ee8-11e6-8523-b3efa1e4edd8.png) for example, requires adb on Windows too. 28 | Anaconda || 4 | [Continuum.io](https://www.continuum.io/downloads) | Simple commands work after getting listed WSL build, symlinks issue has been fixed | 14393 29 | Apache server | apache2 | 2 | [httpd.apache.org](https://httpd.apache.org/) | Must use a loopback for networking, buggy 30 | Apache SINGA | | 4 | [singa.apache.org](https://singa.apache.org/) | Only CPU version is supported. 31 | apt | | 5 | [wiki.debian.org/Apt](https://wiki.debian.org/Apt) | Works fine | 16299.19 32 | apt-fast | | 3 | [ilikenwf/apt-fast](https://github.com/ilikenwf/apt-fast) | Simple commands work. Needs more testing | 15063.138 33 | archey | | 3 | [djmelik/archey](https://github.com/djmelik/archey)| Works for the most part, but displays disk usage incorrectly | 15063.138 34 | aria2c | aria2 | 3 | [aria2.github.com](https://aria2.github.io/) | Does not resolve domains, must use IP addresses. Possibly c-ares related | 14901.1000 35 | arp | arp | 0 | | /proc/net/arp: No such file or directory 36 | arp-scan | arp-scan | 0 | https://github.com/royhills/arp-scan | link_open: Address family not supported by protocol 37 | AWeather | aweather | 0 | http://pileus.org/aweather/ | Crashes on launch due to OpenGL error. | 17764.55 38 | bash+ | | 3 | [gnu.org/software/bash](https://www.gnu.org/software/bash/) | Most functionality exists but there are problems with scripts 39 | blackfire | blackfire-agent | 5 | [blackfire.io](https://blackfire.io/) | | 16299.15 40 | boost | | 5 | [boost](https://http://www.boost.org) | | 16299.125 41 | byobu | | 3 | [byobu.co](http://byobu.co/) | Need to toggle the byobu charmap (run `/usr/lib/byobu/include/toggle-utf8` or `export BYOBU_CHARMAP=x ; . ~/.bashrc`). Status bar occasionally disappears. | 14901.1000 42 | c-ares | libc-ares2 | 0 | [c-ares/c-ares](https://github.com/c-ares/c-ares) | Does not resolve domains to ip addresses. | 14901.1000 43 | cargo | | 4 | [rust-lang/cargo](https://github.com/rust-lang/cargo) | Correctly recognizes and downloads dependencies on basic projects. Needs testing with larger projects. | 14393.67 44 | curl | | 4 | [curl/curl](https://github.com/curl/curl) | curl -sS tested 45 | chromium-bsu | | 0 | [chromium-bsu.sourceforge.net](http://chromium-bsu.sourceforge.net/) | Completely Fails to Launch 46 | composer | | 5 | [getcomposer.org](https://getcomposer.org/) | doesn't seem to have issues, but could use more test. 47 | cmake | | 4 | [cmake.org](https://cmake.org/) | Seems to work perfectly, though more testing needed. 48 | Coq | | 4 | [coq.inria.fr](https://coq.inria.fr/) | Installed without issue, needs more testing. | 14393 49 | docker | | 3 | [docker.com](https://www.docker.com/) | Using Docker for Windows it's possible to get the client working in WSL using the instructions [here](https://raesene.github.io/blog/2018/03/29/WSL-And-Docker/) 50 | Electron (and any apps based on it) | | 3 | [electron.atom.io](https://electron.atom.io/) | Some apps will install, but not run. Some will not install at all. Any app that uses Chrome 53 or later as it's backend **should** in theory work, no promises | 16275 51 | eclipse | | 4 | http://eclipse.org | occasional crashes handled internally | 17134.68 52 | emacs | | 5 | [gnu.org/software/emacs](https://www.gnu.org/software/emacs/) | with latest WSL and Ubuntu Xenial works great in terminal mode and over X. | 16251 53 | fakeroot | fakeroot | 3 | | works if configured to communicate over TCP | 15063 54 | firefox |firefox| 5 | [mozilla.org/firefox](http://mozilla.com/firefox) | Runs, without reporting any errors whatsoever, unless you bump into the negative monotonic clock problem that causes all gthread-based applications to crash. | 15063 55 | fish | | 5 | [fish.sh](https://fish.sh/) | works fine 56 | fortune | | 5 | [wikipedia - Fortune](https://en.wikipedia.org/wiki/Fortune_(Unix)) | works fine 57 | fsharp | | 4 | [fsharp.org](http://fsharp.org/) | Installed without issue, needs more testing. To use fsi (F# Interactive) `fsharpi` | 14393 58 | gazebo | | 3 | [gazebosim.org](http://gazebosim.org/) | Very laggy tested. Requries X11 server like VcXsrv and setting a few environment variables 59 | gcc | build-essential | 4 | [gcc.gnu.org](https://gcc.gnu.org/) | Runs as expected, more testing needed | 16299.19 60 | gedit | gedit | 5 | [wiki.gnome.org/Apps/Gedit](https://wiki.gnome.org/Apps/Gedit) | Works just fine after X Server configuration. Will throw some Dbus errors, but doesn't seem to affect performance. Can read and write files to Linux and Windows | 16275 61 | ghc | ghc | 4 | [Haskell on Bash](https://blogs.msdn.microsoft.com/commandline/2017/02/09/haskell-on-bashwsl/) [haskell.org/ghc](https://www.haskell.org/ghc/) | Needs more tests | 15031 62 | gimp | gimp | 5 | [gimp](https//gimp.org) | Seems to work just fine. Can read and write files to both Linux and Windows. Xming freezes, VcXsrv works fine | 16275 63 | git | | 4 | [git-scm.com](https://git-scm.com/) | requires more testing, Basics work (clone, pull, push, fetch commit). Diff has some errors | 16299.19 64 | gnokii | gnokii | 0 | | useless without USB | 17134.68 65 | GNOME Web | epiphany-browser | 4 | [How-to](http://browsingthenet.blogspot.com/2016/11/how-to-run-epiphany-web-browser-in.html) | Works fine but the video is choppy | 14393 66 | GNUStep Terminal | gnustep-terminal | 3 | | displays bold as tiny | 17134.68 67 | gphoto2 | gphoto2 | 0 | | useless without USB | 17134.68 68 | gnuplot | gnuplot | 5 | [gnuplot](http://www.gnuplot.info/) | Fitting data and plotting/displaying graphs of functions working fine. The qt terminal throws the following error the first time it plots: `QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-' Warning: slow font initializationgnuplot> qt_processTermEvent received a GE_fontprops event. This should not have happened`, but works fine. Requires a x11 server to display plots. | 17134.228 69 | golang | golang-go | 3 | [Golang](https://golang.org/dl/) | golang-go gets 1.6 which is not the latest version. Needs more testing | 15031 (Xenial) 70 | gparted | | 4 | [gparted.org](https://gparted.org/) | Window opens and can be interacted with, but it can't find any devices. 71 | The GNU Privacy Guard | gpg | 4 | [gnupg.org](https://gnupg.org/) | See [#130](https://github.com/ethanhs/WSL-Programs/issues/130) | 17763.503 72 | grep | | 4 | [wikipedia - grep](https://en.wikipedia.org/wiki/Grep) | __WARNING: PASSWORD MAY BE SHOWN IN PLAINTEXT__;requires more testing see [this issue](https://github.com/Microsoft/BashOnWindows/issues/450) for more. 73 | GSpdf | gnustep-gspdf | 5 | | | 17134.68 74 | GWorkspace | gnustep-gworkspace | 3 | | problems with fonts and icons, manageable | 17134.68 75 | haxe | | 5 | [Haxe Foundation PPA](http://haxe.org/download/linux) | Compiles programs correctly, haxelib works fine too 76 | heroku | | 5 | [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli) | Installs and works as expected, tested app listing, logs, setting config 77 | hpx | | 5 | [ste||ar-hpx](https://stellar-group.org) | Installs and works as expected | 16299.125 78 | htop | | 5 | [hisham.hm/htop](http://hisham.hm/htop/) | Works as expected, though only lists processes running under WSL, not under Windows. CPU and Memory usage stats are accurate. | 16299.19 79 | i3 | | 4 | [i3wm.org](http://i3wm.org/) | Works fine under VcXsrv Server 1.19.2.0 without `-multiwindow` command line option. Added `export DISPLAY=:0` to `.bashrc` | 15063.138 80 | ifconfig | | 4 | [wikipedia - ifconfig](https://en.wikipedia.org/wiki/Ifconfig) | Seems to work fine | 15063.138 81 | ip | | 4 | [man ip](http://man7.org/linux/man-pages/man8/ip.8.html) | Seems to work fine | 15063.138 82 | ircii | | 5 | [eterna.com.au/ircii](http://www.eterna.com.au/ircii/) | Seems to work Flawlessly 83 | irssi | | 5 | [irssi.org](https://irssi.org/) | Seems to work flawlessly 84 | iwconfig | | 0 | [wiki.debian.org/iwconfig](https://wiki.debian.org/iwconfig) | Unable to Access Network Interfaces (Should be localhost for all connections) 85 | java 8 | | 2 | [oracle.com/java](http://oracle.com/java/) | Runs at minimum, seems to have some functionality at least 86 | java 7 | | 2 | [oracle.com/java](http://oracle.com/java/) | Seems to work well, if laggy. 87 | Jupyter Notebook | | 5 | [jupyter.org](http://jupyter.org/) | Seems to work well. Requires a browser such as FireFox. 88 | k3b | k3b | 1 | | limited use without hardware access | 17134.68 89 | kakoune | | 5 | [kakoune.org](http://kakoune.org) | Works great, needs to be built from source 90 | kio_camera | kio-extras5 | 0 | | useless without USB | 17134.68 91 | krita | krita | 0 | [krita.org](https://krita.org/en/) | Cannot connect to X server (tested with Xming). Further testing required. 92 | ltrace | ltrace | 5 | | Seems to work Flawlessly 93 | lua | lua5.2 | 3 | [Lua](http://www.lua.org/start.html) | Just tested with interpreter. Needs more tests | 15031 (Xenial) 94 | lynx | | 5 | [lynx.invisible-island.net](http://lynx.invisible-island.net/) | seems to work entirely 95 | mount | | 2 | [man mount](http://man7.org/linux/man-pages/man8/mount.8.html) | unable to mount iso/cd-rom files 96 | Maude | | 4 | [maude.cs.uiuc.edu](http://maude.cs.uiuc.edu/) | Installed without issue, needs more testing 97 | make | | 3 | [gnu.org/software/make](https://www.gnu.org/software/make/) | basic scripts working, needs more extensive testing. Tabbing for commands gets broken pipe 98 | Meteor | | 5 | [meteor.com](https://meteor.com) | Seems to work just fine. Can build and serve apps, create apps, and reads and writes to Windows and Linux | 16275 99 | Metasploit | | 4 | [metasploit.com](https://metasploit.com) | Seems to work as expected. 100 | MLton | | 0 | [mlton.org](http://mlton.org/) | BSOD | 14393 101 | Mongo Client | | 4 | [docs.mongodb.com](https://docs.mongodb.com/getting-started/shell/client/) | Works well connecting to mongod windows service 102 | Mono | mono-complete | 4 | [mono-project.com](http://www.mono-project.com/) | Supported ([more info](https://github.com/mono/website/issues/199)). Instructions added to official documentation. Use 4.2 for now or 4.6 when released (4.4 [has issues](https://bugzilla.xamarin.com/show_bug.cgi?id=42169))| 103 | Minecraft | | 0 | [mincraft.net](https://minecraft.net) | Crashes during boot with an error from OpenAL - [Known Issue](https://github.com/Microsoft/BashOnWindows/issues/1006) 104 | Minecraft Launcher | | 3 | [minecraft.net](https://minecraft.net) | Seems to work correctly, but is incredibly laggy. 105 | mysql | | 4 | [mysql.com](https://www.mysql.com/) | Seems to work flawlessly | 15063.138 106 | mtr | | 0 | [wikipedia - mtr](https://en.wikipedia.org/wiki/MTR_(software)) | doesn't run 107 | nano | | 4 | [nano-editor.org](https://www.nano-editor.org/) | Functions and displays correctly | 16299.19 108 | nasm | | 4 | [nasm.us](http://www.nasm.us/) | more testing needed 109 | netcat | netcat-openbsd | 5 | | works as expected | 17134.68 110 | nethack | | 4 | [nethack.org](https://www.nethack.org/) | Need to run it from the /usr/games directory with "./nethack" and the default config it runs has numpad turned off so you have to use the unintuitive: y k u h l b j n 111 | nginx+ | | 4 | [ngix.com](https://www.nginx.com/) | Can't bind to IPv6 | 15063.138 112 | nmap | | 0 | [nmap.org](https://nmap.org/) | AF_Netsock options not implemented [#1349](https://github.com/Microsoft/BashOnWindows/issues/1349) 113 | [node.js](https://nodejs.org/en/) | nodejs | 4 | [nodejs.org](https://nodejs.org/en/) | Seems to work fine. Runs the React VR hello world project perfectly. | 15063.138 114 | nuget | | 3 | [nuget.org](https://www.nuget.org/) | requires more testing 115 | npm | | 4 | [npmjs.com](https://www.npmjs.com/) | some packages fail due to permissions - Default version is VERY old. 116 | nvm | | 5 | [nvm](https://github.com/creationix/nvm) | Script to install newer versions of NPM and NodeJS. 117 | OCaml | | 4 | [ocaml.org](https://ocaml.org/) | Works fine with Core, needs more testing. | 15063.540 118 | octave | | 3 | [GNU Octave](https://www.gnu.org/software/octave/) | GUI opens with X11, command line calculations are fine, plotting has libgl errors 119 | [OpenCoarrays] | | 4 | [opencoarrays.org] | Installed from source but needs more testing. See [the OpenCoarrays install instructions] for more details | 120 | OpenFOAM | openfoam5 | 5 | [openfoam.org](https://openfoam.org/download/windows-10/) | Works well and comes with Paraview, which has working X11 GUI | 121 | OpenRCT2 | | 0 | [openrtc2.org](https://openrct2.org/) | Fails with errors to do with Sharing Memory with X, Possibly due to VcXsrv. 122 | osc | osc | 5 | | no problems | 17134.68 123 | ping | | 5 | [man ping](http://man7.org/linux/man-pages/man8/ping.8.html) | Works fine 124 | pip+ | | 0 | [pip.pypa.io](https://pip.pypa.io/en/stable/) | **DO NOT INSTALL** with `--fix-missing`. Breaks `apt`. See documentation 125 | php5-cli | | 4 | [php.net/manual](http://php.net/manual/en/features.commandline.php) | Working, needs more testing 126 | php7.0| | 4 | [php.net](http://php.net/) | Installed without issue, needs more testing 127 | postgresql | | 0 | | crashes on start-up after trying to read something from /proc | 14366 128 | python | | 5 | [python.org](https://www.python.org/) | Works even for very difficult and memory intensive workloads such as compiling PyPy | 14366 129 | pypy | | 5 | [pypy.org](https://pypy.org/) | Works even when translating itself | 14366 130 | qpidd | | 0 | [man qpidd](https://linux.die.net/man/1/qpidd) | Starting the daemon fails with a socket error: "critical Unexpected error: Can't bind to port 0.0.0.0:5672: Invalid argument (qpid/sys/posix/Socket.cpp:206)" 131 | qtorrent | qtorrent | 0 | | unable to configure UPnP, may work if not behind NAT | 14366 132 | R | r-base | 4 | [r-project.org](https://www.r-project.org/) | devtools, doParallel and foreach works. May be numerically a little different from other system. More tests needed. | 14393 133 | rbenv | | 4 | [rbenv/rbenv](https://github.com/rbenv/rbenv) | works for the most part, but permissions of folders are wrong after installing (world writable), spawning warnings when running e.g. Rubygems | 14366 134 | reboot | | 0 | [man reboot](http://man7.org/linux/man-pages/man2/reboot.2.html) | Unable to shutdown system. 135 | redis | | 4 | [Redis](https://redis.io/download) | Able to start server and interact with built-client. Did part of tutorial and worked great. | 15031 (Xenial) 136 | rmw | | 5 | [rmw](https://remove-to-waste.info/) | Remove to waste. Safely remove files to a trash folder from the cli. 137 | rsync | | 4 | [rsync.samba.org](https://rsync.samba.org/) | works with ssh tunneling and with same file system. Needs more testing 138 | ruby | | 4 | [ruby-lang.org](https://www.ruby-lang.org/) | works for Sinatra and Rails development using C extension gems for the most part, but `rails new testapp` works with `WeBrick` (the default), but hangs with `thin` | 14986 139 | rustc | | 4 | [rust-lang.org](https://www.rust-lang.org/downloads.html) | Can compile basic programs. Needs testing with more complex programs | 14393.67 140 | Sage Math | | 4 | [http://www.sagemath.org/](http://www.sagemath.org/) | Able to do a good portion of the Sage Math tutorial. There is a RunTime warning but does not stop Sage from working | 15031 141 | scp | | 5 | [man scp](http://man7.org/linux/man-pages/man1/scp.1.html) | works for both remote to local and local to remote transfers. 142 | screen | | 4 | [gnu.org/software/screen](https://www.gnu.org/software/screen/) | Already installed. [Simple fix needed.](https://www.systutorials.com/qa/1639/screen-reporting-cannot-directory-screen-permission-denied?show=1640#a1640) | 15063 (Xenial) 143 | seamonkey | | 4 | | see firefox | 17134.68 144 | sed | | 4 | [gnu.org/software/sed](https://www.gnu.org/software/sed/) | didn't test all options, but everything I tested worked fine. 145 | singularity | | 0 | [singularity](https://singularity.lbl.gov) | doesn't run / can not make mountspace 146 | SMLNJ | | 0 | [smlnj.org](http://www.smlnj.org/) | Installed. Will not start correctly. | 14393 147 | SNMP Tools | snmp | 5 | [www.net-snmp.org](http://www.net-snmp.org) | Seems to work fine | 15063.138 148 | sqlite | | 4 | [sqlite.org](https://www.sqlite.org/) | [File locking is broken](https://github.com/Microsoft/BashOnWindows/issues/2395), which can lead to database corruption 149 | ssh | | 5 | [wikipedia - ssh](https://en.wikipedia.org/wiki/Secure_Shell) | ssh works as expected 150 | ssh-keygen | ssh | 4 | [man ssh-keygen](http://man7.org/linux/man-pages/man1/ssh-keygen.1.html) | -t rsa working 151 | strace | strace | 5 | | Seems to work Flawlessly 152 | sudo | | 5 | [wikipedia - sudo](https://en.wikipedia.org/wiki/Sudo) | appears to be working as expected | 16299.19 153 | SWI-Prolog | | 4 | [swi-prolog.org](http://www.swi-prolog.org/) | Installed without issue, needs more testing. See: [(Installing from PPA (Ubuntu Personal Package Archive))](http://www.swi-prolog.org/build/PPA.txt) | 14393 154 | swift | | 3 | [developer.apple.com/swift](https://developer.apple.com/swift/) | Everything except interactive shell works 155 | systemd | | 0 | useless, invoke rc scripts instead | | 17134.68 156 | tail | | 3 | [man tail](http://man7.org/linux/man-pages/man1/tail.1.html) | Will tail files, but 'follow' (-f) reports "tail: unrecognized file system type 0x53464846" 157 | tea | | 4 | http://semiletov.org | desktop icon missing | 17134.68 158 | tcc | | 3 | [bellard.org/tcc](https://bellard.org/tcc/) | tcc run and scripted "#!/usr/bin/tcc -run" files work correctly 159 | telnet | | 4 | [wikipedia - telnet](https://en.wikipedia.org/wiki/Telnet) | Further testing required 160 | tensorflow | | 4 | [tensorflow/tensorflow](https://github.com/tensorflow/tensorflow) | See [Scott Hanselman's post](http://www.hanselman.com/blog/PlayingWithTensorFlowOnWindows.aspx) 161 | terminator | | 4 | | Multi-terminal emulator. Tested using VcXsvr. | 16299.551 162 | tesseract-ocr | | 4 | [tesseract-ocr/tesseract](https://github.com/tesseract-ocr/tesseract) | No problems with command line usage 163 | texlive | | 5 | [tug.org/texlive](https://www.tug.org/texlive/) | No problems so far | 14366 164 | tmux | | 4 | [tmux/tmux](https://github.com/tmux/tmux) | Works well for the most part, mouse mode doesn't seem to work | 14366 165 | torproject | tor | 5 | [torproject.org](https://www.torproject.org/) | Tor is a free software that prevents people from learning your location or browsing habits by letting you communicate anonymously on the Internet. | 14393 166 | ufw | | 0 | [help.ubuntu.com/community/UFW](https://help.ubuntu.com/community/UFW) | Fails with an error about iptables | 15063.138 167 | upx | | 1 | [https://upx.github.io/](https://upx.github.io/) | Can't run upx within WSL, but can run ELF binaries compressed with upx, see https://github.com/upx/upx/issues/201 | 18362.113 168 | useradd | | 4 | [man useradd](http://man7.org/linux/man-pages/man8/useradd.8.html) | Users can be added but /etc/skel profile logout and bashrc files but no default directories 169 | usermod | | 5 | [man usermod](http://man7.org/linux/man-pages/man8/usermod.8.html) | Seems to work correctly 170 | vim+ | | 3 | [vim/vim](https://github.com/vim/vim) | Will open and edit Window files it cannot create new files. Can create new linux files. Issues with colorschemes. Plugins don't work. Panes, buffers, and registers appear to be working correctly. 171 | Visual Studio Code | code && code-insider | 5 | [Visual Studio Code](https://code.visualstudio.com) | Will install, but does not launch due to issues relating to Google Chrome with WSL. See: [#758](https://github.com/Microsoft/BashOnWindows/issues/758) Update: [#2760](https://github.com/microsoft/WSL/issues/2760). Redundant, due to the release of VSCode Remote Development (https://code.visualstudio.com/docs/remote/remote-overview) | 16275 172 | vncserver | | 4 | | no sound (did not try too hard) | 17134.68 173 | vsftpd | | 3 | ? | Not installed with apt 174 | wget | | 3 | | Simple commands work. Have only run basic commands 175 | wireshark | | 5 | [wireshark](https://www.wireshark.org) | Works just as expected 176 | WindowMaker | | 5 | | default window manager for Xrdp | 17134.68 177 | xfce4-terminal | | 5 | | Seems to work Perfectly | 15063 178 | startxfce4 (and all subsequent programs) | | 5 | | Everything seems to work, I didn't find anything wrong with it. | 15063 179 | xorg | | 4 | | As Xrdp or Xvnc | 17134.68 180 | xrdp | xrdp | 3 | | due to failing systemd, sesman must be started by hand; the default init script does not work | | 17134.68 181 | xterm | xterm | 4 | | insufficiently tested | | 17134.68 182 | yarn | | 3 | [yarnpkg.com](https://yarnpkg.com/lang/en/) | Works mostly fine. Sometimes really slow due to Windows Defender (whitelisting helps). Global package installations are not always working properly. [wsl performance problems](https://github.com/Microsoft/WSL/issues/1932) [yarn issue](https://github.com/yarnpkg/yarn/issues/990) 183 | YaST | yast2 | 4 | | No icons, otherwise OK | 17134.68 184 | yum | | 0 | | doesn't work at all. will segfault on `yum`, hangs indefinitely with `yum install` 185 | youtube-dl | | 5 | | Works Perfectly 186 | Zipper | gnustep-zipper | 5 | | | 17134.68 187 | zsh | | 4 | | Simple commands work after getting listed WSL build, also checked oh-my-zsh | 14393 188 | 189 | [the OpenCoarrays install instructions]: https://github.com/sourceryinstitute/opencoarrays/blob/master/INSTALL.md#windows 190 | [OpenCoarrays]: https://github.com/sourceryinstitute/opencoarrays 191 | [opencoarrays.org]: http://opencoarrays.org 192 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: WSL Programs 2 | description: A community powered list of programs that work (and those that don't) on the Windows subsystem for Linux 3 | show_downloads: false 4 | google_analytics: 5 | theme: 6 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | {{ site.title | default: site.github.repository_name }} 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | View on GitHub 21 | 22 |

{{ site.title | default: site.github.repository_name }}

23 |

{{ site.description | default: site.github.project_tagline }}

24 | 25 | {% if site.show_downloads %} 26 |
27 | Download this project as a .zip file 28 | Download this project as a tar.gz file 29 |
30 | {% endif %} 31 |
32 |
33 | 34 | 35 |
36 |
37 | {{ content }} 38 |
39 |
40 | 41 | 42 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /_sass/jekyll-theme-slate.scss: -------------------------------------------------------------------------------- 1 | @import "rouge-github"; 2 | 3 | /******************************************************************************* 4 | MeyerWeb Reset 5 | *******************************************************************************/ 6 | 7 | html, body, div, span, applet, object, iframe, 8 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 9 | a, abbr, acronym, address, big, cite, code, 10 | del, dfn, em, img, ins, kbd, q, s, samp, 11 | small, strike, strong, sub, sup, tt, var, 12 | b, u, i, center, 13 | dl, dt, dd, ol, ul, li, 14 | fieldset, form, label, legend, 15 | table, caption, tbody, tfoot, thead, tr, th, td, 16 | article, aside, canvas, details, embed, 17 | figure, figcaption, footer, header, hgroup, 18 | menu, nav, output, ruby, section, summary, 19 | time, mark, audio, video { 20 | margin: 0; 21 | padding: 0; 22 | border: 0; 23 | font: inherit; 24 | vertical-align: baseline; 25 | } 26 | 27 | /* HTML5 display-role reset for older browsers */ 28 | article, aside, details, figcaption, figure, 29 | footer, header, hgroup, menu, nav, section { 30 | display: block; 31 | } 32 | 33 | ol, ul { 34 | list-style: none; 35 | } 36 | 37 | table { 38 | border-collapse: collapse; 39 | border-spacing: 0; 40 | } 41 | 42 | /******************************************************************************* 43 | Theme Styles 44 | *******************************************************************************/ 45 | 46 | body { 47 | box-sizing: border-box; 48 | color:#373737; 49 | background: #212121; 50 | font-size: 16px; 51 | font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; 52 | line-height: 1.5; 53 | -webkit-font-smoothing: antialiased; 54 | } 55 | 56 | h1, h2, h3, h4, h5, h6 { 57 | margin: 10px 0; 58 | font-weight: 700; 59 | color:#222222; 60 | font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; 61 | letter-spacing: -1px; 62 | } 63 | 64 | h1 { 65 | font-size: 36px; 66 | font-weight: 700; 67 | } 68 | 69 | h2 { 70 | padding-bottom: 10px; 71 | font-size: 32px; 72 | background: url('../images/bg_hr.png') repeat-x bottom; 73 | } 74 | 75 | h3 { 76 | font-size: 24px; 77 | } 78 | 79 | h4 { 80 | font-size: 21px; 81 | } 82 | 83 | h5 { 84 | font-size: 18px; 85 | } 86 | 87 | h6 { 88 | font-size: 16px; 89 | } 90 | 91 | p { 92 | margin: 10px 0 15px 0; 93 | } 94 | 95 | footer p { 96 | color: #f2f2f2; 97 | } 98 | 99 | a { 100 | text-decoration: none; 101 | color: #007edf; 102 | text-shadow: none; 103 | 104 | transition: color 0.5s ease; 105 | transition: text-shadow 0.5s ease; 106 | -webkit-transition: color 0.5s ease; 107 | -webkit-transition: text-shadow 0.5s ease; 108 | -moz-transition: color 0.5s ease; 109 | -moz-transition: text-shadow 0.5s ease; 110 | -o-transition: color 0.5s ease; 111 | -o-transition: text-shadow 0.5s ease; 112 | -ms-transition: color 0.5s ease; 113 | -ms-transition: text-shadow 0.5s ease; 114 | } 115 | 116 | a:hover, a:focus {text-decoration: underline;} 117 | 118 | footer a { 119 | color: #F2F2F2; 120 | text-decoration: underline; 121 | } 122 | 123 | em { 124 | font-style: italic; 125 | } 126 | 127 | strong { 128 | font-weight: bold; 129 | } 130 | 131 | img { 132 | position: relative; 133 | margin: 0 auto; 134 | max-width: 739px; 135 | padding: 5px; 136 | margin: 10px 0 10px 0; 137 | border: 1px solid #ebebeb; 138 | 139 | box-shadow: 0 0 5px #ebebeb; 140 | -webkit-box-shadow: 0 0 5px #ebebeb; 141 | -moz-box-shadow: 0 0 5px #ebebeb; 142 | -o-box-shadow: 0 0 5px #ebebeb; 143 | -ms-box-shadow: 0 0 5px #ebebeb; 144 | } 145 | 146 | p img { 147 | display: inline; 148 | margin: 0; 149 | padding: 0; 150 | vertical-align: middle; 151 | text-align: center; 152 | border: none; 153 | } 154 | 155 | pre, code { 156 | width: 100%; 157 | color: #222; 158 | background-color: #fff; 159 | 160 | font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; 161 | font-size: 14px; 162 | 163 | border-radius: 2px; 164 | -moz-border-radius: 2px; 165 | -webkit-border-radius: 2px; 166 | } 167 | 168 | pre { 169 | width: 100%; 170 | padding: 10px; 171 | box-shadow: 0 0 10px rgba(0,0,0,.1); 172 | overflow: auto; 173 | } 174 | 175 | code { 176 | padding: 3px; 177 | margin: 0 3px; 178 | box-shadow: 0 0 10px rgba(0,0,0,.1); 179 | } 180 | 181 | pre code { 182 | display: block; 183 | box-shadow: none; 184 | } 185 | 186 | blockquote { 187 | color: #666; 188 | margin-bottom: 20px; 189 | padding: 0 0 0 20px; 190 | border-left: 3px solid #bbb; 191 | } 192 | 193 | 194 | ul, ol, dl { 195 | margin-bottom: 15px 196 | } 197 | 198 | ul { 199 | list-style-position: inside; 200 | list-style: disc; 201 | padding-left: 20px; 202 | } 203 | 204 | ol { 205 | list-style-position: inside; 206 | list-style: decimal; 207 | padding-left: 20px; 208 | } 209 | 210 | dl dt { 211 | font-weight: bold; 212 | } 213 | 214 | dl dd { 215 | padding-left: 20px; 216 | font-style: italic; 217 | } 218 | 219 | dl p { 220 | padding-left: 20px; 221 | font-style: italic; 222 | } 223 | 224 | hr { 225 | height: 1px; 226 | margin-bottom: 5px; 227 | border: none; 228 | background: url('../images/bg_hr.png') repeat-x center; 229 | } 230 | 231 | table { 232 | border: 1px solid #373737; 233 | margin-bottom: 20px; 234 | text-align: left; 235 | } 236 | 237 | th { 238 | font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; 239 | padding: 10px; 240 | background: #373737; 241 | color: #fff; 242 | } 243 | 244 | td { 245 | padding: 10px; 246 | border: 1px solid #373737; 247 | } 248 | 249 | form { 250 | background: #f2f2f2; 251 | padding: 20px; 252 | } 253 | 254 | /******************************************************************************* 255 | Full-Width Styles 256 | *******************************************************************************/ 257 | 258 | .outer { 259 | width: 100%; 260 | } 261 | 262 | .inner { 263 | position: relative; 264 | max-width: 640px; 265 | padding: 20px 10px; 266 | margin: 0 auto; 267 | } 268 | 269 | #forkme_banner { 270 | display: block; 271 | position: absolute; 272 | top:0; 273 | right: 10px; 274 | z-index: 10; 275 | padding: 10px 50px 10px 10px; 276 | color: #fff; 277 | background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; 278 | font-weight: 700; 279 | box-shadow: 0 0 10px rgba(0,0,0,.5); 280 | border-bottom-left-radius: 2px; 281 | border-bottom-right-radius: 2px; 282 | } 283 | 284 | #header_wrap { 285 | background: #212121; 286 | background: -moz-linear-gradient(top, #373737, #212121); 287 | background: -webkit-linear-gradient(top, #373737, #212121); 288 | background: -ms-linear-gradient(top, #373737, #212121); 289 | background: -o-linear-gradient(top, #373737, #212121); 290 | background: linear-gradient(top, #373737, #212121); 291 | } 292 | 293 | #header_wrap .inner { 294 | padding: 50px 10px 30px 10px; 295 | } 296 | 297 | #project_title { 298 | margin: 0; 299 | color: #fff; 300 | font-size: 42px; 301 | font-weight: 700; 302 | text-shadow: #111 0px 0px 10px; 303 | } 304 | 305 | #project_tagline { 306 | color: #fff; 307 | font-size: 24px; 308 | font-weight: 300; 309 | background: none; 310 | text-shadow: #111 0px 0px 10px; 311 | } 312 | 313 | #downloads { 314 | position: absolute; 315 | width: 210px; 316 | z-index: 10; 317 | bottom: -40px; 318 | right: 0; 319 | height: 70px; 320 | background: url('../images/icon_download.png') no-repeat 0% 90%; 321 | } 322 | 323 | .zip_download_link { 324 | display: block; 325 | float: right; 326 | width: 90px; 327 | height:70px; 328 | text-indent: -5000px; 329 | overflow: hidden; 330 | background: url(../images/sprite_download.png) no-repeat bottom left; 331 | } 332 | 333 | .tar_download_link { 334 | display: block; 335 | float: right; 336 | width: 90px; 337 | height:70px; 338 | text-indent: -5000px; 339 | overflow: hidden; 340 | background: url(../images/sprite_download.png) no-repeat bottom right; 341 | margin-left: 10px; 342 | } 343 | 344 | .zip_download_link:hover { 345 | background: url(../images/sprite_download.png) no-repeat top left; 346 | } 347 | 348 | .tar_download_link:hover { 349 | background: url(../images/sprite_download.png) no-repeat top right; 350 | } 351 | 352 | #main_content_wrap { 353 | background: #f2f2f2; 354 | border-top: 1px solid #111; 355 | border-bottom: 1px solid #111; 356 | } 357 | 358 | #main_content { 359 | padding-top: 40px; 360 | } 361 | 362 | #footer_wrap { 363 | background: #212121; 364 | } 365 | 366 | 367 | 368 | /******************************************************************************* 369 | Small Device Styles 370 | *******************************************************************************/ 371 | 372 | @media screen and (max-width: 992px) { 373 | img { 374 | max-width: 100%; 375 | } 376 | } 377 | 378 | @media screen and (max-width: 480px) { 379 | body { 380 | font-size:14px; 381 | } 382 | 383 | #downloads { 384 | display: none; 385 | } 386 | 387 | .inner { 388 | min-width: 320px; 389 | max-width: 480px; 390 | } 391 | 392 | #project_title { 393 | font-size: 32px; 394 | } 395 | 396 | h1 { 397 | font-size: 28px; 398 | } 399 | 400 | h2 { 401 | font-size: 24px; 402 | } 403 | 404 | h3 { 405 | font-size: 21px; 406 | } 407 | 408 | h4 { 409 | font-size: 18px; 410 | } 411 | 412 | h5 { 413 | font-size: 14px; 414 | } 415 | 416 | h6 { 417 | font-size: 12px; 418 | } 419 | 420 | code, pre { 421 | min-width: 320px; 422 | max-width: 480px; 423 | font-size: 11px; 424 | } 425 | 426 | } 427 | -------------------------------------------------------------------------------- /_sass/rouge-github.scss: -------------------------------------------------------------------------------- 1 | .highlight table td { padding: 5px; } 2 | .highlight table pre { margin: 0; } 3 | .highlight .cm { 4 | color: #999988; 5 | font-style: italic; 6 | } 7 | .highlight .cp { 8 | color: #999999; 9 | font-weight: bold; 10 | } 11 | .highlight .c1 { 12 | color: #999988; 13 | font-style: italic; 14 | } 15 | .highlight .cs { 16 | color: #999999; 17 | font-weight: bold; 18 | font-style: italic; 19 | } 20 | .highlight .c, .highlight .cd { 21 | color: #999988; 22 | font-style: italic; 23 | } 24 | .highlight .err { 25 | color: #a61717; 26 | background-color: #e3d2d2; 27 | } 28 | .highlight .gd { 29 | color: #000000; 30 | background-color: #ffdddd; 31 | } 32 | .highlight .ge { 33 | color: #000000; 34 | font-style: italic; 35 | } 36 | .highlight .gr { 37 | color: #aa0000; 38 | } 39 | .highlight .gh { 40 | color: #999999; 41 | } 42 | .highlight .gi { 43 | color: #000000; 44 | background-color: #ddffdd; 45 | } 46 | .highlight .go { 47 | color: #888888; 48 | } 49 | .highlight .gp { 50 | color: #555555; 51 | } 52 | .highlight .gs { 53 | font-weight: bold; 54 | } 55 | .highlight .gu { 56 | color: #aaaaaa; 57 | } 58 | .highlight .gt { 59 | color: #aa0000; 60 | } 61 | .highlight .kc { 62 | color: #000000; 63 | font-weight: bold; 64 | } 65 | .highlight .kd { 66 | color: #000000; 67 | font-weight: bold; 68 | } 69 | .highlight .kn { 70 | color: #000000; 71 | font-weight: bold; 72 | } 73 | .highlight .kp { 74 | color: #000000; 75 | font-weight: bold; 76 | } 77 | .highlight .kr { 78 | color: #000000; 79 | font-weight: bold; 80 | } 81 | .highlight .kt { 82 | color: #445588; 83 | font-weight: bold; 84 | } 85 | .highlight .k, .highlight .kv { 86 | color: #000000; 87 | font-weight: bold; 88 | } 89 | .highlight .mf { 90 | color: #009999; 91 | } 92 | .highlight .mh { 93 | color: #009999; 94 | } 95 | .highlight .il { 96 | color: #009999; 97 | } 98 | .highlight .mi { 99 | color: #009999; 100 | } 101 | .highlight .mo { 102 | color: #009999; 103 | } 104 | .highlight .m, .highlight .mb, .highlight .mx { 105 | color: #009999; 106 | } 107 | .highlight .sb { 108 | color: #d14; 109 | } 110 | .highlight .sc { 111 | color: #d14; 112 | } 113 | .highlight .sd { 114 | color: #d14; 115 | } 116 | .highlight .s2 { 117 | color: #d14; 118 | } 119 | .highlight .se { 120 | color: #d14; 121 | } 122 | .highlight .sh { 123 | color: #d14; 124 | } 125 | .highlight .si { 126 | color: #d14; 127 | } 128 | .highlight .sx { 129 | color: #d14; 130 | } 131 | .highlight .sr { 132 | color: #009926; 133 | } 134 | .highlight .s1 { 135 | color: #d14; 136 | } 137 | .highlight .ss { 138 | color: #990073; 139 | } 140 | .highlight .s { 141 | color: #d14; 142 | } 143 | .highlight .na { 144 | color: #008080; 145 | } 146 | .highlight .bp { 147 | color: #999999; 148 | } 149 | .highlight .nb { 150 | color: #0086B3; 151 | } 152 | .highlight .nc { 153 | color: #445588; 154 | font-weight: bold; 155 | } 156 | .highlight .no { 157 | color: #008080; 158 | } 159 | .highlight .nd { 160 | color: #3c5d5d; 161 | font-weight: bold; 162 | } 163 | .highlight .ni { 164 | color: #800080; 165 | } 166 | .highlight .ne { 167 | color: #990000; 168 | font-weight: bold; 169 | } 170 | .highlight .nf { 171 | color: #990000; 172 | font-weight: bold; 173 | } 174 | .highlight .nl { 175 | color: #990000; 176 | font-weight: bold; 177 | } 178 | .highlight .nn { 179 | color: #555555; 180 | } 181 | .highlight .nt { 182 | color: #000080; 183 | } 184 | .highlight .vc { 185 | color: #008080; 186 | } 187 | .highlight .vg { 188 | color: #008080; 189 | } 190 | .highlight .vi { 191 | color: #008080; 192 | } 193 | .highlight .nv { 194 | color: #008080; 195 | } 196 | .highlight .ow { 197 | color: #000000; 198 | font-weight: bold; 199 | } 200 | .highlight .o { 201 | color: #000000; 202 | font-weight: bold; 203 | } 204 | .highlight .w { 205 | color: #bbbbbb; 206 | } 207 | .highlight { 208 | background-color: #f8f8f8; 209 | } 210 | -------------------------------------------------------------------------------- /assets/css/style.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | @import "jekyll-theme-slate"; 5 | 6 | .inner { 7 | max-width: 960px; 8 | } 9 | 10 | h1#wsl-programs { 11 | display:none; 12 | } 13 | 14 | tr > td:nth-child(3) { 15 | text-align: center; 16 | vertical-align:middle; 17 | } -------------------------------------------------------------------------------- /assets/images/bg_hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emmatyping/WSL-Programs/4bb966a697e8cf2aa3310be4c3078af357395f8a/assets/images/bg_hr.png -------------------------------------------------------------------------------- /assets/images/blacktocat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emmatyping/WSL-Programs/4bb966a697e8cf2aa3310be4c3078af357395f8a/assets/images/blacktocat.png -------------------------------------------------------------------------------- /assets/images/icon_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emmatyping/WSL-Programs/4bb966a697e8cf2aa3310be4c3078af357395f8a/assets/images/icon_download.png -------------------------------------------------------------------------------- /assets/images/sprite_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emmatyping/WSL-Programs/4bb966a697e8cf2aa3310be4c3078af357395f8a/assets/images/sprite_download.png -------------------------------------------------------------------------------- /jekyll-theme-slate.gemspec: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | Gem::Specification.new do |s| 4 | s.name = "jekyll-theme-slate" 5 | s.version = "0.0.3" 6 | s.license = "CC0-1.0" 7 | s.authors = ["Jason Costello", "GitHub, Inc."] 8 | s.email = ["opensource+jekyll-theme-slate@github.com"] 9 | s.homepage = "https://github.com/pages-themes/slate" 10 | s.summary = "Slate is a Jekyll theme for GitHub Pages" 11 | 12 | s.files = `git ls-files -z`.split("\x0").select do |f| 13 | f.match(%r{^((_includes|_layouts|_sass|assets)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i) 14 | end 15 | 16 | s.platform = Gem::Platform::RUBY 17 | s.add_runtime_dependency "jekyll", "~> 3.3" 18 | end 19 | -------------------------------------------------------------------------------- /script/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | gem install bundler 6 | bundle install 7 | -------------------------------------------------------------------------------- /script/cibuild: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | bundle exec jekyll build 6 | gem build jekyll-theme-slate.gemspec 7 | -------------------------------------------------------------------------------- /script/release: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Tag and push a release. 3 | 4 | set -e 5 | 6 | # Make sure we're in the project root. 7 | 8 | cd $(dirname "$0")/.. 9 | 10 | # Make sure the darn thing works 11 | 12 | bundle update 13 | 14 | # Build a new gem archive. 15 | 16 | rm -rf jekyll-theme-slate-*.gem 17 | gem build -q jekyll-theme-slate.gemspec 18 | 19 | # Make sure we're on the master branch. 20 | 21 | (git branch | grep -q 'master') || { 22 | echo "Only release from the master branch." 23 | exit 1 24 | } 25 | 26 | # Figure out what version we're releasing. 27 | 28 | tag=v`ls jekyll-theme-slate-*.gem | sed 's/^jekyll-theme-slate-\(.*\)\.gem$/\1/'` 29 | 30 | # Make sure we haven't released this version before. 31 | 32 | git fetch -t origin 33 | 34 | (git tag -l | grep -q "$tag") && { 35 | echo "Whoops, there's already a '${tag}' tag." 36 | exit 1 37 | } 38 | 39 | # Tag it and bag it. 40 | 41 | gem push jekyll-theme-slate-*.gem && git tag "$tag" && 42 | git push origin master && git push origin "$tag" 43 | --------------------------------------------------------------------------------