Linux 内网图形界面远程的办法

2022-03-16 18:35:06 +08:00
 huangya
迫于开发需要,A 需要远程到内网中的 linux B 进行开发,由于需要在 B 上运行图形界面的程序,所以单纯的 ssh 不行.B 用的是 ubuntu 20.04.

1.B 上的远程服务端程序必须是非商业版本的。像 teamviewer 这种个人版是不行的。
2.无需考虑 A 是 linux 还是 windows.客户端我有办法解决.
1.由于 A 和B在内网,所以应该非常快。对程序的性能要求应该不高,主要是要满足条件 1.
7528 次点击
所在节点    Linux
56 条回复
ysc3839
2022-03-16 18:39:05 +08:00
xrdp?
e7
2022-03-16 18:39:11 +08:00
rustdesk?
allenforrest
2022-03-16 18:39:40 +08:00
ToDesk 如何?
huangmingyou
2022-03-16 18:40:26 +08:00
A 机器执行 xhost +; ssh -X B.server 在 B 上运行图像程序,就会在 A 屏幕显示了啊
thinkershare
2022-03-16 18:40:28 +08:00
别折腾了, 都不好用, 我就是这一套, 已经搞得快奔溃了!
如果在内网, 直接用 SSH 加 Xming, 外网都非常难用, 我换个各种方案, 没有一个靠谱的! 如果没有 3D 程序, 特别是游戏这种就还好, 如果有需要显卡的 CUDA 的, 就是一个巨大的坑, 我已经爬出来, 彻底放弃这个破玩意, Windows(A)还好, 如果 A 是 Mac 就更加坑爹, OpenGL 死掉后, 都没法使用显卡硬件加速到了
Itoktsnhc
2022-03-16 18:40:37 +08:00
VNC + noVnc
wuhann
2022-03-16 18:41:07 +08:00
你是需要使用 b 上完整的桌面环境的话就 vnc 呗,如果只是运行一个 gui 程序就好的话那就 x11 forwarding ,a 上装个 x server (其实自带 xserver 的 mobaxterm 就挺好的,不过你说个人版不行的话就)
libook
2022-03-16 18:46:19 +08:00
SSH 可以开隧道的,隧道可以映射端口转发网络请求。

如果 A 可以连上 B 的 SSH 的话,可以建立一个 SSH 隧道把 A 上的某一端口映射到 B 上 VNC 的端口,然后在 A 上用 VNC 客户端连本地这个端口,就可以了。
happyn
2022-03-16 18:47:12 +08:00
推荐自家服务,就是专门解决这个事情的,虽然目前比较简陋,但是运营稳定;

原理同 zerotier 、tailscale 是一样的,我们提供了公共服务器为接入的各个客户端组成虚拟局域网,尽可能打洞走 P2P ,家用宽带打洞成功率非常高,另外 P2P 不成功的时候走我们的服务器中转;

流量本地加密后传输,保证隐私安全;

我们有长期稳定的免费服务提供,如果对速度不满意的话,可以付费;年付费很便宜;

支持 Windows 、Linux 、Android 、MacOS 平台, 不同平台也可以互联;

客户端代码开源,不放心的可以自行编译运行;

楼主可以试试:

官网:
www.happyn.cn


发布介绍:
https://v2ex.com/t/796362
darknoll
2022-03-16 18:48:08 +08:00
xrdp ,还能几个人同时远程
happyn
2022-03-16 18:48:50 +08:00
组成虚拟局域网后 Linux B 就可以开启 VNC 服务;随便折腾了;
happyn
2022-03-16 18:50:28 +08:00
Linux 端支持 docker 运行,在官网上注册后拿到 服务 ID 、本地密钥、中转服务器地址;

直接 docker 运行一条命令就可以组网了;
thinkershare
2022-03-16 18:53:34 +08:00
另外 xrdp 在 Ubuntu 有巨大的坑, 我在 GitHub 仓库提到 issue 过了 2 年了还是没有解决, 超级卡(Ubuntu 18 好点), 其它版本的 Linux 发行版问题不大, 就是在 Ubuntu20.04 的默认桌面环境上几乎失去可用性. 你自己去 xrdp 的仓库下看看.
idblife
2022-03-16 18:56:42 +08:00
今天试了下 manjaro kde 的 xrdp ,没搞定。。。
idblife
2022-03-16 18:56:57 +08:00
@idblife
一进去就黑屏
m1911star
2022-03-16 19:04:21 +08:00
一直在用 rustdesk ,强烈推荐
happyn
2022-03-16 19:11:45 +08:00
想多罗嗦两句;我在实际使用过程中发现这种 "远程几台机器互相访问" 的需求其实挺小众的;

大部分都喜欢 teamviewer ,toDesk 这种桌面级别而且傻瓜化的远程控制;但是对于开发来说,有时候他不仅仅需要一个桌面,还需要访问远程机器商的 ssh ,或者一个 web 服务,或者一个 vnc 服务,或者自建的 mysql 、elasticsearch 、mongo 服务等等等等,或者直接控制多台机器的各种服务......

这种场景下最灵活的方案,我认为还是 VPN 级别的解决方案,但是传统的 VPN 配置繁琐,而且要求 VPN Server 的带宽好;普通用户折腾这些的成本很高;

这时候像 Zerotier 、tailscale 、N2N 这种支持 P2P 方式的软件 VPN 解决方案优势就显现出来了:

* 灵活--组成虚拟局域网后随便折腾各种服务
* 强壮--运行非常稳定,我有多个服务稳定运行半年多了,基本无感,就跟本地局域网差不多的体验;
* 流畅--家用宽带的上传带宽足够支撑比较流畅的远程桌面服务了(RDP 、VNC)

唯一的问题就是中转服务器搭建还需要折腾一下;对于一些 Geek 用户或许就是在自己的 VPS 上面几个命令的事;但是更懒的用户可能就想找个公共服务算了; happyn.cn 就为这些不想花时间折腾的人提供了方便一点的解决方案;
panzhc
2022-03-16 19:39:04 +08:00
Linux 对 Linux 的话可以考虑下 Spice
ruidoBlanco
2022-03-16 19:40:32 +08:00
guacamole
Tink
2022-03-16 19:41:21 +08:00
x11 forward 就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/840837

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX