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

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

  •  1
     
  •   liyafe1997 · 2024-05-01 06:45:06 +08:00 · 8279 次点击
    这是一个创建于 371 天前的主题,其中的信息可能已经有所发展或是发生改变。

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