V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phpfpm
V2EX  ›  Windows

实战 RDP Wrapper 实现 windows 多用户

  •  1
     
  •   phpfpm · 2020-07-17 08:38:38 +08:00 · 4043 次点击
    这是一个创建于 1372 天前的主题,其中的信息可能已经有所发展或是发生改变。

    挽尊,前文提要

    https://www.v2ex.com/t/690471 并没有人回答我,我就自问自答了。

    需求背景:

    nas 需要一个 native session(客厅的 HTPC)和一个 daemon session (执行一些守护脚本什么的)

    操作系统: win10 LTSC
    

    解决方案

    基于项目 rdpwrap 以及支持对应版本的 windows 的 patch config https://raw.githubusercontent.com/affinityv/INI-RDPWRAP/master/rdpwrap.ini

    安装 rdp wrapper

    msi 包似乎装不上,用的 zip 包解压缩到任意文件夹

    管理员执行 install,会自动下载 rdpwrap.ini

    这个版本会比较旧

    替换 rdpwrap.ini 为最新版本

    以 native 方式登录,停止 rdp 服务,否则无法替换文件。

    这里我卡了一段时间,因为一直在远程桌面操作

    于是就导致了死循环

    一些关键的选项

    就是是否勾选 Single User Per Session

    简而言之,就是允许单用户多 session

    如果去掉勾选,单用户可以启动多个 session,就有点类似于 tmux 的 attach 了

    但是一个用户多 session 会导致一些自启动的服务于被启动两次,这就鬼扯了。

    顺带试了一下,如果一个用户多个 session 被允许了,那么桌面用户登录的时候会新启动一个 session, 不能选已有的 session 。

    最终

    新建一个不需要密码的用户直接给电视的 hdmi 使用

    这样这个用户保持登录的同时,远程桌面连接不会挤掉桌面用户。

    thanks

    完。

    20 条回复    2020-11-17 15:42:29 +08:00
    lekai63
        1
    lekai63  
       2020-07-17 09:04:45 +08:00
    同样是 win10 LSTC,同样是 RDP Wraper,同样的改了 rdpwrap.ini
    一开始是能用的。后来一次 win 升级还是怎么样,就不能用了。加了对应版本号的 rdpwrap.ini 也不行。
    囧囧
    phpfpm
        2
    phpfpm  
    OP
       2020-07-17 09:24:53 +08:00
    @lekai63 我记得老版本的 rdp wrapper 需要修改 dll 文件,签名失败,还得重启什么的来着

    现在好像都不用了,直接 hack 进服务加载修改之后的 dll 。
    windows remote d service 居然会加载 rdpw 的 ini 文件

    科技真高级。
    vfxx
        3
    vfxx  
       2020-07-17 09:46:21 +08:00
    用了很久了,在 LTSB 版本下很好用,就是遇到个问题,不知道是不是 RDP Wraper 导致的,在远程登录界面 未登录可以关闭 /重启计算机。
    phpfpm
        4
    phpfpm  
    OP
       2020-07-17 09:54:22 +08:00
    @vfxx 我擦嘞 这么凶残么。。。。

    试了一下,进入 login screen 之后

    真的有诶!!!

    那这玩意还能用么。。。。
    mmdsun
        6
    mmdsun  
       2020-07-17 09:58:00 +08:00 via Android
    有多用户需求的话 下次直接装 Windows server 系统吧
    不用折腾。。找补丁。比 LSTC 还稳定
    phpfpm
        8
    phpfpm  
    OP
       2020-07-17 10:12:51 +08:00
    @mmdsun 主要还是有一些桌面的需求
    htpc 还是要一些显卡加速什么的。

    ltsc 平衡一些。
    vfxx
        9
    vfxx  
       2020-07-17 10:22:24 +08:00
    @phpfpm 非常感谢,解决了我遇到的一个大问题。 很好奇这个问题我百度搜了很久,在中文互联网上竟然没人讨论。让我差点以为就我自己遇到了呢。
    lingll
        10
    lingll  
       2020-07-17 11:32:45 +08:00 via Android
    这个工具也可以让家庭版具有远程桌面服务的功能
    source
        11
    source  
       2020-07-17 11:50:16 +08:00
    非常感谢,看了楼主的折腾全过程,有信心再去尝试一下了
    ps:你的 htpc 在客厅里播放视频这种操作是键鼠接上直接点开文件播放的?还是说有影音解决方案?
    phpfpm
        12
    phpfpm  
    OP
       2020-07-17 12:03:56 +08:00
    @source 就鼠标键盘,因为一般就是连续刷一个剧

    小米盒子的 smb 共享巨难用,都懒得用了,还不如电脑上点两下鼠标加了列表就一部剧了
    phpfpm
        13
    phpfpm  
    OP
       2020-07-17 12:04:15 +08:00
    @lingll 回头我试一下,有一个 win8 的寨板子。
    phpfpm
        14
    phpfpm  
    OP
       2020-07-17 12:04:55 +08:00
    @vfxx 哈哈哈你不提醒我我都没发现这个问题,放狗搜了一下一群人还去微软那里喷但是并没有结果。

    后来找到了一些解决方案。

    很好奇这玩意居然是默认的。
    lekai63
        15
    lekai63  
       2020-07-17 12:37:07 +08:00 via iPhone
    @phpfpm 我用的时候已经是不用换 dll 了
    Nadao
        16
    Nadao  
       2020-07-17 13:01:27 +08:00
    之前查过好像 WIN10 可以改到多用户同时远程登录。
    source
        17
    source  
       2020-07-17 13:59:52 +08:00
    @phpfpm #12 看剧和电影的话,推荐 jellyfin 做管理,我觉得非常棒,可以了解下,开源项目
    source
        18
    source  
       2020-07-17 14:00:30 +08:00
    @phpfpm #12 再搭配 kodi 使用可以支持遥控器操作,不需要键鼠
    SAGAN
        19
    SAGAN  
       2020-07-18 10:38:25 +08:00   ❤️ 1
    rdpwrap.ini 可以直接修改原文件(而不是替换文件),改完后在 services.msc 里重启下 rdp 服务生效,这样就可以直接在 rdp 里操作了。

    我用了 rdpwrap 发现有些问题,比如有时 rdp 连进来时桌面黑屏。最后还是选择直接修改 termsrv.dll 文件。
    phpfpm
        20
    phpfpm  
    OP
       2020-11-17 15:42:29 +08:00
    @SAGAN 我刚才试了一下,重启直接连不上 rdp 了。
    (等下班回家再试下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 05:46 · PVG 13:46 · LAX 22:46 · JFK 01:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.