feat(identity): rename user-visible identity to voculinux with one-time legacy import
The fork takes its own name everywhere a user can see it: binaries (voculinux, voculinux-gui), desktop entry, autostart, tray, D-Bus namespace (com.voculinux.Voculinux, no alias for the old name), config/data/cache dirs, single-instance lock, IBus engine identity, tray icons, resource prefixes, VOCULINUX_* environment names, and the update-checker user agent. The internal Python module stays vocalinux and the distribution metadata keeps the upstream URLs as provenance. On first run a previous Vocalinux install's config.json, custom dictionary, and portal restore token are copied once into the new locations (new config always wins, no merge, no write-back); models re-resolve through the pinned-checksum download path. An offline naming-sweep test proves no old-name strings remain on user-visible surfaces outside the allowlist. Refs #18
This commit is contained in:
+19
-19
@@ -12,7 +12,7 @@ Related: [DISTRO_COMPATIBILITY.md](DISTRO_COMPATIBILITY.md), [TROUBLESHOOTING.md
|
||||
|
||||
## System packages by distribution
|
||||
|
||||
Install desktop/system dependencies **before** creating a venv or running `pip install vocalinux`. Pip cannot install GTK typelibs, AppIndicator, PortAudio, or text-injection tools.
|
||||
Install desktop/system dependencies **before** creating a venv or running `pip install voculinux`. Pip cannot install GTK typelibs, AppIndicator, PortAudio, or text-injection tools.
|
||||
|
||||
Debian 11 and earlier are unsupported; the Debian instructions start at Debian
|
||||
12, which is the oldest release with the required Python 3.11.
|
||||
@@ -84,7 +84,7 @@ sudo dnf install -y \
|
||||
|
||||
### Arch Linux
|
||||
|
||||
Prefer the AUR package (`yay -S vocalinux`). Manual packages:
|
||||
Prefer the AUR package (`yay -S voculinux`). Manual packages:
|
||||
|
||||
```bash
|
||||
sudo pacman -S --needed \
|
||||
@@ -125,7 +125,7 @@ Gentoo, Alpine, Void, Solus, Mageia: [DISTRO_COMPATIBILITY.md](DISTRO_COMPATIBIL
|
||||
Use the **system** Python (`/usr/bin/python3`). Distro PyGObject (`gi`) is compiled for that interpreter only, so a venv from pyenv/conda/uv cannot import it even with `--system-site-packages`.
|
||||
|
||||
```bash
|
||||
cd vocalinux
|
||||
cd voculinux
|
||||
/usr/bin/python3 -m venv venv --system-site-packages
|
||||
source venv/bin/activate
|
||||
pip install --upgrade pip setuptools wheel
|
||||
@@ -141,14 +141,14 @@ pip install -e ".[dev,vad]" # development
|
||||
### Desktop integration
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/vocalinux \
|
||||
~/.local/share/vocalinux/models \
|
||||
mkdir -p ~/.config/voculinux \
|
||||
~/.local/share/voculinux/models \
|
||||
~/.local/share/applications \
|
||||
~/.local/share/icons/hicolor/scalable/apps
|
||||
|
||||
cp vocalinux.desktop ~/.local/share/applications/
|
||||
VENV_PATH=$(realpath venv/bin/vocalinux)
|
||||
sed -i "s|^Exec=vocalinux|Exec=$VENV_PATH|" ~/.local/share/applications/vocalinux.desktop
|
||||
cp voculinux.desktop ~/.local/share/applications/
|
||||
VENV_PATH=$(realpath venv/bin/voculinux)
|
||||
sed -i "s|^Exec=voculinux|Exec=$VENV_PATH|" ~/.local/share/applications/voculinux.desktop
|
||||
|
||||
cp resources/icons/scalable/*.svg ~/.local/share/icons/hicolor/scalable/apps/
|
||||
gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor
|
||||
@@ -159,14 +159,14 @@ gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor
|
||||
Same system packages as above, then:
|
||||
|
||||
```bash
|
||||
python3 -m venv ~/.local/share/vocalinux-pypi/venv --system-site-packages
|
||||
source ~/.local/share/vocalinux-pypi/venv/bin/activate
|
||||
python3 -m venv ~/.local/share/voculinux-pypi/venv --system-site-packages
|
||||
source ~/.local/share/voculinux-pypi/venv/bin/activate
|
||||
pip install --upgrade pip setuptools wheel
|
||||
pip install vocalinux
|
||||
# vosk engine: pip install "vocalinux[vosk]"
|
||||
# faster-whisper: pip install "vocalinux[faster_whisper]"
|
||||
# parakeet engine: pip install "vocalinux[parakeet]"
|
||||
vocalinux
|
||||
pip install voculinux
|
||||
# vosk engine: pip install "voculinux[vosk]"
|
||||
# faster-whisper: pip install "voculinux[faster_whisper]"
|
||||
# parakeet engine: pip install "voculinux[parakeet]"
|
||||
voculinux
|
||||
```
|
||||
|
||||
`--system-site-packages` lets the venv use distro GTK bindings (`python3-gi`). Building PyGObject from pip is often painful on Ubuntu/Debian.
|
||||
@@ -177,18 +177,18 @@ If the app starts but no speech model is present, open Settings and download a m
|
||||
|
||||
```bash
|
||||
# After system packages are installed:
|
||||
pipx install vocalinux
|
||||
vocalinux
|
||||
pipx install voculinux
|
||||
voculinux
|
||||
```
|
||||
|
||||
pipx still cannot install system desktop libraries. Install those first with your package manager.
|
||||
|
||||
## Why system packages are required
|
||||
|
||||
Vocalinux uses GTK3, AppIndicator/Ayatana, PortAudio, and tools such as `xdotool`, `wtype`, and clipboard utilities. Those come from the distro. PyPI only supplies Python packages and wheels.
|
||||
Voculinux uses GTK3, AppIndicator/Ayatana, PortAudio, and tools such as `xdotool`, `wtype`, and clipboard utilities. Those come from the distro. PyPI only supplies Python packages and wheels.
|
||||
|
||||
## After install
|
||||
|
||||
- Run: [INSTALL.md](INSTALL.md#running-vocalinux)
|
||||
- Run: [INSTALL.md](INSTALL.md#running-voculinux)
|
||||
- Engines and models: [USER_GUIDE.md](USER_GUIDE.md)
|
||||
- Failures: [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
||||
|
||||
Reference in New Issue
Block a user