探秘ssh-rdp:远程控制X11桌面的新体验
ssh-rdpReal display ssh based remote desktop项目地址:https://gitcode.com/gh_mirrors/ss/ssh-rdp
简介
ssh-rdp.sh是一款基于Shell的脚本,它让你能通过一个低延迟的X11会话来控制远程桌面,且支持视频和音频流传输。特别的是,由于它利用了netevent库,可以将各种输入设备(如键盘、鼠标、游戏手柄等)的控制转发到远程主机上,这意味着你可以远程玩游戏,仿佛置身现场。
项目技术分析
ssh-rdp依赖于几个关键工具,包括bash、ffmpeg、openssh、netevent、wmctrl、mpv、taskset以及xdpyinfo和pulseaudio。其中,netevent负责低级别输入控制,而其他工具则分别在本地和远程环境中提供必要的功能。另外,远程用户的权限设置也非常重要,例如添加到input组以访问/dev/input目录,并在远程系统上为/dev/uinput赋予适当权限。
对于输入设备的转发,ssh-rdp.sh还提供了“inputconfig”选项,帮助配置所需的参数。此外,脚本中还有一些可调整的参数,可以按需优化性能。
应用场景
ssh-rdp.sh的应用场景广泛:
- 远程办公:在保持低延迟的同时,你可以流畅地操作远程桌面,进行文档编辑、软件开发等工作。
- 远程演示:在会议或教学中,无需共享屏幕,即可实时控制远程计算机进行演示。
- 远程游戏:这是其独特之处,允许你在本地设备上玩远程服务器上的游戏,实现近乎实时的控制体验。
项目特点
- 低延迟:ssh-rdp.sh设计的目标是实现最低延迟,确保用户能够即时响应远程桌面的操作。
- 设备兼容:它不仅支持键盘和鼠标,还能处理游戏手柄、赛车方向盘等各种输入设备。
- 自适应编码:可根据网络条件自动选择合适的视频和音频编码器,保证质量和速度之间的平衡。
- 易用性:只需简单的命令行选项,就能设置连接、分辨率、帧率等参数,或者配置输入设备。
使用示例
以下是一些基本用法示例:
- 连接到名为jserver的服务器,默认配置:
ssh-rdp.sh --user venkman --server jserver
- 设置特定端口、显示器和流速:
ssh-rdp.sh -u stantz -s jserver -p 322 -d 0.0 -r 1920x1080 -o +1920,0 -f 60 -a 128 -v 10000
- 自定义音频编码器和视频编码器:
ssh-rdp.sh -u spengler -s jserver -p 322 -d 0.0 -f 144 -v 80000 --audioenc pcm --videoenc intelgpu --vplayeropts "--video-output-levels=limited"
总的来说,ssh-rdp.sh是一个强大且灵活的工具,无论你是开发者还是游戏玩家,都能从中受益。赶快试试看,探索更多可能吧!
ssh-rdpReal display ssh based remote desktop项目地址:https://gitcode.com/gh_mirrors/ss/ssh-rdp