本文由来

临近下班突然看到知乎上有篇文章是给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支持的环境中而不至于乱码,对于我们而言是不必要的。

本文参考:

本文首发自博客园 Hellxz博客,同步于CSDN 拾级而上

Linux下为Calibre书库打中文目录名与文件名补丁的更多相关文章

  1. 解决在Linux下安装Oracle时的中文乱码问题

    本帖最后由 TsengYia 于 2012-2-22 17:06 编辑 解决在Linux下安装Oracle时的中文乱码问题 操作系统:Red Hat Enterprise Linux 6.1数据库:O ...

  2. 部署Linux下的man慢查询中文帮助手册环境

    对于Linux运维工作者来说,man查询手册绝对是一个好东西.当我们对一些命令或参数有些许模糊时,可以通过man查询手册来寻求帮助.其实Linux之所以强大, 就在于其强大的命令行, 面对如此繁杂的命 ...

  3. [转载] linux下打开windows txt文件中文乱码问题

    原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在win ...

  4. Linux下用freetds连接mssql中文乱码的问题【参考1】

    由于工作原因我们需要通过php访问我们以前的Sql Server 2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.系统:   Linux ...

  5. linux下打开windows txt文件中文乱码问题 (转载)

    转自:http://blog.csdn.net/imyang2007/article/details/7448177 在linux操作系统下,我们有时打开在windows下的txt文件,发现在wind ...

  6. Linux下安装Calibre

    目录 一.介绍 二.安装 三.测试 四.报错处理 一.介绍 Calibre是基于python的电子书制作软件,可导出PDF.EPUB.MOBI.Word格式电子书. 二.安装 yum -y insta ...

  7. Linux下用freetds连接mssql中文乱码的问题【参考2】

    php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql, ...

  8. Linux 下 zip 文件解压中文乱码

    windows下的中文文件名拷贝到ubuntu下面以后,文件名直接变成乱码,原因为windows下的文件名以GBK编码,而Ubuntu下的文件 名为utf-8编码 1. ubuntu下有一个工具可以用 ...

  9. linux下javadoc生成文件出现中文乱码

    javadoc命令的正确使用姿势 javadoc -d apidoc -windowtitle Testing -doctitle 'The API of javadoc' -header 'My c ...

随机推荐

  1. DES加密--不安全加密

    package test; import java.security.InvalidKeyException; import java.security.Key; import java.securi ...

  2. 【linux】驱动-2-内核模块

    目录 前言 2. 内核模块 2.1 内核模块概念 2.1.1 内核 2.1.2 内核模块机制的引入 2.2 内核模块 2.2.1 内核模块参考例程 2.2.2 内核模块命令 2.2.3 系统自动加载模 ...

  3. Pytorch数据读取与预处理实现与探索

    在炼丹时,数据的读取与预处理是关键一步.不同的模型所需要的数据以及预处理方式各不相同,如果每个轮子都我们自己写的话,是很浪费时间和精力的.Pytorch帮我们实现了方便的数据读取与预处理方法,下面记录 ...

  4. Redis实战篇(四)基于GEO实现查找附近的人功能

    如果现在要开发一个功能: 要为一款交友App实现查找附近的人,并按距离进行排序. 让你来开发这个功能,你会如何实现? MySQL 不合适 你可能想到,把用户用户的经纬度坐标使用MySQL等关系数据库( ...

  5. 计划任务统一集中管理系统cronsun(替代crontab)

    一.背景 crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存在很多问题: ...

  6. 全网最详细的Linux命令系列-rm命令

    今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除 ...

  7. Python信息搜集

    1.IP查询 IP查询是通过当前所获取到的URL去查询对应IP地址的过程.可以应用socket库函数中的gethostbuname()获取域名所对应的IP值,代码如下: 查询域名www.biadu.c ...

  8. Dynamics Crm Plugin插件注册的问题及解决方案(持续更新。。。。。。)

    1.注册插件的时候回遇到如下提示 Plug-in assembly does not contain the required types or assembly content cannot be ...

  9. Vue3.0中引入地图(谷歌+高德+腾讯+百度)

    1 概述 项目需求需要引入地图,对于目前最新的Vue3.0,无论是百度/高德/腾讯地图目前还没有适配,只有Vue 2.x版本的: 目前只有谷歌地图的Vue3.0适配: 但是没有适配并不代表不能使用,本 ...

  10. (十)Docker-V 详解

    1. 作用 挂载宿主机的一个目录. 2. 案例 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker run -it -v /te ...