• 请不要在回答技术问题时复制粘贴 AI 生成的内容
szzhiyang
V2EX  ›  程序员

多设备设置同步真的是一个世界性难题吗?搜了一圈好像没有一款合适的简单易用的解决方案

  •  
  •   szzhiyang · Feb 6, 2022 · 4372 views
    This topic created in 1582 days ago, the information mentioned may be changed or developed.

    即便只有两台操作系统相同的设备(包括手机和电脑),两者的软件设置、系统设置和安装的软件都难以保持一致,更别提有更多设备或更多操作系统的情况了。虽然个别软件支持跨设备同步设置,但其他大多数软件呢?那些很知名、很流行、很硬核的生产力工具都没几个可以同步设置,然而它们的设置是最繁多最复杂的。

    讲真,这个问题使得设备数量 1 + 1 < 2 ,多了反而不好,想问问手持多台设备的大家是怎么解决这个问题的?这个问题真的无解吗?

    21 replies    2022-03-29 21:33:58 +08:00
    Cheons
        1
    Cheons  
       Feb 6, 2022 via Android
    你需要的是云,不是同步
    Explr
        2
    Explr  
       Feb 6, 2022 via Android
    一个不成熟的想法,就 windows 而言能不能用第三方同步工具同步%APPDATA%\APPName 文件夹……

    但这要求软件开发者遵循开发规范,可漫游的配置放 Roaming ,本地相关配置放 Local 。
    szzhiyang
        3
    szzhiyang  
    OP
       Feb 6, 2022
    @Cheons 是指云机器和远程桌面吗?好像有些太理想化了。
    Cheons
        4
    Cheons  
       Feb 6, 2022 via Android
    @szzhiyang 太理想是指?延迟?
    工具类软件城域网内延迟不是问题,
    游戏,
    szzhiyang
        5
    szzhiyang  
    OP
       Feb 6, 2022   ❤️ 1
    @Explr

    可以仔细考虑一下,设置同步会比文件夹同步复杂很多:

    1. 设置的变更、同步、冲突、合并不是以文件为粒度的,而是以设置文件的部分内容为粒度的,有些软件的设置文件甚至不是纯文本格式的,一些 Windows 软件是用注册表存储设置的

    2. 几乎没有软件能在不重启的前提下响应其他软件对设置文件的更改

    这个问题真的越想越复杂,对于一个没有自带跨设备设置同步功能的软件,好像真没什么办法很好地同步它的设置。
    mxT52CRuqR6o5
        6
    mxT52CRuqR6o5  
       Feb 6, 2022 via Android
    既然你想把不同的设备用出一样的感觉,我也是 1l 的观点
    Hyvi
        7
    Hyvi  
       Feb 6, 2022
    尽量只用 chrome 浏览器完成所有大部分的事情,然后 chrome 配置在各个设备上保持同步。
    LeeReamond
        8
    LeeReamond  
       Feb 6, 2022   ❤️ 1
    我觉得不是世界性的难题,我用什么玩原 P 它都是一样的
    cfans1993
        9
    cfans1993  
       Feb 6, 2022 via Android
    笔记软件是不是你说的这种同步
    cpstar
        10
    cpstar  
       Feb 6, 2022
    这个问题吧。。。
    任何两台运行条件不同、运行环境不同的系统,在运行态上的实际情况肯定会不同,一套配置显然不能让两个系统都良好运转,更甭说一台运行的特殊情况使得另一台出现宕机。换句话讲,就算是同卵双胞胎也有些许不通。
    xuanbg
        11
    xuanbg  
       Feb 6, 2022
    不同设备的设置项都不一样,同步个寂寞么。
    Overfill3641
        12
    Overfill3641  
       Feb 6, 2022
    同城别说办公了,游戏都可以串流,异地看物理距离。当然,必须本机使用的情况就不合适了。
    ikas
        13
    ikas  
       Feb 6, 2022
    现在都是封闭体验,圈用户..跨平台太难了..
    微软搞的几年前搞 Project Rome 跨平台计划,提供了很多 api,比如跨平台服务调用,跨平台通知,文件传送,除了 linux 基本都可以打通

    但是多少厂商,开发者会跟进?搞成方便的跨平台,谁又愿意买自己的产品?

    苹果:我自己生态互联
    国内各品牌:万物互联
    微软:来一起连接啊
    滚!
    ikas
        14
    ikas  
       Feb 6, 2022
    基于跨平台通知,自己开发一个,并不难

    sdk 现状:
    这是目前的砍掉很多东西的版本了....

    Windows SDK 设备中继、活动 /时间线
    Windows (预览) Microsoft Graph 通知
    Android 设备中继、活动 /时间线、Microsoft Graph 通知(预览版)
    iOS 设备中继、活动 /时间线、Microsoft Graph 通知(预览版)
    MSGraph( http api) 设备中继、活动 /时间线、Microsoft Graph 通知
    szzhiyang
        15
    szzhiyang  
    OP
       Feb 6, 2022
    @cpstar Visual Studio Code 自带的设置同步功能就允许忽略某些设置的同步,还是有办法的。
    Mouhou
        16
    Mouhou  
       Feb 6, 2022 via iPhone
    云电脑的优势一下子就出来了,一台主机,无数终端。
    abc8678
        17
    abc8678  
       Feb 6, 2022 via Android
    安卓之间有品牌隔阂,导致我无法使用华为和小米的多屏协同。传文件要借助 nas ,应用数据同步几乎不可能或者很麻烦。本来想分工合作,结果变成了主力机加备用机的使用形式,很割裂,不舒服。其中,我的备用机支持耳机孔,主力机只有 typeC 。有时候去图书馆忘了戴蓝牙耳机,但两部手机都带了。就两台手机都打开同一个视频,其中一个看,另一个声音开到最小声凑在耳边听,要暂停就更麻烦了……
    cpstar
        18
    cpstar  
       Feb 7, 2022   ❤️ 1
    OP 15# 我的回复当时只说了一半,从同步的等级来说,可以分系统级同步、应用级同步、用户数据级同步,你说的这个 VSCode 中的,是用户数据级同步,而且绝大多数能够实现(跨设备)同步的应用,也只能到用户数据级同步。
    微软在 RDP 上承载了 RemoteApp ,算是某种应用级同步;而系统级同步基本上如我所说,因为设备的运行环境、状态差异,很难实现。而你的题目显然是希望系统级同步,最次也是应用级同步。

    给一下定义。
    - 系统级同步:操作系统从内核到配置完全同步,同时包括了其上层安装的各类应用软件,两台设备之间犹如克隆;
    - 应用级同步:操作系统仅同步一些配置参数,或不同步,仅同步各种安装的应用软件及其运行态参数,在使用表现上两台设备趋同;
    - 用户数据级同步:仅同步用户创建的数据。

    下边是我当时没有说的后半段。
    如果说最理想的系统级同步那么复杂,同时 1+1<2 了,那换个思路思考,能不能直接只有 1 ,没有另外的 1 ,即一台设备走天下?于是考虑各种场景,固定场景、移动场景,前者不担心能量消耗可以高算力,而后者限于能量算力不高,这就是矛盾。那么可否借助网络把固定的高算力提供给移动的中低算力,所以这就是云计算的真正内涵,这种情况下网络带宽就需要较高水平。目前基于局域网的虚拟桌面方案完全成熟。借助 5G 能力,基于移动网络的新虚拟桌面是一个方向,外加柔性屏使大尺寸屏幕小型化。所以,后边你就自己琢磨去吧。
    opengps
        19
    opengps  
       Feb 7, 2022
    多设备的话,尽量用 nas 之类的服务,用群辉 webdav 之类的办法跨公网共享文件比较轻松些
    hst001
        20
    hst001  
       Feb 7, 2022
    跨平台的应用同步设置只是在给用户和自己找麻烦,不同平台的使用方式差异很大,需要的设置并不一样。
    basncy
        21
    basncy  
       Mar 29, 2022
    无盘系统
    kernel vmlinuz
    initrd initramfs.img
    imgargs vmlinuz initrd=initramfs.img nfsroot=${server_ip}:${nfs_path} netboot=nfs ip=dhcp
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2861 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 09:16 · PVG 17:16 · LAX 02:16 · JFK 05:16
    ♥ Do have faith in what you're doing.