Code Monkey home page Code Monkey logo

wslmanager's Introduction

WslManager

You can access or contribute to the source code of this project from the GitHub repository: https://github.com/wslhub/WslManager

Screen

WSL Manager is a highly customizable Windows Subsystem for Linux distro manager for Windows 10 (at least 2004) and Windows Server 2004 (or later).

This program helps you install and manage multiple versions of the same Linux distribution on the Windows Subsystem for Linux. This program is currently under development and may take some time to complete its first function.

Features

  • Run your linux distro easily with GUI based interface.
  • Open your linux distro directly.
  • Import your own system tarball archive to Windows Subsystem for Linux.
  • Export your existing distro to tarball archive file.
  • Issue a command or script into distro directly.
  • Set default distro for wsl.exe.
  • Run distro as a specific user.

Planned features/enhancements

All planned features and enhancements listed in the enhancements label.

FAQ

The functionality of this tool is already provided by wsl.exe. Why should I use this tool?

This tool is designed to enable the use of WSL functionality in a GUI manner. Of course, it is useful to call wsl.exe directly if you are familiar with using the command line.

However, if you use this tool, you will get additional productivity when managing multiple distros in your system.

License

This project follows the MIT license.

Thanks to

wslmanager's People

Contributors

gekkom avatar rkttu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wslmanager's Issues

Add WSL distro import related feature

  • Add a security warning dialog when load a tar-ball archive to import WSL distro.
    • Also, user can opt-out the warning message if want.
  • When user drag .tar or tar.gz file into main window, automatically pops up a import window.

More reliable way to refresh distro list

Current version uses a timer to refresh distro list every 3 seconds in background. This looks not fluent, but it just works. However, there should be a good way better than this way.

Decoupling Codes

Currently, WslManager contains some library codes and monolithic codes which can be decoupled.

WinFormExtensions, CodeFirstForm, MVU related code

Considering #15, and to support the works of @visdauas, Windows Forms related codes needs to be decoupled and referenced as a public NuGet package.

MainForm.Features.*.cs

Considering #14, and to support the works of @visdauas, these partial code files needs to be refactored into interface and implementations.

Implement distro properties dialog

Implement distro properties dialog

  • Run distro dialog from standard menu, context menu, and Alt + DoubleClick action

Properties dialog will made up with multiple tab pages

  • General tab
    • Show basic metadata and information
    • Calculate overall distro file size
  • Users tab
    • Distro user list (regular user and system user)
  • Details tab
    • All available properties will be displayed here in PropertyGrid view

Fix broken features

I found some broken features. These features needs to be restored. It seems like these features were not supported or not implemented by PR #23.

  • Feature_RunAsDistro
  • Feature_SetAsDefaultDistro
  • Feature_RunAsDistro

Code refactoring

Some improvements

  • Release ID can be changed into a string at any time. It would be better to compare the build number of OS version.
  • Models directory should contains valid EF model class only; Constants definitions are not suitable on this namespace.
    • Also I need to add directory roadmap documentation file for future contributors.
  • Duplicated implementations need to be consolidated into one implementation. Temporarily, I restored my original WslHelper class to resolve build errors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.