Skip to content

Commit

Permalink
Merge pull request #21 from patrick330602/develop
Browse files Browse the repository at this point in the history
wslu 1.6
  • Loading branch information
patrick330602 authored Jul 26, 2018
2 parents 165c3fe + b18d68e commit 55230b4
Show file tree
Hide file tree
Showing 26 changed files with 571 additions and 33 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "extras/bats"]
path = extras/bats
url = https://github.com/bats-core/bats-core.git
[submodule "extras/wiki"]
path = extras/wiki
url = https://github.com/patrick330602/wslu.wiki.git
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Run following commands:
```bash
sudo apt install lsb-release apt-transport-https
wget -O - https://api.patrickwu.ml/public.key | sudo apt-key add -
sudo echo "deb https://apt.patrickwu.ml/ `lsb_release -c -s` main" >> /etc/apt/sources.list
echo "deb https://apt.patrickwu.ml/ `lsb_release -c -s` main" | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt install wslu
```
Expand Down
28 changes: 28 additions & 0 deletions docs/Beta-Release-Manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Notice
This manual is for package with version <= 1.0.
## wslu help
print a simplified help.
## wslu version
print current version.
## wslu install
install is a minimal package manager for installing special packages. Also, it provide some simple commands to install apps from third-party repositories.
### pulseaudio
install pulseaudio to provide additional sound playing feature to WSL.
### vcxsrv
install vcxsrv to provide additional GUI feature to WSL.
### [third-party packages] [repository]
install a application with a certain third-party repository.
## fetch
the minimal screen fetch program inspired by **ufetch** and **ScreenFetch**.
## system
system will help print out the system information without any parameters. more options are following:
### -B, --build
print Windows build information, for example: **Windows 10 Build 16193**
### -K, --kernel
print WSL kernel info, for example: **Linux 4.4.0-43-Microsoft**
### -R, --release
print WSL system release info, for example: **Ubuntu 16.04.2 LTS**
### -P, --package
print total installed packages, for example: **1511**
## shortcut [appname]
shortcut command help you create a shortcut on the Windows 10 Desktop.
28 changes: 28 additions & 0 deletions docs/Contribution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## Start

