Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
huangya
V2EX  ›  Linux

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

  •  
  •   huangya · Mar 16, 2022 · 9602 views
    This topic created in 1542 days ago, the information mentioned may be changed or developed.
    迫于开发需要,A 需要远程到内网中的 linux B 进行开发,由于需要在 B 上运行图形界面的程序,所以单纯的 ssh 不行.B 用的是 ubuntu 20.04.

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

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

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

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

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

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

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

    楼主可以试试:

    官网:
    www.happyn.cn


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

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

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

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

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

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

    唯一的问题就是中转服务器搭建还需要折腾一下;对于一些 Geek 用户或许就是在自己的 VPS 上面几个命令的事;但是更懒的用户可能就想找个公共服务算了; happyn.cn 就为这些不想花时间折腾的人提供了方便一点的解决方案;
    panzhc
        18
    panzhc  
       Mar 16, 2022
    Linux 对 Linux 的话可以考虑下 Spice
    ruidoBlanco
        19
    ruidoBlanco  
       Mar 16, 2022
    guacamole
    Tink
        20
    Tink  
    PRO
       Mar 16, 2022 via Android
    x11 forward 就行
    datou
        21
    datou  
       Mar 16, 2022
    关键词:x11 forward
    huangya
        22
    huangya  
    OP
       Mar 16, 2022
    @e7
    @m1911star
    这个要关掉 wayland
    icepie
        23
    icepie  
       Mar 16, 2022
    wayland 也可以用 waypipe
    ungrown
        24
    ungrown  
       Mar 16, 2022
    @thinkershare xpra 试过吗?我个人使用是远程连 Windows 就用自带的远程桌面,连 Linux 就用 xpra 。
    很多年前用 x2go ,当时觉得挺好用的,后来不知怎么回事几台设备都不能正常用了,没能成功排障就干脆不用 x2go 了。
    thinkershare
        25
    thinkershare  
       Mar 16, 2022
    @ungrown 放弃了, 懒得这特了, 主要是 Mac 连接 Linux 问题太多, 我需要 CUDA 加速查看 PointCloud, 这个没有硬件加速会非常卡, 操作起来极度不流畅, 画面传输的软件在内网还可以, 但一旦跨国(我的 Linux 服务器不在大陆), 就会非常看, VPN 和机场我都测试过了, 延迟是无法接受的, 我现在不折腾了, 重新在家里搭了环境. Linux 的桌面环境我是收购了, 我 10 前用的时候就问题多多, 10 年问题还是多多, 所以我还是只打算使用它的 bash shell, 彻底放弃它的图形, 不想折磨自己, 不是 ROS 这个破软件, 我早就放弃了折腾图像界面了!
    Ediacaran
        26
    Ediacaran  
       Mar 16, 2022
    我的用法是,本地跑一个 xlaunch ,远程 zshrc 添加一行 export display=` $SSH_CLIENT | awk '{ print $1}'`:0 (大概这么写)。然后直接起 gui 程序,如 gvim
    zzhzero
        27
    zzhzero  
       Mar 16, 2022
    大家看清楚点需求啊,感觉需求就是单纯的需要显示远程 linux 的某个软件的 gui,这个 linux 甚至装没装桌面都不一定,大家推荐各种远程桌面有啥用啊,这个场景下 X11 是最通用的,特别是当你用的是 MobaXterm 这种内建 x11,连多余的软件都不需要装
    bitdepth
        28
    bitdepth  
       Mar 17, 2022   ❤️ 1
    需要 GPU 加速,最普通就是 steam remote 這樣的方案
    weston 其實支援 VA-API encoding 後 remote
    dayeye2006199
        29
    dayeye2006199  
       Mar 17, 2022   ❤️ 2
    x11 fowarding 可能是侵入式最小的解决方案了。

    1. 基本上不太需要安装额外的软件和设置,服务端安装 Xserver ,客户端有 Xclient 就可以了。如果 AB 都是带图形环境的 linux ,这两个都带上了。
    2. 走的是 SSH 协议,比较安全
    3. 纯内网环境就能用,流量不出内网

    这套方案我读研究生的时候用来运行 matlab 用了好几年,特别适合,久经考验
    daveh
        30
    daveh  
       Mar 17, 2022 via iPhone
    xrdp +1
    patrickyoung
        31
    patrickyoung  
       Mar 17, 2022
    x11 forwarding
    我自己用 x2go
    tvirus
        32
    tvirus  
       Mar 17, 2022
    xrdp +1
    ThirdFlame
        33
    ThirdFlame  
       Mar 17, 2022
    anydesk 直连 7070 端口。
    chocotan
        34
    chocotan  
       Mar 17, 2022
    zerotier 配合 vnc
    非常棒
    zzzzxxxxxx468
        35
    zzzzxxxxxx468  
       Mar 17, 2022
    X11vnc 可以用,配合虚拟显示器,加 lightgdm ,
    mgrddsj
        36
    mgrddsj  
       Mar 17, 2022 via Android
    要么 VNC ,要么直接连接 x server
    cat9life
        37
    cat9life  
       Mar 17, 2022
    @m1911star 显示自建服务器要购买 license ,但是因为新版本即将发布多以 licence 暂停出售?
    ltkun
        38
    ltkun  
       Mar 17, 2022 via Android
    Felldeadbird
        39
    Felldeadbird  
       Mar 17, 2022
    VNC 最简单了。
    huangya
        40
    huangya  
    OP
       Mar 17, 2022
    @ThirdFlame anydesk 个人版应该上不能放在公司使用.
    MasterMonkey
        41
    MasterMonkey  
       Mar 17, 2022 via iPhone
    nomachine 惊艳死你
    2NUT
        42
    2NUT  
       Mar 17, 2022
    x server
    2NUT
        43
    2NUT  
       Mar 17, 2022
    @dayeye2006199 #29 明明 x11 已经解决问题了, 不知道为啥有那么多重量级方案
    cutiechi
        44
    cutiechi  
       Mar 17, 2022
    xrdp
    NSAgold
        45
    NSAgold  
       Mar 17, 2022
    x11 转发
    idblife
        46
    idblife  
       Mar 17, 2022   ❤️ 1
    @MasterMonkey
    是哪方面的经验?
    leimao
        47
    leimao  
       Mar 17, 2022
    flyingfz
        48
    flyingfz  
       Mar 17, 2022
    flyingfz
        49
    flyingfz  
       Mar 17, 2022
    我是用这个 脚本 安装的 xrdp ,也是在内网里 , 用起来 还不错。
    wanguorui123
        50
    wanguorui123  
       Mar 17, 2022
    VNC
    MasterMonkey
        51
    MasterMonkey  
       Mar 17, 2022 via iPhone
    @idblife 超级流畅,看视频,打游戏,搞开发都没问题。linux 没显示器也没关系。他自带

    随意挂载本地远程设备
    idblife
        52
    idblife  
       Mar 17, 2022 via iPhone
    @MasterMonkey
    然而我装上后发现连不上,日志里有个 pam 错误,4000 端口都没起来
    levinit
        53
    levinit  
       Mar 19, 2022 via iPhone
    为啥不用 vnc 呢😳或者 x11
    想要 gpu 渲染好 turbovnc virtualgl 了解下
    notgoda
        54
    notgoda  
       May 27, 2023 via iPhone   ❤️ 1
    @thinkershare
    @daveh
    @daveh
    @tvirus
    @superchijinpeng
    @flyingfz
    @idblife
    @darknoll
    @darknoll
    @ysc3839 不好意思,借楼问问大家 xrdp 能够用 IPV 4 连吗? arm ubuntu 20.04 上安装了 xrdp ( 0.9.12 版本), 发现端口只监听在 IPV6 , 网上找了半天按照建议的方法修改 /etc/xrdp/xrdp.ini 文件,
    Change port=3389 to port=tcp://:3389

    现在 xrdp-sesman 3350 端口依旧监听 ipv6, 导致连接失败
    :~# sudo netstat -ptan | grep xrdp
    tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 1047/xrdp
    tcp6 0 0 ::1:3350 :::* LISTEN 986/xrdp-sesman


    求助大家该如何排查,谢谢
    ysc3839
        55
    ysc3839  
       May 27, 2023 via Android
    @notgoda 你试过连不上?它这个应该是混合监听,IPv4 也可以连的
    notgoda
        56
    notgoda  
       May 27, 2023 via iPhone
    @ysc3839 是的,防火墙已经全部开放所有 ip 进站连接, 在 Oracle 本机和其他主机上 Tcping 测试 arm 分配的公网 ipv4 地址 152.70.xx.xx 都显示 no route ,但是 Oracle 本机 tcping arm 分配的内网地址 10.0.0.1xx 可以连接通 , 请问有什么排查思路吗?谢谢大佬
    https://imgur.com/a/9BrGvV1
    PowerDi
        57
    PowerDi  
       Jul 30, 2024
    @thinkershare #25 有办法解决 rviz 的 x11 问题吗
    thinkershare
        58
    thinkershare  
       Jul 30, 2024
    @PowerDi 已经不折腾 ROS 了,最近在搞深度学习,不折腾机器人了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1410 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 159ms · UTC 16:57 · PVG 00:57 · LAX 09:57 · JFK 12:57
    ♥ Do have faith in what you're doing.