1. 换机器后笔记无法显示
这是因为新建账户与原账户userid不一致。
正确的同步方式为:
- 下载leanote并解压,不运行,不新建账户
- 从坚果云同步leanote数据
- 创建leanote的数据目录,建立软连接指向坚果云中的真实数据
- 运行leanote
总之,在既有的多个机器上同步leanote笔记,每次开工前应该先用坚果云同步数据,同步完成后再打开leanote,否则会数据冲突!
2. 从Linux到Windows图片无法显示
这是因为系统路径不一样。查看leanote/nedb55/(userid)/images.db
文件可一窥究竟。
windows图片路径前缀为C:\Users\Ting\AppData\Roaming/leanote/data/(userid)/images/
, linux为/home/wy/.config/leanote/data/(userid)/images/
.
写了个python脚本实现转换:
# -*- coding: utf-8 -*- ''' python t.py win 即可将文件路径转变为Windows系统下的路径; python t.py linux 即可转为Linux系统下的路径。 ''' import json import sys def store(mylist): with open('images.db', 'w') as f: for line in mylist: f.write(json.dumps(line)+" ") def load(): mylist=[] with open('images.db') as f: for line in f.readlines(): mylist.append(line) return mylist if __name__ == "__main__": if(len(sys.argv)!=2): print("input an arg: win OR linux") sys.exit(1) prefix="" if(sys.argv[1]=="win"): prefix="C:\Users\Ting\AppData\Roaming/leanote/data/5a00fbf54dc7275b64000000/images/" elif(sys.argv[1]=="linux"): prefix="/home/wy/.config/leanote/data/5a00fbf54dc7275b64000000/images/" else: print("arg error!") sys.exit(1) mylist=load() reslist=[] # print(type(mylist)) # <type 'list'> for line in mylist: #print("000:" + line) #print(type(line)) # <type 'str'> json_line=json.loads(line) # print(type(json_line)) # # <type 'dict'> file_name=json_line["Name"] path=prefix + file_name json_line["Path"]=path #print("111:" + str(json_line)) reslist.append(json_line) store(reslist) print("done!")
另外,既然使用本地账户,就删除images.db文件中ServerFileId的对应内容。