V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
liyafe1997
V2EX  ›  Linux

Linux 下有无类似 Windows RDP 的远程桌面/RDP 方案

  •  1
     
  •   liyafe1997 · 216 天前 · 6704 次点击
    这是一个创建于 216 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要不是性能(当然性能也挺重要),最重要的是以下类似 Windows RDP 的 features:

    1. 能够在主机/远程桌面之间切换,即像 Windows 一样,我通过远程桌面登录同一个用户时,主机控制台上的会话会被踢掉,这样不是简单远程控制屏幕这么简单,我在远程时,电脑前的人无法看到我的操作。同时我回到电脑前面时,能把之前的会话切回主机控制台上使用。

    2. 能适应不同客户端的分辨率,能用多屏。

    目前没有发现类似的。如果直接用 vncserver/xorgxrdp 这种,每次都是开启一个新的会话,更别说 vncserver 是每次启动时写死分辨率的。

    如果用 x11vnc/x0vncserver 这种「控制现存的 XServer 」,稍微好一点,但是本质上还是像 Teamviewer/ToDesk 这种远程控制桌面,无法自适应客户端分辨率,而且主机那边屏幕(xserver)能看到你的所有操作,而且没法串流音频。目前我用 xrdp 连接 127.0.0.1 的 x11vnc 将就着用。

    有一个商业的方案叫 Thinlinc 似乎还行,10 用户以下免费,能在不同客户端之间自适应分辨率/多屏登录到同一个会话,而且能串流音频(上面一半的需求实现了,几乎等于纯用 RDP 连接 Windows 的功能),唯一的问题是,没法在主机控制台也就是电脑前登录,只能用远程。而且必须安装它家的客户端。

    还有什么别的能实现上述 Features 的方案可用吗?

    47 条回复    2024-05-07 06:31:56 +08:00
    geekzjj
        1
    geekzjj  
       216 天前 via Android
    gnome46 的 gdm3 和 gnome remote desktop 打上[这个补丁]( https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/merge_requests/249),防止 RDP 断开连接时销毁会话,能实现上述 Thinlinc 一样的功能,不过还没法实现本地会话复用。我也在关注此类方案。
    webcape233
        2
    webcape233  
       216 天前 via iPhone
    忍不住登录上来说一句,xrdp 不是无论采用后端 xorg (就是是 xorgxrdp )还是其他 vnc 后端,都是一个用户会话在另一个客户端登录,前面那个就掉线么,我常用 xorg 后端,分辨率是随客户端随便拉伸,况且 vnc 也可以不写死分辨率吧,多屏幕似乎你在 win 远程桌面的客户端选上所有显示器就行,(另 vnc 也能多屏幕全屏或者跨屏幕窗口化)
    abc8678
        3
    abc8678  
       216 天前 via Android
    我也想控制安卓备用机这个效果,估计是没办法实现了
    Eillott
        4
    Eillott  
       216 天前   ❤️ 1
    套娃,装 win 上虚拟机放 linux ,用 win 的远程桌面
    NessajCN
        5
    NessajCN  
       216 天前
    https://github.com/FreeRDP/FreeRDP
    你自己试试看符不符合,我也没咋用过
    ns09005264
        6
    ns09005264  
       216 天前
    freerdp 我经常用
    示例命令: xfreerdp +clipboard /u:username /p:password /w:1920 /h:1080 /v:192.168.1.5:3389 /audio-mode:0 /network:auto /cert:ignore
    Hopetree
        7
    Hopetree  
       216 天前
    前几天刚装了新版 Ubuntu ,系统自带的桌面共享就可以,然后客户端使用微软的 Microsoft Remote Desktop
    ecloud
        8
    ecloud  
       216 天前
    nomachine
    hxy100
        9
    hxy100  
       216 天前
    蹲一个,Windows 的 RDP 体验确实好,无人能出其右
    RealMan
        10
    RealMan  
       216 天前
    感觉用 udp 策略的应该就只有 Parsec ?开启付费版貌似也能屏蔽本地访问。不过好像 linux 只有客户端,没有控制端。
    lithiumii
        11
    lithiumii  
       216 天前 via Android
    @Hopetree Ubuntu 自带的就是 gnome remote desktop ,远程的时候本地电脑 1:1 展示操作的,不满足楼主要求
    kenvix
        12
    kenvix  
       216 天前
    似乎 Linux 就没一个能和 Windows 一样自适应分辨率+自适应缩放的
    shijingshijing
        13
    shijingshijing  
       216 天前
    @kenvix 试试 vinagre ,这个是 Redhat 的亲儿子。我很早就发现了 Linux 下一大票 VNC 客户端不支持分辨率适配,比如家里电脑是 1920x1080 的 24 寸显示器,笔记本是 Thinkpad 的 4k 屏,这时候你 VNC 过去,分辨率是按 1:1 显示的,屏幕贼小,字跟蚂蚁一样,几乎所有 Linux 下的 VNC 客户端都无法调整,直到我找到了 vinagre 。
    liyafe1997
        14
    liyafe1997  
    OP
       216 天前 via Android
    @geekzjj 试了,这东西效果和 vnc0server/x11vnc 一模一样
    liyafe1997
        15
    liyafe1997  
    OP
       216 天前 via Android
    @webcape233 前面那个理应不会掉线,掉线怕是你的 DE 崩了?
    而且掉线了,你开的程序不就没了嘛,每次等于都是新会话
    Radeon
        16
    Radeon  
       216 天前
    好主题,关注
    liyafe1997
        17
    liyafe1997  
    OP
       216 天前 via Android
    @NessajCN
    @ns09005264
    FreeRDP 只是个 RDP client 吧
    liyafe1997
        18
    liyafe1997  
    OP
       216 天前 via Android
    @shijingshijing 看了下这货就是个 vncviewer?最关键是服务器端那边用啥。
    shijingshijing
        19
    shijingshijing  
       216 天前
    @liyafe1997 对啊,服务器我用的标准的 vnc 那套,我就局域网弄一下 NAS 和 HomeLab 那些东西,不在外网弄,这一套基本满足我的需求了。
    pinocc012
        20
    pinocc012  
       216 天前
    试试 dcv ,商业软件,虽然我只是看别人用过
    milkpuff
        21
    milkpuff  
       216 天前
    wayland 桌面用 wayvnc ,客户端通过 vnc 连接,不会启动新会话。
    vivisidea
        22
    vivisidea  
       216 天前
    xrdp ?我记得好像之前用过
    samuel97857
        23
    samuel97857  
       216 天前 via Android
    vncserver 其实是可以做到这个程度的
    cheng6563
        24
    cheng6563  
       216 天前
    建议还是用远程控制而不是远程桌面,Linux 的远程桌面太蛋疼了。
    loopinfor
        25
    loopinfor  
       216 天前 via Android
    是不是远程技术支持不想让对方看到关键密码?
    我见到的是这么操作的:
    要求提供一台与 linux 服务器同局域网的 windows 电脑,使用向日葵远程控制 windows 电脑,然后在被控的 windows
    loopinfor
        26
    loopinfor  
       216 天前 via Android
    上操作 ssh 登录 linux ,结束前清理环境,清除 windows 上的 ssh 登录信息
    Jirajine
        27
    Jirajine  
       216 天前
    gnome46 自带的就是现有的 wayland 最先进的远程方案了,要是还不能满足你的需求别的更不行。
    MasterMonkey
        28
    MasterMonkey  
       216 天前
    我推荐一个,可能手动较多,需要自己评估
    1 。会话管理是 xdummy
    2 。远程控制用 rustdesk
    3 。分辨率调整使用 xrandr
    4 。声音没有特别好的机制:)
    weyou
        29
    weyou  
       216 天前 via Android
    nomachine +1
    zed1018
        30
    zed1018  
       216 天前
    ssh 转发 x11 呢,类似 wslg 那样。不知道 host 上如果有桌面会不会显示。
    liyafe1997
        31
    liyafe1997  
    OP
       216 天前 via Android
    @zed1018 这没法把我已经运行的程序/窗口从一个终端转移到另一个终端呀,SSH 一断了就没了。
    liyafe1997
        32
    liyafe1997  
    OP
       216 天前 via Android
    @loopinfor 不是,就是远程连接在办公室桌面上的开发机,自用。我需要在 1.办公室电脑本体前(本机显卡 xserver&键盘鼠标); 2.来自不同的远程终端连接,比如去会议室拿个笔记本,回家用家里台式机,躺床上又用另一笔记本,等等,不同的终端之间无缝切换连接,断开之后我的程序/窗口不会关掉,并且能自动适应不同客户端的分辨率/多屏。说白了就是 Windows RDP 的效果。
    james122333
        33
    james122333  
       216 天前 via Android
    推 x11 forwarding 远端可以不开 x11 server
    至于 ssh 断就没...哪个远端桌面断线了还可以用... 用 nohup 不就好了 用 virtualgl 也可以连到 ssh
    至于 freerdp 当然有 server 只是 win 下编译不过而已
    buaacss
        34
    buaacss  
       216 天前
    moonlight + sunshine 串流,网速好 120FPS ,还能把触摸屏当 pad 用。
    james122333
        35
    james122333  
       216 天前 via Android
    好吧 断线重连... 那就用 xpra
    webcape233
        36
    webcape233  
       216 天前 via iPhone
    @liyafe1997 我说的掉线是说前一个登录被挤下线 ,就类似 win 远程桌面那种
    webcape233
        37
    webcape233  
       216 天前 via iPhone
    亲测没问题,我 mbp 用 rd 连上 xrdp ( xorg 后端) ,然后手机也用 ms 的 rd 连上 ,mbp 马上就断开连接了,体验同 win 。 另外楼上的朋友,turbovnc 作为客户端连 vnc 会话是可以随便拉伸窗口的
    ruanimal
        38
    ruanimal  
       215 天前
    用起来比较舒服的还是 xrdp
    rajab
        39
    rajab  
       215 天前 via Android
    试试 nomachine
    我用 xrdp 连没显卡的虚拟机感觉总是卡
    clemenH
        40
    clemenH  
       215 天前
    如果只是你说的这两个功能,向日葵和 todesk 都能实现,不过性能不太好就是了,只适合临时使用
    wangyuescr
        41
    wangyuescr  
       215 天前
    @Hopetree 而且 Ubuntu 要是锁屏了,自带的桌面共享就连不上了,不知道新版还有这个问题没。
    RYAN10041
        42
    RYAN10041  
       215 天前
    xrdp
    zeroc0077
        43
    zeroc0077  
       215 天前
    Ubuntu24 好像自带了
    dilidilid
        44
    dilidilid  
       211 天前
    XRDP 满足你的这些所有要求,甚至现在有支持 NVidia 显卡加速的 fork
    liyafe1997
        45
    liyafe1997  
    OP
       211 天前 via Android
    @dilidilid 你说说咋配置?我逛了一圈没想明白 一个会话能在主机和不同的远程终端上使用 这个咋实现
    dilidilid
        46
    dilidilid  
       210 天前
    @liyafe1997 哦你的意思是需要本地的会话在被 remote session 打断之后保留所有的窗口?那这个好像不太行,我不太清楚能不能 hack ,默认应该是不行的,原 session 需要 log out 。不过别的功能都是支持的,包括自适应分辨率,音频,电脑前的人无法看到你的操作,多屏(这个支持不完全,有一些 variants 是支持的)
    liyafe1997
        47
    liyafe1997  
    OP
       210 天前
    @dilidilid 对的,这是核心,说白了就是 Windows RDP 的效果
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1107 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:01 · PVG 03:01 · LAX 11:01 · JFK 14:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.