在 linux 下如何压缩 PDF
我需要在网上填写了一些申请表,它要求使用 PDF 格式上传文件。这对我不是什么难事,只需要将文件扫描为图像,然后使用 gscan2pdf 工具将它们组合成一个 PDF 文件。 但是问题来了,当我试图上传这个 PDF 文件。网页提示:上传失败,因为它超过了最大文件大小限制。于是我得想办法压缩这个 PDF 文件。 当然,有很多在线PDF压缩网站也很好用。但我手上的文件资料很重要,不方便上传到一个我不知根知底的网站上。于是我学到一些 在 linux 系统压缩 PDF 的方法。 您可以使用 Ghostscript 命令行工具压缩 PDF 文件。大多数 Linux 发行版已经包含了 Ghostscript 的开源版本。但是,您仍然可以尝试安装它以确保他肯定被安装了。 安装 ghostscript 在基于 Debian/Ubuntu 的发行版上,使用以下命令安装 Ghostscript: 1sudo apt install ghostscript 对于 Arch Linux 发行版则使用以下命令安装 Ghostscript: 1sudo pacman -S ghostscript 压缩命令...
gogs 搭建自己的代码托管平台
github 是众所周知的代码托管平台,广大开发者将自己的代码或者是其他奇奇怪怪的东西都托管在上面。今天突发奇想,想自己搭建一个代码托管平台,供自己使用。在网上发现了 gogs 这个工具。于是开始了部署工作。 环境配置 我的服务器是 Archlinux 系统。部署 gogs 主要需要配置好数据库、git和ssh。 mariadb 数据库 作为开源爱好者,我选择的是 mariadb 数据库。在 Archlinux 上安装 mariadb 使用命令: 12sudo pacman -S mariadbsudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql 这样就安装好了 mariadb。然后启动 mariadb: 1sudo systemctl start mariadb.service 接下来可以使用下面这个命令进行一些安全配置: 1mysql_secure_installation 根据提示进行选择和输入,并且设置 root 密码。 gogs 需要 mariadb 数据库 使用 INN...
让你的 gnome 桌面显示农历
农历是中国传统历法,很多小伙伴时不时还是有看农历的需求。但是大多数 Linux 发行版都不支持显示农历,而 Ubuntu Kylin 系统曾经因为拥有农历日历而独树一帜。本文教你如何让 gnome 桌面显示农历。 安装农历数据库 农历数据库是将公历日期和农历日期一一对应起来的一个数据库,其中一个版本的源代码在 github 中。 我已经将它上传到了 AUR 中,Arch Linux 用户只需要使用 AUR 工具安装 lunar-date 包。 1yay -Sy lunar-date 对于 Ubuntu 用户则需要安装 gir1.2-lunar-date-2.0 包: 1sudo apt-get install gir1.2-lunar-date-2.0 而 fedora 和 openSUSE 则可以在 rpmfind 找到 lunar-date 的安装包。 安装 gnome-shell-extension-lunar-calendar 扩展 接下来只需要安装一个 gnome-shell 扩展就可以完美显示农历了。插件可以在 gnome 插件的官网上找到。 只需要配置好浏览器的 ...
为 linux 安装多媒体解码器
默认情况下,如果你没有安装专门的解码器,Linux 系统无法播放大多数加密格式(专有媒体格式)的视频。 这其中涉及到的许多技术,比如 flash plugin、 gstreamer、 mp4、 libavcodec等等。他们很多并不是开源的,有时还有版权或法律问题。因此,这些包默认情况下不会安装,也不会随官方存储库一起提供。 如果您尝试在不安装媒体编解码器的情况下播放专有媒体格式,您将看到以下错误消息“Unable to play the file”。 在这个简短的教程中,我们将向您展示如何在 Ubuntu、Fedora 和 openSUSE 系统上安装媒体代码。 在 Ubuntu 中安装多媒体解码器 通过使用“ubuntu-restricted-extras”包,可以将必要的多媒体编解码器安装在 Ubuntu 及其衍生发行版中。它是一个包含各种多媒体包的软件包。 为了安装多媒体编解码器,您需要启用由 Ubuntu 创建的软件库 “multiverse”,这个库向用户提供非开源软件。 运行以下命令以启用 multiverse 和 restricted 存储库: 要启用“multi...
为 Arch Linux 创建字体软件包
Windows 中文版默认拥有非常多的中文字体。但是 Arch Linux 的中文字体则需要自己手动安装。目前有文泉驿微米黑、文泉驿正黑、Google Noto Font 和思源黑体等字体可以选择。 以上字体的 Arch Linux 包名称分别为 wqy-microhei、wqy-zenhei、noto-fonts-cjk、adobe-source-han-sans-cn-fonts、adobe-source-han-serif-cn-fonts。通过 pacman 命令即可安装。这些开源字体只提供黑体和宋体,而我们中文办公有时还需要仿宋和楷体,前端开发和设计工作更是对字体有着更大的需求。此时需要额外安装字体。 将你需要使用的字体文件,一般后缀名为 otf、ttf 或 ttc 拷贝到/usr/share/fonts/(全局安装)或~/.local/share/fonts(为当前用户安装)文件夹中,最后在字体文件夹执行: 1fc-cache && mkfontscale && mkfontdir 即可安装成功。 不过在 Arch Linux 下推荐...
为 Arch Linux 创建软件包
用过 Arch Linux 及其衍生发行版的同学,都会被 AUR 中海量的软件包所打动。这些软件包都是由用户提供的。使用这些软件包后不免生出自己也要学着创建几个软件包。经过几次尝试后,我基本学会了一些简单的打包技术。Arch Linux 的打包还是很简单的。 环境配置 有一个能运行的 Arch Linux 电脑,并且装上了 base-devel 包组就足够了。Arch Linux 打包的基本原理是在一个 fakeroot (虚拟根目录)中编译安装软件。然后将这个 fakeroot 中的文件压缩到软件包里面,同时清除一些不需要的文件和符号,并且根据 PKGBUILD 文件自动生成基本信息,最后运行你事先写好的必要的脚本进行一些配置。 编写 PKGBUILD 文件 PKGBUILD 文件中需要有一些基本变量以及几个函数。 makepkg 默认的变量 srcdir makepkg 将会把源文件解压到此文件夹或在此文件夹中生成指向 PKGBUILD 里 source 数组中文件的软连接。 pkgdir makepkg 会把该文件夹当成系统根目录,并将软件安装在此文件夹下。 这些变量都是...
在 windows 下安装配置 nodejs
我之前都是在 linux 下使用 nodejs,今天第一次在 windows 下安装配置 nodejs,记录一下过程。linux 遵循文件系统层次化标准(Filesystem Hierarchy Standard, FHS),因此 linux 下 nodejs 的安装一条命令就能搞定。然而在 windows 下安装 nodejs 则需要一些配置才能很好的运行。 下载安装 nodejs 国内用户可以在此下载 nodejs。此处提供的是 LTS 版本 如果不想用 LTS 版本,可以去 nodejs 国外的官网下载最新版。 我下载的是当前最新版 15.12.0 版本。 然后就是进行安装,同意许可条款。 选择安装路径,我选择的是默认路径。 选择需要安装的内容,默认是全部选择。这里注意要将nodejs 添加到 PATH。后面用起来要方便些。 然后就安装成功了。打开 powershell 输入 node -v 和 npm -v 测试一下: 1234> node -vv15.12.0> npm -v7.7.5 显示出版本号则表示安装成功。 配置模块路径和缓存路径 npm...
山城步道——半山崖线
重庆成为网红城市后,打开了新世界的大门。从此在网红的路上一去不复返。市政工程开始修建各种网红景点。而半山崖线是最新的市政工程中在我看来最有意思的一个景点。 山城步道系列之半山崖线步道,串联李子坝抗战遗址公园、鹅岭公园、佛图关公园、虎头岩公园、平顶山文化公园等5个公园,约30个文化资源点。半山崖线步道渝中段主线9.6公里,支线10.8公里。 从佛图关公园进入,可以轻松走到杨闇公铜像,杨闇公是中国共产主义运动先驱者、四川党团组织主要创建人和大革命运动的主要领导人,重庆革命领袖。 瞻仰了杨闇公后,走右手边的小径,就可以领略半山崖线的精彩路段了。 半山崖线,顾名思义就是在半山崖上。路线的一侧是佛图关-鹅岭-虎头岩,另一侧是嘉陵江。两侧有着巨大的落差,也就是悬崖。半山崖线就是在悬崖上穿过,但是并不怎么惊险。别有一种城市中间的森林那种趣味。 半山崖线部分路段起伏很大,需要一定的身体素质哦。 穿过幽暗的小径,有时会豁然开朗,向嘉陵江方向眺望,可以看到繁华的江北区。 半山崖线还将建设各种有趣的观景台,人文雕塑和景墙等景观。 等半山崖线全面建成,将是游客打卡游玩,以及市民健身休闲...
使用 linux 操作系统,如何优化固态硬盘使用体验
固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH 芯片、DRAM 芯片)组成。固态硬盘 I/O 性能相对于传统硬盘大大提升。并且使用时也没有传统硬盘那种噪声。现在的个人电脑基本都会用固态硬盘作为系统盘。不过固态硬盘有擦写次数限定,使用寿命会有所限制。本文介绍使用 linux 操作系统时如何优化固态硬盘的性能,并延长固态硬盘的使用寿命。 开启 Trim 为了解决硬盘降速的问题,微软联合各大 SSD 厂商开发了一个新技术—— Trim 。Trim 指令也叫 disable delete notify(禁用删除通知),属于 ata8-acs2 规范的技术指令。使用 SSD 时必须确保开启系统中 Trim 指令。 系统对支持 Trim 指令的 SSD 启动 Trim 命令后,这时在对 SSD 进行数据删除的操作,硬盘不会急于执行擦除操作,而是等到再次有写入操作的时候再执行,因为这时相关区域已经可以重新使用了,就不用花时间去擦除原本的数据。其速度比直接读写硬盘去标记删除区域要快得多,既提升了读写效率又大大减轻了固态硬盘的损...
如何使用 Git
刚开始接触 Git 的时候会觉得 Git 太复杂了, Git 的功能确实特别的多,所以还是从最简单的功能学起。本文介绍 git 的各种常用的命令及参数。 初始化 Git 使用 Git 前,需要先建立一个仓库(repository)。您可以使用一个已经存在的目录作为 Git 仓库或创建一个空目录。 使用您当前目录作为 Git 仓库,我们只需使它初始化。 1git init 使用我们指定目录作为 Git 仓库。 1git init newrepo 从现在开始,我们将假设您在 Git 仓库根目录下,除非另有说明。 添加新文件 我们有一个仓库,但什么也没有,可以使用 add 命令添加文件。 1git add filename 可以使用 add... 继续添加任务文件。 提交版本 现在我们已经添加了这些文件,我们希望它们能够真正被保存在 Git 仓库。 为此,我们将它们提交到仓库。 1git commit -m "Adding files" 如果您不使用 -m,会出现编辑器来让你写自己的注释信息。 当我们修改了很多文件,而不想每一个都 add,想 commit 自动来...









