docs: add linux dependencies and wsl2 audio setup to readme
This commit is contained in:
51
readme.md
51
readme.md
@@ -0,0 +1,51 @@
|
||||
# TeamSpeak TUI Client
|
||||
|
||||
A modern, fast, and lightweight TeamSpeak 3 client built in Go with a beautiful Terminal User Interface (TUI).
|
||||
|
||||
## 🚀 Features
|
||||
- **Low Latency Audio**: Optimized for both Windows (WASAPI) and Linux (PortAudio).
|
||||
- **Responsive UI**: Built with Bubble Tea for a smooth terminal experience.
|
||||
- **Cross-Platform**: Full support for Windows and Linux (including WSL2).
|
||||
- **Audio Controls**: Per-user volume and mute indicators.
|
||||
|
||||
## 🛠️ Linux Dependencies
|
||||
|
||||
To build the project on Linux (including Ubuntu/WSL2), you need to install the following system libraries:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
libportaudio2 \
|
||||
portaudio19-dev \
|
||||
libopus-dev \
|
||||
libpulse-dev
|
||||
```
|
||||
|
||||
### 🔊 WSL2 Audio Setup
|
||||
|
||||
WSL2 does not have direct access to your Windows audio hardware. To enable audio, we recommend using a PulseAudio network bridge:
|
||||
|
||||
1. **Install PulseAudio on Windows** (e.g., via [portable binaries](https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/)).
|
||||
2. **Enable TCP**: Edit `default.pa` in PulseAudio and add:
|
||||
`load-module module-native-protocol-tcp auth-anonymous=1 listen=0.0.0.0`
|
||||
3. **Environment Variable**: Set the `PULSE_SERVER` in your WSL2 shell:
|
||||
```bash
|
||||
export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}'):4713
|
||||
```
|
||||
|
||||
## 🏗️ Building
|
||||
|
||||
```bash
|
||||
# General build
|
||||
go build -o ts-tui ./cmd/tui
|
||||
|
||||
# Run with debug logging (highly recommended for audio setup)
|
||||
go run ./cmd/tui --server your-ip:9987 --debug
|
||||
```
|
||||
|
||||
## ⌨️ Common Keys
|
||||
- `q`: Quit cleanly.
|
||||
- `Arrows / hjkl`: Navigate channels and users.
|
||||
- `Enter`: Join channel.
|
||||
- `1`: Poke user (in User View).
|
||||
- `m`: Mute/Unmute audio.
|
||||
|
||||
Reference in New Issue
Block a user