Linux下为Calibre书库打中文目录名与文件名补丁
本文由来
临近下班突然看到知乎上有篇文章是给Calibre打中文目录与文件名补丁的,想起我之前为啥放弃Calibre的——存进书库里书的名称都变成了拼音!手动找起来或者搜索工具找起来太麻烦了(有时想不起用Calibre,直接用搜索软件+PDF阅读器就看了),用过Calibre的同学应该知道——添加到书库里的书相当于从外边复制过来的,每本书都存两份很占空间呀!万一用不习惯还能卸载,不用每本书都改回一次名!
既然有这么做成功的,Windows行,Mac行,那Linux也一定行!
本文环境:Debian 10 + Calibre 3.39.1,据说5.2以后版本变化较大,方法可能不适应5.2版本以上
下面两张图是添加书籍以及在文件管理器中的样子:


一步跳进坑
根据那篇文章所说的,需要下载源码改完编译后替换Calibre在用的文件,那个待修改的源码文件是 src/calibre/db/backend.py,需要编译成 backend.pyo 再去装到pylib.zip中,我改完了编译完了想去替换时犯了难:在Debian下这个文件放哪了??那篇文章里明明有 pylib.zip 压缩包,我 find / -name "pylib.zip" 也没有,想着要不二进制安装下试试?
没错,我又折腾了一阵二进制安装,无果。
回过头想想,问题出在哪呢?
渐入佳境
回到家,用手机又查了下,发现有文章用Mac改的源码,然后替换的位置和Windows下也不一样。灵光一闪,这 pylib.zip 在Linux下应该是没有的,我搜一下不就好了?搜啥呢?
打开命令行,问了下命令 whereis calibre

可能有的地方可能在 /usr/lib/calibre 和 /usr/share/calibre 目录中,进入 /usr/lib/calibre 目录后,我突然发现:这目录结构不就是源码么!只是没了src这层,我一下子就找到了源码 calibre/db/backend.py,另外发现有个.pyc结尾的文件,查了下Bing发现这是和.pyo类似的字节码文件

备份了 backend.py 与 backend.pyc 后,开始动手改
sudo vim /usr/lib/calibre/db/backend.py
搜索 construct_path_name,注释1172-1173行字样的两行


搜索 construct_file_name ,注释了1200-1201行字样的两行


保存退出,开始编译.pyc,之前看这文件头上有python2.7字样,编译也是用python2.7编译的
sudo python2.7 -O -m py_compile /usr/lib/calibre/db/backend.py
小试牛刀

