Calibre安装最新版

作为电子书管理的瑞士军刀,Calibre 一直备受书籍爱好者和数字书虫们的喜爱。虽然存在更好(更轻量级)的 电子书阅读器,但 Calibre 在创建电子书、转换格式以及管理你的电子书库方面做得更出色。简言之,它是满足你所有电子书需求的全套解决方案。

从ArchLinux仓库中安装 Calibre

1
sudo pacman -S calibre

如果您不需要它,可以使用pacman卸载 Calibre

1
sudo pacman -Rns calibre

获取最新版本的 Calibre

Calibre 官方 推荐安装提供的官方二进制文件。目的是防止用户使用存在错误或已过时的软件包。该二进制文件包含了所有私有版本的依赖项,支持 32 位和 64 位的机器。

安装依赖

1
sudo pacman -S xdg-utils wget xz-utils python3

从官网安装二进制文件

1
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
关于上述安装命令的解解释

考虑两种情况:

  1. sudo未配置为命令需要密码( NOPASSWD标记), 对sudo的两个调用都在没有任何提示的情况下成功。
  2. sudo被配置为需要命令的密码:
    • 如果它们最近进行了身份验证,sudo -v只需更新缓存凭据的时间戳即可。
    • 如果用户最近没有对sudo进行身份验证,它将提示他们输入密码;一旦经过验证,他们的凭据就会被缓存。

一旦sudo -v进程成功,第二个sudo sh /dev/stdin调用应该使用其缓存的凭据并不间断地运行。

考虑另一种情况( sudo仍然被配置为提示输入密码),其中没有初始的sudo -v命令。在这种情况下,wget可能已经将输出写到stdoutstderr,这可能会导致用户错过看到它,并想知道为什么什么都没有发生。

sh /dev/stdin的目的是什么?

在这里,sh是用一个参数作为command_file调用的,这个参数是一个特殊的文件--一个指向stdin的链接。

名称破折号-命令解释器(外壳)简要说明破折号.[command_file 争论...]

结果,sh读取command_file,期待并执行它的命令。这个特殊的stdin“文件”通过管道连接到来自wget的输出,因此最终的结果是将URL的内容发送到根级shell

我不知道为什么口径项目具体选择这种语法。备选办法包括:
1
2
... | sudo sh
... | sudo sh -

创建启动器

/usr/share/applications/calibre-gui.desktop
1
2
3
4
5
6
7
8
9
10
11
12
13
[Desktop Entry]
Version=1.0
Type=Application
Name=Calibre
GenericName=E-book library management
Comment=E-book library management: Convert, view, share, catalogue all your e-books
TryExec=/opt/calibre/calibre
Exec=/opt/calibre/calibre --detach %U
Icon=calibre-gui
Categories=Office;
X-GNOME-UsesNotifications=true
Keywords=epub;ebook;manager;
MimeType=application/x-cbz;application/x-cbc;application/x-mobipocket-ebook;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/ereader;application/x-cb7;application/x-mobi8-ebook;application/vnd.ms-word.document.macroenabled.12;application/vnd.ctc-posml;application/epub+zip;application/oebps-package+xml;image/vnd.djvu;application/x-cbr;application/x-sony-bbeb;application/x-mobipocket-subscription;x-scheme-handler/calibre;
/usr/share/applications/calibre-lrfviewer.desktop
1
2
3
4
5
6
7
8
9
10
11
12
[Desktop Entry]
Version=1.0
Type=Application
Name=LRF viewer
GenericName=Viewer for LRF files
Comment=Viewer for LRF files (SONY ebook format files)
TryExec=/opt/calibre/lrfviewer
Exec=/opt/calibre/lrfviewer %f
Icon=calibre-viewer
MimeType=application/x-sony-bbeb;
Categories=Office;Viewer;
Keywords=lrf;viewer;
/usr/share/applications/calibre-ebook-edit.desktop
1
2
3
4
5
6
7
8
9
10
11
12
[Desktop Entry]
Version=1.0
Type=Application
Name=E-book editor
GenericName=Editor for E-books
Comment=Edit E-books in various formats
TryExec=/opt/calibre/ebook-edit
Exec=/opt/calibre/ebook-edit --detach %f
Icon=calibre-ebook-edit
Categories=Office;WordProcessor
Keywords=epub;ebook;editor;
MimeType=application/xhtml+xml;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/x-mobi8-ebook;application/epub+zip;text/html;
/usr/share/applications/calibre-ebook-viewer.desktop
1
2
3
4
5
6
7
8
9
10
11
12
[Desktop Entry]
Version=1.0
Type=Application
Name=E-book viewer
GenericName=Viewer for E-books
Comment=Viewer for E-books in all the major formats
TryExec=/opt/calibre/ebook-viewer
Exec=/opt/calibre/ebook-viewer --detach %f
Icon=calibre-viewer
Categories=Office;Viewer;
Keywords=epub;ebook;viewer;
MimeType=application/x-cbz;application/x-cbc;application/x-mobipocket-ebook;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/ereader;application/x-cb7;application/x-mobi8-ebook;application/vnd.ms-word.document.macroenabled.12;application/vnd.ctc-posml;application/epub+zip;application/oebps-package+xml;image/vnd.djvu;application/x-cbr;application/x-sony-bbeb;application/x-mobipocket-subscription;

注意:各启动器文件所有者和群组都应当设置为root.

参考文章

Linux KDELinux GNOME桌面系统都使用 Desktop Entry Specification来描述程序启动配置信息。Desktop Entry 文件标准是由 X Desktop Group 制定的,目前最新的版本是"Desktop Entry Specification 1.5"。