1.7 KiB
1.7 KiB
Change: Support WSL Environment
Summary
Enable Gemini Nexus running in WSL (Windows Subsystem for Linux) to manage the Gemini Nexus application installed on the Windows host.
Motivation
Users running the manager in a WSL development environment need to interact with the actual Gemini Nexus instance running on Windows, as Gemini Nexus is a Windows application.
Proposed Changes
1. Path Resolution (src/utils/paths.ts)
- Implement
isWsl()utility function. - In
getAppDataDir(): If WSL, return the Windows AppData path (e.g.,/mnt/c/Users/<User>/AppData/Roaming/GeminiNexus). - In
getGeminiNexusExecutablePath(): If WSL, return the Windows executable path (e.g.,/mnt/c/Users/<User>/AppData/Local/Programs/GeminiNexus/GeminiNexus.exe). - Challenge: Determining the correct Windows username.
- Strategy: Assume Windows username matches WSL username, or scan
/mnt/c/Usersfor a likely candidate (excluding Public, Default, etc.).
- Strategy: Assume Windows username matches WSL username, or scan
2. Process Management (src/ipc/process/handler.ts)
- In
isProcessRunning(): If WSL, executetasklist.exe(via/mnt/c/Windows/System32/tasklist.exe) to check forGeminiNexus.exe. - In
startGeminiNexus(): If WSL, execute the Windows executable directly. - In
closeGeminiNexus(): If WSL, usetaskkill.exe(via/mnt/c/Windows/System32/taskkill.exe).
Acceptance Criteria
- [ ] Application detects it is running in WSL.
- [ ] Database file is correctly located on the Windows file system.
- [ ] "Start" button successfully launches Gemini Nexus on Windows.
- [ ] "Stop" button successfully terminates Gemini Nexus on Windows.
- [ ] Process status (Running/Stopped) is correctly reflected in the UI.