Install `wslu` using [source code](https://github.com/patrick330602/wslu/wiki/Installation#install-from-source-code). Everything will set-up automatically.

## Build Structure

```
wslu
|-src
| |-wslu-header: Header file of all script
| \-<components>.sh: Components of script
|-script: scripts used for building, installing and uninstalling
|-tests: location for script tests
\-extras
|-bats: testing utility
\-wiki: the clone of this wiki page
```

## Build

run `make` to build executable in `out` folder.
run `make clean` to remove the `out` folder.
run `make test` to run tests.

## Test

`wslu` use [bats](https://github.com/bats-core/bats-core) for testing. Please refer to [its guide](https://github.com/bats-core/bats-core#writing-tests) to write tests.

13 changes: 13 additions & 0 deletions docs/Extras.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Error Code

| error code | description |
| ---------- | ----------- |
| 1 | general error/unknown error. |
| 20 | input is empty or invalid. |
| 21 | input is empty. |
| 22 | input is invalid. |
| 30 | file do not exist. |
| 31 | folder do not exist. |
| 32 | feature not implemented. |
| 33 | required component do not exist. |
| 40 | Unknown system input. |
28 changes: 28 additions & 0 deletions docs/Home.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Welcome to the wslu wiki!

## What is WSL?

WSL is short for "Windows Subsystem for Linux", which is a Linux Subsystem from Windows 10. WSL provides developers with a familiar Bash shell and Linux environment in which you can run most Linux command-line tools, directly on Windows, UNMODIFIED, without needing an entire Linux virtual machine. Currently we have Bash On Ubuntu On Windows 10(Legacy), Ubuntu, OpenSUSE and SUSE Linux Enterprise Server, and more distros such as Fedora will be coming in the future.

## What is wslu?
This is a collection of utilities for Windows 10 Linux Subsystem, such as enabling sound in WSL or creating your favorite linux app shortcuts on Windows 10 Desktop. Requires Windows 10 Creators Update and higher.

## Currently supported Distro
- Ubuntu
- Ubuntu 16.04
- Ubuntu 18.04
- OpenSUSE
- SUSE Linux Enterprise Server(SLES)
- Debian GNU/Linux
- Kali Linux

## Bug

Report bugs to <https://github.com/patrick330602/wslu/issues>

## Credit
PulseAudio and VcXsrv Installation inspired by aseering/wsl_gui_autoinstall<https://github.com/aseering/wsl_gui_autoinstall>.

PulseAudio Linux packages belong to @aseering and @therealkenc from <https://github.com/Microsoft/BashOnWindows/issues/486>.

PulseAudio 6 Windows package provided by @kitor.
72 changes: 72 additions & 0 deletions docs/Installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
### For Ubuntu/Debian

Run following commands:
```bash
sudo apt install software-properties-common apt-transport-https
wget -O - https://apt.patrickwu.ml/pkapt.key | sudo apt-key add -
sudo add-apt-repository https://apt.patrickwu.ml/
sudo apt update
sudo apt install wslu
```

Or you can download the .deb package from release and install it using `sudo dpkg -i wslu*`.

### For Kali Linux

Run following commands:
```bash
sudo apt install apt-transport-https
wget -O - https://apt.patrickwu.ml/pkapt.key | sudo apt-key add -
sudo echo "deb https://apt.patrickwu.ml/ kali main" >> /etc/apt/sources.list
sudo apt update
sudo apt install wslu
```

Or you can download the .deb package from release and install it using `sudo dpkg -i wslu*`.

### For OpenSUSE/SLES

```bash
sudo zypper ar -G https://rpm.patrickwu.ml/ ruapm
sudo zypper ref
sudo zypper in wslu
```

Or you can download the .rpm package from release and install it using `sudo rpm -ivh "wslu*"`.

### Install from `wsl-translinux`

`wslu` is part of [wsl-translinux](https://github.com/cerebrate/wsl-translinux) apt repository.

Following the guidelines [Here](https://github.com/cerebrate/wsl-translinux/blob/master/README.md) to add the repository. Then you can simply run `sudo apt install wslu` to install `wslu`.

However, with lack of support, I moved my packages to my own apt repository.

### Install from source code

To install, just run the following command in the bash prompt:
`curl -o- https://raw.githubusercontent.com/patrick330602/wslu/master/extras/scripts/install.sh | bash`

To uninstall, run `uninstall.sh` in `extras/scripts` and remove the folder.

### Install version 1.2

```
git clone --branch v1.2 https://github.com/patrick330602/wslu.git ~/.wslu
cd ~/.wslu
./configure -i
```

### Install version 1.1/1.0
```
git clone --branch v1.1 https://github.com/patrick330602/wslu.git
#for 1.0: change 1.1 to 1.0
cd wslu
sudo make install
```

To uninstall, `run sudo make uninstall`

### Install pre-releases

directly run `wslu-dev` after cloning
3 changes: 3 additions & 0 deletions docs/Legacy-Contribution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Development

To make contributions to the project, you will need to run `git submodule init; git submodule update` in order to start develop. To run tests, enter `wsluconfig --test`; test cases are written in [bats](https://github.com/bats-core/bats-core), please check the documentation before writing documentation. TO check WSL Interopability, please run `wsluconfig --interop-check`. This will check `/proc/sys/fs/binfmt_misc/WSLInterop`, `cmd.exe`, `powershell.exe`, and `reg.exe`.
24 changes: 24 additions & 0 deletions docs/Legacy-Installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Installation

> CAUTION: please remove the old packages if you have installed, they will damage your manpage folder!
To install, just run the following command in the bash prompt:

`curl -o- https://raw.githubusercontent.com/patrick330602/wslu/master/install.sh | bash`

This will install to the folder `.wslu` under your home.

To install manually, run the following command:

```bash
git clone https://github.com/patrick330602/wslu.git
# or git clone https://github.com/patrick330602/wslu.git <destination> for your preferred destination
cd /path/to/wslu/folder
./configure -i
```

## Remove & Reinstall

- run `wsluconfig -u` will remove the link from the system but not the source folder. You can install it again by entering `wsluconfig -i`;
- run `wsluconfig -p` will remove everything installed;
- if there is something run, run `wsluconfig -r` to reinstall.
16 changes: 16 additions & 0 deletions docs/_Sidebar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
* [Home](https://github.com/patrick330602/wslu/wiki)
* [Installation](https://github.com/patrick330602/wslu/wiki/Installation)
* [Contribution](https://github.com/patrick330602/wslu/wiki/Contribution)
* Components
* [wslsys](https://github.com/patrick330602/wslu/wiki/wslsys)
* [wslfetch](https://github.com/patrick330602/wslu/wiki/wslfetch)
* [wslupath](https://github.com/patrick330602/wslu/wiki/wslpath)
* [wslusc](https://github.com/patrick330602/wslu/wiki/wslusc)
* [wslview](https://github.com/patrick330602/wslu/wiki/wslview)
* Legacy Wiki
* [Installation](https://github.com/patrick330602/wslu/wiki/Legacy-Installation)
* [Contribution](https://github.com/patrick330602/wslu/wiki/Legacy-Contribution)
* [wslu](https://github.com/patrick330602/wslu/wiki/wslu)
* [wslpkg](https://github.com/patrick330602/wslu/wiki/wslpkg)
* [Beta Release Manual](https://github.com/patrick330602/wslu/wiki/Beta-Release-Manual)
* [Extras](https://github.com/patrick330602/wslu/wiki/Extras)
6 changes: 6 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
title: wslu
logo: https://github.com/patrick330602/wslu/raw/master/extras/icon.png
description: A collection of utilities for Windows 10 Linux Subsystems
show_downloads: false
google_analytics:
theme: jekyll-theme-minimal
65 changes: 65 additions & 0 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

{% seo %}
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<h1><a href="{{ "/" | absolute_url }}">{{ site.title | default: site.github.repository_name }}</a></h1>

{% if site.logo %}
<img src="{{site.logo | relative_url}}" alt="Logo" />
{% endif %}

<p>{{ site.description | default: site.github.project_tagline }}</p>

{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}

{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}

{% if site.show_downloads %}
<ul class="downloads">
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
</ul>
{% endif %}
</header>
<section>

{{ content }}

</section>
<footer>
{% if site.github.is_project_page %}
<p>This project is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p>
{% endif %}
<p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
{% if site.google_analytics %}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
{% endif %}
</body>
</html>
25 changes: 25 additions & 0 deletions docs/wslfetch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Manpage Name

wslfetch - Component of Windows 10 Linux Subsystem Utility

## Synopsis

`wslfetch (-h|-v|-s|-l)`

## Description

This is a WSL Screenshot Information Tool to print information in a elegant way.

## COMMANDS

**-h, --help**
- print a simple help

**-v, --version**
- print current version

**-l, --line**
- print a separate line before and after

**-s, --splash**
- use wslfetch as splash when startup; add 'wslfetch --splash' to the end of the rc file
38 changes: 38 additions & 0 deletions docs/wslpkg.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Manpage Name

wslpkg - Component of Windows 10 Linux Subsystem Utility

## Synopsis

`wslusc (-h|-v|-S|-U|-B|-R|-K|-P)`

## Description

This is WSL Package Installer, which is a minimal package manager for installing special packages. Also, it provide some simple commands to install apps from third-party repositories.

## Commands

**add**
- Install a special package. If repository is specified, it will install the package through the repository.

**remove**
- Remove a special package. If repository is specified, it will remove the package through the repository.

### Options

**-h, --help**
- print a simple help

**-v, --version**
- print current version

**-l, --list**
- print the special packages that is able to be installed

### Available Package

**pulseaudio**
- install pulseaudio to provide additional sound playing feature to WSL.

**vcxsrv**
- install vcxsrv to provide additional GUI feature to WSL.
Loading

0 comments on commit 55230b4

Please sign in to comment.