收起左侧

飞牛Docker运行Win版天翼云同步端记录[为瓶醋包锅饺子]

2
回复
429
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

飞牛Docker运行Win版天翼云同步端记录[为瓶醋包锅饺子]

作者:KoCleo

起因是这样的,我使用飞牛NAS在电信的天翼云盘挂载搭建着一个安卓设备刷机玩机固件资源站,各种固件/资源压缩后加起来快1T。有一天天翼云盘上的所有文件无缘消失,在客户端回收站亦没找到。紧张后在客服帮助下找回,但也让我认识到:只有数据在自己手上、异地备份才是最安全的,于是便开始研究如何和天翼云进行本地文件双向同步(因为我有时想直接推送本地,在别处推云盘)开启文件快照后也不怕无缘被删无法找回。

研究发现目前天翼没有其他版本好在NAS上跑。最开始是打算OpenList结合rclone挂载本地脚本定时同步的,但折腾好久感觉rclone不太稳定,同步校验较严格,经常报错,也玩不明白。故开始尝试其他方案,愈研究才发现实现并不简单,首先目前市面上虽有几个支持挂载天翼云盘的产品,但都不能直接部署在我的NAS上,也不支持文件同步。NAS为奔腾双核+4G的小主机,装了Win8虚拟机发现天翼要求Windows10+&64位系统,白忙活。期间还甚至尝试搭建Android Docker容器运行天翼APP同步(越来越魔怔了),发现均不适用,此时已熬2天夜,实在受不了,决定尝试最麻烦的办法,使用Docker跑桌面+NoVNC直接在浏览器远程访问图形界面(不想动NAS系统,老容易玩炸),查找一番发现了确实有带Desktop&NoVNC的Docker,之后在下载和wine搭建也经历各种问题,算了,直接讲我的具体方法吧。

NAS打开Docker拉取我改自invelop/wine-novnc的kocleo/wine-novnc-docker:main镜像(添加中文local支持,否则不支持带中文的目录和文件),地址:ghcr.io/kocleo/wine-novnc-docker:main

image.png

创建容器

使用该镜像创建容器并:

映射本地:

  1. [你要存放wine Windows系统数据的目录] -> /root/.wine/

    • 这样相当于持久化Windows容器(飞牛NAS的Docker进行一次配置就重置一次数据)
  2. [用于交换文件、放置安装程序exe的目录] -> /app

    • 原作者设定
  3. [其他你想联通的盘]

设置除自带以外的变量:

  1. VNC_PASSWD: [你远程控制登录网页NoVNC或VNC的图形化界面密码]

image.png

其他保持默认就好,开启容器后不失败的话直接点击容器管理器开放端口6080即可网页登陆到NoVNC图形化桌面(飞牛自带端口代理),输入密码即可登陆桌面,黑色的,打开左侧NoVNC控制面板,设置缩放方式为本地缩放即可完整缩放画面,鼠标右键空白选择Applications->Shells->Bash,该终端选中内容自动复制,鼠标中键粘贴,桌面剪切板位于NoVNC菜单[剪切板]面板可与主机共享剪切板。

初始化配置

image.png

输入以下命令进行初始化配置:

wincfg

选择兼容模式为Windows10

字体配置

为确保文字显示正常需要借用你Windows电脑的以下字体文件到wine C盘对应目录(由于此时C盘已挂载存储到宿主机你设定的目录,复制过去就行):

  • C:\Windows\Fonts\msyh.ttc
  • C:\Windows\Fonts\msyhbd.ttc
  • C:\Windows\Fonts\simsun.ttc
  • C:\Windows\Fonts\simhei.ttf

然后在Docker终端执行以下命令注册字体,并启用字体平滑:

cd /root/.wine/drive_c/windows/Fonts

wine reg add 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts' /v "Microsoft YaHei & Microsoft YaHei UI (TrueType)" /t REG_SZ /d "msyh.ttc" /f

wine reg add 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts' /v "SimHei (TrueType)" /t REG_SZ /d "simhei.ttf" /f

wine reg add 'HKCU\Control Panel\Desktop' /v FontSmoothing /t REG_SZ /d 2 /f
wine reg add 'HKCU\Control Panel\Desktop' /v FontSmoothingType /t REG_DWORD /d 00000002 /f
wine reg add 'HKCU\Control Panel\Desktop' /v FontSmoothingGamma /t REG_DWORD /d 00000578 /f
wine reg add 'HKCU\Control Panel\Desktop' /v FontSmoothingOrientation /t REG_DWORD /d 00000001 /f

重启wine:

wineserver -k

安装天翼云客户端

此时即可使用wine运行图形化天翼网盘安装程序(建议新版,旧版依赖系统导致不显示登陆):

image.png

wine [exe路径]

解决依赖问题

途中出现"未安装Visual Studio 2010 Tools for"不用管,安装完毕后会打不开,看到终端报错:

0110:err:module:import_dll Library SLWGA.dll (which is needed by L"C:\Program Files\ecloud\device_os_infos_plugin.dll") not found 0110:err:module:import_dll Library device_os_infos_plugin.dll (which is needed by L"C:\Program Files\ecloud\eCloud.exe") not found 0110:err:module:loader_init Importing dlls for L"C:\Program Files\ecloud\eCloud.exe" failed, status c0000135

解决方法:借用你Windows电脑C:\Windows\System32的slwga.dll到Wine对应目录再次重启就行了。

实现自动同步

此时我就可以使用天翼云客户端自带的同步盘并修改OpenList挂载点实现自动同步了,你也可以使用脚本实现NAS开机时自动启动Docker和天翼实现无人值守。

飞牛NAS扩展功能

飞牛的话你还可以去论坛查看:
[软件发布]全新2.0扩展图标管理 弃用原有PC管理注入方案 支持App及公网
https://club.fnnas.com/forum.php?mod=viewthread&tid=41357

评价

我这个方案超级傻纯为杯醋包盘饺子,但确实这是我能想到性能最好的原生同步方案了,但更好的办法肯定有,期待评论区指出,别骂我chun就行😶不过我觉得参考价值也在于Docker Wine的搭建。

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

5

回帖

0

牛值

江湖小虾

OpenList结合rclone挂载本地脚本定时同步, 现在用这种,每天凌晨2点跑任务

,还行,家里的相册可以备。

9

主题

85

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章

折腾也是一种乐趣!兄弟挺佩服你的。handshake

前提是有意义,至少对我这种小众需求来说没问题  详情 回复
3 天前
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则