如何自建NAS以及玩出花(四):个人电子书库:Calibre
个人电子书库:Calibre
你是否有很多的电子书却没法整理?你是否想搭建一个属于自己的在线图书馆?你是否因为阅读器不支持mobi或AZW3格式而烦恼?如果你有以上这些问题,那真的推荐你去试一试Calibre这个软件。
Calibre是什么
Calibre是一款强大且易用的电子书本地管理工具,可以在Windows、macOS和Linux平台上集中管理中格式的电子书。本地?管理?现在人手一部手机ipad,习惯在微信阅读、多看等平台,实现购买到阅读的一条龙服务,为什么还需要一款「本地」电子书「管理」工具,而且咱这不是NAS教程吗?又有本地服务器什么事情?
其实Calibre并不只是一款「本地电子书管理工具」,管理电子书并不是我们真正的需求,Calibre带来的是不依附于其他电子书平台,完全自由而又完善的电子书使用体验。
Calibre怎么使用
像是微信阅读、多看等平台,只能够获取到平台上拥有的书籍,当某一天平台倒闭了(跑路了,比如Kindle),那你在这些书上说花费的金钱、时间都要损失大半。而且各个平台都有自己的格式,很难统一,而对于一些盗版电子书常见的广告、排版错误等单纯作为阅读器又没办法进行编辑,除了书名作家,其他信息——类似出版社、版本、isbn等一概不知,长期以往,书籍分散在各个设备中,想读哪些书还有想哪些设备才有,这不免让人读书的兴趣全无。
导入图书
而Calibre几乎可以导入市面上所有的电子书格式。
常见的PDF、EPUB、MOBI自不必说,亚马逊独家的AZW3和KFX格式也是完美导入,一些漫画使用cbz封装,也是完美支持。
编辑图书信息
当完成所有书籍的导入后,如果你的书籍信息不全的话,Calibre支持自动下载元数据和封面,批量的下载书籍信息,Calibre会从亚马逊、谷歌和豆瓣等平台抓取图书的相关信息。
当然你也可以在Calibre中手动添加信息,甚至可以给一本书添加上属于自己的评分。
经过导入图书和编辑图书信息两步,私人书库也就搭建完成了,你现在可以随意根据作家、出版社或者标签等找自己想看的的书了。
让看书变的更自由
也许你一个Kindle或ipad,但是每一次都从电脑中导入实在是麻烦,而且像是kindle这样的特殊设备还不支持epub这种标准格式,好在,Calibre提供了格式转换的功能,能够将手上的电子书转换成kindle支持的格式。
选中书籍后在工具栏选中「转换书籍」就能打开转换界面。在右上角的输出格式中,选择你希望输出的格式。可以看到其实能选择的格式极其丰富。
左边这一竖条的选项工具,基本上可以涵盖转换电子书的方方面面。
除此之外,Calibre也支持像iTunes那样的文件管理方式,当你的阅读器插入到NAS上,Calibre会自动搜索(其实是构建索引保存到matedata中)设备中书籍并与书库进行对比,提示你哪些书是在设备上有的,哪些没有。在设备选项栏中可以直接查看阅读器中已有的电子书,同样可以进行编辑等工作。
在导入的时候,也可以同时进行书籍格式的转换,这在使用kindle中可以直接将epub转换成mobi从而直接读取。
实现浏览器随时随地阅读以及同步
上面说的是Calibre在NAS上的操作,下面介绍一下Calibre一个不为人知的小功能,就是开始内容服务器。
内容服务器本质上web服务器,它可以把你的书库完全投放到web端,让你实现只要有一个浏览器,就可以随时随地阅读的需求。
开启方式:打开首选项-通过网络共享,设置一下端口和用户账户,启动服务器,就可以在内网上通过IP地址和端口访问到web书库了,web书库也提供一点基础的管理功能。如果想要在外网访问,可以参看第三篇文章,介绍了使用frp进行内网穿透。千万不要忘记把ufw防火墙也开启对应端口。
值得一说,Calibre的这个web服务器也支持opds,也就是开放出版发行系统OPDS(Open Publication Distribution System),是一种用于电子书书目信息发布和订阅的格式标准。目前很多的阅读app都支持了这个协议,有一些成为网上书库,在这里面输入Calibre的IP和端口,登录一下用户,这样你就免去了设备需要在电脑上插来插去的烦恼了。
Linux上的安装
Calibre在Linux上的安装比在Winodows和mac上简单多了,calibre有一个二进制安装,其中包括所有依赖项的私有版本。 它在64位Intel或ARM兼容的机器上运行。要安装或升级, 只需将以下命令复制并粘贴到终端中,然后按Enter键:
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
等待完成即可。
如果你想给Calibre升级,用的也是这行代码
让Calibre自动运行
很遗憾,Calibre是一个桌面端程序,单纯在命令行中是运行不起来的。所有Calibre的操作都建议在GUI下执行。这也搞得第三章中介绍的 systemctl
命令无用武之地。
不过,好在Ubuntu提供了一个方法,类似快捷方式一半,将图形化程序作为自启动的一项,也就是说Calibre可以在你打开桌面的那一时刻自启动,有总比没有好吧。
在 /home/$USER/.config/autostart
目录下保存着GUI开启自启动的文件,我们需要在这个目录下新建一个Calibre.desktop的文件即可
[Desktop Entry]
Name=Calibre #可执行文件名字
Exec=/usr/bin/calibre #可执行文件路径
Type=Application #可执行文件类型
Hidden=true
这样就是实现了打开桌面,自启动Calibre了
Xrdp实现远程桌面
有时候NAS放在距离我们操作的地方很远,或者真的需要远程操作Calibre,那就需要用到远程桌面了。
其实Ubuntu上也有ToDesk或者向日葵一样的软件,但是受限于网速(阿里云只有375kb/s啊),当然需要选择更高效的协议。这里选择的是RDP协议,这是微软开发的为了Windows之间远程连接使用的协议,客户端直接内置在Windows当中,你可以在windows下面的搜索栏搜索 远程桌面连接
,就能看到这个客户端了。
使用RDP的好处是每一个Windows都有客户端,而且RDP只会发送与上一帧不同的部分,鼠标等控件是在本地运行,而不是对当前的远程界面全部发送,这就使得它感觉流畅,如果你没有太大的操作,那基本上就不怎么消耗流量。当然游戏这种需要大量画面更新的程序就不要想了。
RDP协议还支持远程音频的播放,同时共享粘贴板,也就说你可以在本地机器上复制 Ctrl+C
,然后在远程机器上粘贴 Ctrl+V
,这一点是很方便啊。
xrdp的端口号是3389,如果要远程登录,需要开启防火墙端口和frp内网穿透
注意:RDP协议并不是非常安全,所以要留意端口frp远程端口不要再次使用3389(通常阿里云也会ban掉3389端口)
Window端的链接方法如图:
IP和端口号需要填写自己的,用户名在登陆的时候会要你自己填入。
配置方法
打开终端,输入以下命令:
sudo apt install xrdp
安装完成后可以输入一下命令测试Xrdp是否安装成功:
xrdp --version
链接黑屏问题
第一次使用可能会遇到链接黑屏的问题,主要是当你的本机没有注销(注意是注销,不是关机),远程连接就会黑屏。最佳解决方案是退出本地登录,也就是注销登录, 这主要是Linux中,本地登录和远程登录是隔离开的,远程登录了不注销,那本地就会黑屏,反过来本地登录不注销,远程就会黑屏。
桌面优化
一定要先修改下面的配置文件,再远程连接,否则会黑屏,这个时候需要重启。
如果不做任何配置,启动后的远程桌面是非常别扭的,因为是Gnome的原始桌面,没有左侧任务栏,也没有窗口最小化,等等一系列问题。
解决方案是添加配置文件:
vim ~/.xessionrc
添加
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
之后重启xrdp服务,同样适用的 systemctl
命令:
sudo systemctl restart xrdp
这样远程桌面就配置好了。
别忘了将xrdp添加到开机自启,以为使用 systemctl
命令,所以自启也很简单方便,输入一下命令即可:
sudo systemctl enable xrdp
如果重启了NAS,还想着要开启Calibre,只需要登录一下xrdp就行。