如图,中文目录和中文文件名都正常了,又能与 Calibre 愉快地玩耍了~
Calibre作者将这些中文等unicode转成拼音这种字母型是为了方便迁移到无unicode支持的环境中而不至于乱码,对于我们而言是不必要的。
本文参考:
- https://zhuanlan.zhihu.com/p/245553023
- http://blog.sina.com.cn/s/blog_7a1f539c0102xitp.html
- https://www.cnblogs.com/wqbin/p/11837221.html
本文首发自博客园 Hellxz博客,同步于CSDN 拾级而上
Linux下为Calibre书库打中文目录名与文件名补丁的更多相关文章
- 解决在Linux下安装Oracle时的中文乱码问题
本帖最后由 TsengYia 于 2012-2-22 17:06 编辑 解决在Linux下安装Oracle时的中文乱码问题 操作系统:Red Hat Enterprise Linux 6.1数据库:O ...
- 部署Linux下的man慢查询中文帮助手册环境
对于Linux运维工作者来说,man查询手册绝对是一个好东西.当我们对一些命令或参数有些许模糊时,可以通过man查询手册来寻求帮助.其实Linux之所以强大, 就在于其强大的命令行, 面对如此繁杂的命 ...
- [转载] linux下打开windows txt文件中文乱码问题
原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在win ...
- Linux下用freetds连接mssql中文乱码的问题【参考1】
由于工作原因我们需要通过php访问我们以前的Sql Server 2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.系统: Linux ...
- linux下打开windows txt文件中文乱码问题 (转载)
转自:http://blog.csdn.net/imyang2007/article/details/7448177 在linux操作系统下,我们有时打开在windows下的txt文件,发现在wind ...
- Linux下安装Calibre
目录 一.介绍 二.安装 三.测试 四.报错处理 一.介绍 Calibre是基于python的电子书制作软件,可导出PDF.EPUB.MOBI.Word格式电子书. 二.安装 yum -y insta ...
- Linux下用freetds连接mssql中文乱码的问题【参考2】
php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql, ...
- Linux 下 zip 文件解压中文乱码
windows下的中文文件名拷贝到ubuntu下面以后,文件名直接变成乱码,原因为windows下的文件名以GBK编码,而Ubuntu下的文件 名为utf-8编码 1. ubuntu下有一个工具可以用 ...
- linux下javadoc生成文件出现中文乱码
javadoc命令的正确使用姿势 javadoc -d apidoc -windowtitle Testing -doctitle 'The API of javadoc' -header 'My c ...
随机推荐
- P1092 虫食算 题解(搜索)
题目链接 P1092 虫食算 解题思路 好题啊!这个搜索好难写...... 大概是要考虑进位和考虑使用过某个数字这两个东西,但就很容易出错...... 首先这个从后往前搜比较好想,按照从后往前出现的顺 ...
- find文本处理(locate)实例学习记录
find文本处理(locate)实例学习记录 (一)按文件名称查找 按照文件名称查找是 find 最常见的用法,需要注意的是,搜索的文件名必须完全匹配,才能找到对应的文件. 1. 查找当前目录下所有 ...
- 回忆那些年我玩过的ide,看看哪些你也玩过,看图回忆
闲来无聊,回忆一下这些年玩过的ide.看看哪些你也玩过. QBasic 第一个ide,兴奋程度也是最大的,从此进入了码农行列 VisualBasic 可以拖界面了,成就感爆棚 Turbo C c语言, ...
- Android 系统开发做什么?
题外话 18 年我从 Android 应用开发转 Framework 层开发了,从此开启了 996 幸福生活,博客技术文更新基本停滞了,被工作占据了过多的精力,实在没时间像以前一样拟稿.写作,实践.反 ...
- git操作初启篇(一)
关于git是什么我想我也不用多说什么,其实关于git的操作在他们的官网上有详细的说明,一项新的技术官网上的一定是最权威的,所以学习一门技术我个人更倾向于看官网,下面的是git的官网https://gi ...
- [深搜]A. 【例题1】拔河比赛
A . [ 例 题 1 ] 拔 河 比 赛 A. [例题1]拔河比赛 A.[例题1]拔河比赛 解析 模板题,选与不选 Code #include <bits/stdc++.h> #defi ...
- PBFT共识算法详解
PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错) 一.概述 拜占庭将军问题最早是由 Leslie Lamport 在 1982 年发表的论文<T ...
- OO_Unit2总结
OO_Unit2总结 (1) 多线程协同控制设计策略 总体信号通讯策略 本单元作业,我采用的是生产者-消费者模式加类观察者模式. 通过分析指导书给出的需求,我将最终我要实现的程序简化为了"输 ...
- 零基础学Java,PayPal技术专家手把手带你入门
在最权威的 TIOBE 编程语言排名榜单上,Java 常年稳居第一,可以说是世界上应用最为广泛的一门语言. 同时,在微服务.云计算.大数据.Android App 开发等领域,Java 也是当之无愧的 ...
- IDEA如何在一个项目空间下管理多个项目?
用过Eclipse和IDEA编程工具都知道,Eclipse创建新项目时都是在同一项目空间下,而IDEA一个项目空间只能有一个项目,创建项目时会创建.idea文件. 所以每次创建完项目或者打开另一个项目 ...