All Projects → nbdd0121 → Wsld

nbdd0121 / Wsld

Licence: other
WSL Daemon - Stable X11 connection and time synchronisation for WSL2

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Wsld

Doslinux
Run Linux programs on DOS
Stars: ✭ 770 (+547.06%)
Mutual labels:  wsl
Gsudo
A Sudo for Windows - run elevated without spawning a new Console Host Window
Stars: ✭ 1,016 (+753.78%)
Mutual labels:  wsl
Wsl Distrolauncher
Sample/reference launcher app for WSL distro Microsoft Store packages.
Stars: ✭ 1,180 (+891.6%)
Mutual labels:  wsl
Wslgit
Use Git installed in Bash on Windows/Windows Subsystem for Linux (WSL) from Windows and Visual Studio Code (VSCode)
Stars: ✭ 903 (+658.82%)
Mutual labels:  wsl
Easywsl
Use Docker Containers as WSL Distros
Stars: ✭ 32 (-73.11%)
Mutual labels:  wsl
Pengwin Enterprise
Enterprise-compatible WSL distribution.
Stars: ✭ 52 (-56.3%)
Mutual labels:  wsl
Dowww
📟 Dev on Windows with WSL | 在 Windows 上用 WSL 优雅开发
Stars: ✭ 615 (+416.81%)
Mutual labels:  wsl
Wslbridge2
Explore various ways to connect Windows Subsystem for Linux with Windows terminal emulators.
Stars: ✭ 93 (-21.85%)
Mutual labels:  wsl
Ansible Wsl
Provisioning your Windows from inside of WSL by Ansible
Stars: ✭ 34 (-71.43%)
Mutual labels:  wsl
Runinbash
Run Linux commands under WSL without leaving your PowerShell or CMD!
Stars: ✭ 67 (-43.7%)
Mutual labels:  wsl
Wsl Docker Git Setup
Shell script to configure Windows Subsystem for Linux (WSL) & Ubuntu on Windows to use docker and docker-compose as well as a git-enabled prompt
Stars: ✭ 23 (-80.67%)
Mutual labels:  wsl
Wsl Programs
A community powered list of programs that work (and those that don't) on the Windows subsystem for Linux
Stars: ✭ 931 (+682.35%)
Mutual labels:  wsl
Dotfiles
Windows + WSL 2 Ubuntu + Windows Terminal + zsh + p10k + Docker + IntelliJ IDEA
Stars: ✭ 54 (-54.62%)
Mutual labels:  wsl
Wsldl
Advanced WSL launcher / installer. (Win10 FCU x64/arm64 or later.)
Stars: ✭ 782 (+557.14%)
Mutual labels:  wsl
Manjaro Linux For Wsl
为 windows 10 WSL 而做的 Manjaro Linux 发行版本
Stars: ✭ 86 (-27.73%)
Mutual labels:  wsl
Centwsl
[DISCONTINUED] CentOS based WSL distribution
Stars: ✭ 766 (+543.7%)
Mutual labels:  wsl
Wslreverse
Experiments with hidden COM interface and LxBus IPC mechanism in WSL
Stars: ✭ 47 (-60.5%)
Mutual labels:  wsl
Alwsl
Install archlinux as the WSL (Windows Subsystem for Linux) host.
Stars: ✭ 1,332 (+1019.33%)
Mutual labels:  wsl
Castle Winbuntu
Homesick Castle for use on WSL.
Stars: ✭ 87 (-26.89%)
Mutual labels:  wsl
Wslpath
wslpath - Converts Unix and Windows format paths in WSL
Stars: ✭ 64 (-46.22%)
Mutual labels:  wsl

WSLD: WSL Daemon

CI

Persist X11 connection when network changes or PC resumes from disconencted sleep/hibernation, and keep your WSL time in sync.

Formerly called x11-over-vsock; renamed to wsld as it gained extra functionality.

Implementation detail can be found here.

Build

This program is written in Rust. If you do not have Rust toolchain installed you can get it from https://rustup.rs/. Building on Windows also requires Visual C++ toolchain.

Install in WSL using cargo install --git https://github.com/nbdd0121/wsld wsld and install in Windows using cargo install --git https://github.com/nbdd0121/wsld wsldhost (The binary will be installed to ~/.cargo/bin/wsld and %USERPROFILE%\.cargo\bin\wsldhost.exe).

You can also download pre-built binaries from GitHub Actions artifacts.

Usage

In WSL, you will need to put config file .wsld.toml in your home directory. It should look like this:

# Leave out this section to disable X11 forwarding
[x11]
# X11 display number to listen *inside* WSL. The X server in Windows can specified as argument when running wsldhost.exe.
# Default to 0, can be omitted.
display = 0

# Leave out this section to disable time synchronisation
# If you need time synchronisation, you should either run wsld with root, or give it `cap_sys_time` capability using `sudo setcap cap_sys_time+eip <PATH to wsld>`.
[time]
# Interval between syncs
# Default to 10min, can be omitted
interval = "1hr"

# Leave out this section to disable TCP port forwarding
# This feature is experimental, feedbacks and suggestions welcome.
# This feature will WSL localhost to Windows localhost, so you can connect
# servers running in Windows in WSL. This feature requires interaction with
# iptables, so you need to either run wsld as root or allow wsld to use sudo.
[tcp_forward]
# iptables command to use. nftables seem not to work so you need to have
# the legacy one. If you are not using Debian it is likely you need to change it.
iptables_cmd = "sudo iptables-legacy"
# Ports to forward
ports = [ 1234 ]

then run wsld and set DISPLAY=:0.

In Windows, start a X server (e.g. VcXsrv) on TCP port 6000, and execute wsldhost.exe --daemon with administrator privilege. To know why administrator privilege is needed, check out implementation detail. If your X server runs on a different port, you can add --display localhost:<port> to arguments.

To automatically start both services without manual intervention, see here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].