how to use neovide with ssh

方法:

  1. 本地: ssh -L + nvim embeded server

    ssh my-server -v -L 12341:localhost:12341 -- nvim --headless --listen localhost:12341
    
  2. 本地:启动neovide 连接 nvim server

    neovide.exe --server=localhost:12341
    

windows bat file start-neovide.bat:

1
2
3
4
5
6
7
8
9
for /f %%i in ('python -c "import random;print(random.randrange(30000,64000))"') do set random_number=%%i

echo %random_number%
start /b ssh %1 -v -L %random_number%:localhost:%random_number% -- nvim --headless --listen localhost:%random_number%

:: sleep 1s to wait nvim headless server starting
timeout /t 1 /nobreak >nul 

neovide.exe --server=localhost:%random_number%

linux startneovide.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash

# Generate random port number between 30000 and 64000
random_number=$(python -c "import random; print(random.randrange(30000, 64000))")
echo $random_number

# Start SSH with port forwarding and nvim in background
ssh "$1" -v -L "$random_number:localhost:$random_number" -- nvim --headless --listen "localhost:$random_number" &

sleep 1 # sleep to wait nvim headless server starting
# Start neovide connecting to the remote nvim instance
neovide --server="localhost:$random_number"

Usage: start-neovide.cmd your-ssh-server or startneovide.sh your-ssh-server.