分类 桌面应用 下的文章

简介

如果 winecfg (WINE 的配置工具)是一把螺丝刀,那么 winetricks 就是一个钻床。它们各有特长,但是 winetricks 真的是一个强大的多的工具。实际上,它甚至可以启动 winecfg

winecfg 让你可以改变 WINE 本身的设置,而 winetricks 则可以让你改造实际的 Windows 层,它可以让你安装 Windows 重要的系统组件,比如 .dll 文件和系统字体,还可以允许你修改 Windows 注册表的信息。它还有任务管理器、卸载工具和文件浏览器。

尽管 winetricks 可以做以上这些工作,但是大部分时间我们用到的功能也就是管理 dll 文件和 Windows 组件。

安装

winecfg 不同,winetricks 不是集成在 WINE 中的。这样也没什么问题,由于它实际上只是个脚本文件,你可以在各种发行版上很轻松地下载和使用它。现在,许多发行版把 winetricks 打包。只要你喜欢,你也可以下载打包后的版本。不过,有些包可能会比较老旧,所以本指南将使用脚本,毕竟脚本通用且更新及时。默认情况下,它的图形界面有些丑,所以你要是想个性化界面,最好通过你的发行版的包管理器安装一个 zenity

现在假定你想在你的 /home 目录下配置 winetricks。 cd 到此,然后 wget 这个脚本。

$ cd ~

$ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks

然后,给这个脚本可执行权限。

$ chmod+x winetricks

winetricks 可以通过命令行运行,在行末指定要安装的东西。但是大部分情况下,你都不知道 .dll 文件或者是你想安装字体确切的名字,那么,这时候最好利用图形界面程序。启动这个程序和其他程序没什么不同,就是在末尾什么都别输入就行了。

$ ~/winetricks

winetricks-main

当窗口第一次打开时候,将会给你一个有 “查看帮助” View help “安装应用” Install an application 选项的菜单。一般情况下,我们选择 “选择默认的 wineprefix” Select the default wineprefix ,这将是你主要使用的选项。其他的也能用,但是不推荐使用。接下来,单击 “OK”,你就会进入到 WINE prefix 的配置菜单,你可以在这完成所有你要使用 winetricks 完成的事情。

The winetricks prefix menu

字体

The winetricks font menu

字体一直很重要,一些应用程序没有字体就没法正常的加载。winetricks 可以轻松地安装许多常用 Windows 字体.在配置菜单中,选中 “安装字体” Install a font  单选按钮,然后点击 “OK” 即可。

然后你就会得到一列字体清单,它们都有着相对应的复选框。你很难确切知道你到底需要什么字体,所以一般按每个应用决定使用什么字体,我们可以先安装一款插件 corefonts,它包含了大多数 Windows 系统中应用程序所设定的字体。安装它也十分简单,所以可以试试。

要安装 corefonts ,请选择相应的复选框,然后点击 “OK”,你就会看到和在 Windows 下差不多的提示,字体就会被安装了。完成了这个插件的安装,你就会回到先前的菜单界面。接下来就是安装你需要的别的插件,步骤相同。

.dll 文件和组件

The winetricks dll menu

winetricks 安装 Windows 下的 .dll 文件和别的组件也十分简单。如果你需要安装的话,在菜单页选择 “安装 Windows DLL 或组件” Install a Windows DLL or component ,然后点击 “OK”。

窗口就会进入到另一个菜单界面,其中包含可用的 dll 和其他 Windows 组件。在相应的复选框进行选择,点击 “OK”。脚本就会下载你选择的组件,接着通过 Windows 一般的安装进程进行安装。像 Windows 机器上安装那样跟着提示往下走。可能会有报错信息。很多时候,Windows 安装程序会报错,但是你接着会收到来自 winetricks 窗口的消息,说明它正在绕过此问题。这很正常。由于组件之间的相互依赖关系,你可能会也可能不会看到成功安装的信息。只要确保安装完成时候,菜单页中你的选项仍旧处于被选中状态就行了。

注册表

WINE regedit

你不需要常常编辑注册表中 WINE 对应的值,但是对于有些程序确实需要。技术层面来讲,winetricks 不向用户提供注册表编辑器,但是要访问编辑器也很容易。在菜单页选中 “运行注册表编辑” Run regedit ,点击 “OK”,你就可以打开一个简单的注册表编辑器。事实上,写入注册表的值有点超出本篇引导文章的范围了,但是我还要多说一句,如果你已经知道你在干什么,增加一个注册表条目不是很难。注册表有点像电子表格,你可以将正确的值填入右面的格子中。这个说的有点过于简单,但是就是这样的。你可以在以下地址精准地找到你需要在 WINE Appdp 所要填入或编辑的东西。 https://appdb.winehq.org。

结束语

很明显 winetricks 还有许多许多强大的功能,但是本篇指南的目的只是给你一点基础知识,以使用这个强大的工具,使你的程序通过 WINE 运行。WINE Appdb 对每个程序都有相应的设置,将来会越来越丰富。


via: https://linuxconfig.org/configuring-wine-with-winetricks

作者:Nick Congleton 译者:Taylor1024 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

目前为止,在一系列介绍 vim 插件文章中,我们介绍了使用 Pathogen 插件管理包安装基本的 vim 插件,也提及了另外三个插件:Tagbar、delimitMateSyntastic。现在,在最后一部分,我们将介绍另一个十分有用的插件 a.vim。

请注意所有本篇教程所提及的例子、命令和指导,它们已经在 Ubuntu 16.04 测试完毕,vim 使用版本为 vim7.4 (LCTT 译注:Ubuntu 16.04 的默认版本)。

A.vim

如果你一直用像 C、C++ 这样的语言进行开发工作,你一定有这样的感触:我特么已经数不清我在头文件和源代码之间切换过多少次了。我想说的是,确实,这个操作十分基本,十分频繁。

尽管使用基于 GUI(图形界面)的 IDE(集成开发环境)非常容易通过鼠标的双击切换文件,但是如果你是资深 vim 粉,习惯用命令工作就有点尴尬了。但是不要害怕,我有秘籍--插件 a.vim。它可以让你解决尴尬,专治各种文件切换。

在我们介绍这个神器用法之前,我必须强调一点:这个插件的安装过程和我们其他篇介绍的不太一样,步骤如下:

  • 首先,你需要下载两个文件(a.vimalternate.txt),你可以在这里找到它们。
  • 接下来,创建如下目录:~/.vim/bundle/avim~/.vim/bundle/avim/doc~/.vim/bundle/avim/plugin~/.vim/bundle/autoload
  • 创建好目录之后,将 a.vim 放到 ~/.vim/bundle/avim/plugin~/.vim/bundle/autoload,以及将 alternate.txt 放到 ~/.vim/bundle/avim/doc

就是这样,如果上述步骤被你成功完成,你的系统就会安装好这个插件。

使用这个插件十分简单,你仅仅需要运行这个命令 :A 如果目前的文件是源文件(比如 test.c),这个神器就会帮你打开 test.c 对应的头文件(test.h),反之亦然。

当然咯,不是每个文件对应的头文件都存在。这种情况下,如果那你运行 :A 命令,神器就会为你新建一个文件。比如,如果 test.h 不存在,那么运行此命令就会帮你创建一个 test.h,然后打开它。

如果你不想要神器开启此功能,你可以在你的家目录的隐藏文件 .vimrc 中写入 g:alternateNonDefaultAlternate 变量,并且赋给它一个非零值即可。

还有一种情况也很普遍,你需要打开的文件并非是当前源代码的头文件。比如你目前在 test.c 你想打开 men.h 这个头文件,那么你可以输入这个命令 :IH <filename> ,毋需赘言,你肯定要在后面输入你要打开的的文件名称 <filename>

目前为止,我们讨论的功能都仅限于你当前文件和要操作的文件都在同一个目录去实现。但是,你也知道,我们还有特殊情况,我是说,许多项目中头文件与对应的源文件并不一定在同一目录下。

为了搞定这个问题,你要使用这个 g:alternateSearchPath 这个变量。官方文档是这么解释的:

这个插件可以让用户配置它的搜索源文件和头文件的搜索路径。这个搜索路径可以通过设置 g:alternateSearchPath 这个变量的值指定。默认的设定如下:

g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc' 

使用这个代码表示神器将搜索 ../source../src../include../inc 下所有与目标文件相关的文件。 g:alternateSearchPath 变量的值由前缀和路径组成,每个单元用逗号隔开。 sfr 前缀是指后面的路径是相对于目前文件的,wdr 前缀是指目录是相对于目前的工作目录, abs 是指路径是绝对路径。如果不指定前缀,那么默认为 sfr

如果我们前文所提及的特性就能让你觉得很炫酷,那我不得不告诉你,这才哪跟哪。还有一个十分有用的功能是分割 Vim 屏幕,这样你就可以同时看到头文件和相应的源文件。

哦,还有,你还可以选择垂直或者水平分割。全凭你心意。使用 :AS 命令可以水平分割,使用 :AV 可以垂直分割。

Vim.a vertical split screen

vim.a horizontal split screen

使用 :A 命令在已经打开的文件中切换。

这个插件还可以让你在同一个 Vim 窗口中不同选项卡中打开多个相应的文件,你键入这个命令 :AT

tabs in Vim with a.vim.

当然,你可以用这些命令 :AV:AS:AT,也可以使用这些命令 :IHV:IHS:IHT

最后

还有许多和编程相关的 Vim 的插件,我们在这个三篇系列主要讨论的是,如果你为你的软件开发工作安装了合适的插件,你就会明白为什么 vim 被叫做编辑器之神。

当然,我们在这只关注编程方面,对于那些把 Vim 当做日常文档编辑器的人来说,你也应该了解一些 Vim 的插件,让你的编辑更好,更高效.我们就改日再谈这个问题吧。


via: https://www.howtoforge.com/tutorial/vim-editor-plugins-for-software-developers-3/

作者:Ansh 译者:Taylor1024 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。

wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。

wkhtmltopdf 的功能

  1. 开源并且跨平台。
  2. 使用 WebKit 引擎将任意 HTML 网页转换为 PDF 文件。
  3. 添加页眉和页脚的选项
  4. 目录生成 (TOC) 选项。
  5. 提供批量模式转换。
  6. 通过绑定 libwkhtmltox 来支持 PHP 或 Python。

在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 wkhtmltopdf。

安装 Evince (PDF 浏览器)

让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 PDF 文件。

$ sudo yum install evince             [RHEL/CentOS and Fedora]
$ sudo dnf install evince             [On Fedora 22+ versions]
$ sudo apt-get install evince         [On Debian/Ubuntu systems]

下载 wkhtmltopdf 源码文件

使用 wget 命令根据你的 Linux 架构来下载 wkhtmltopdf 源码文件,或者你也可以在 wkhtmltopdf 下载页下载最新的版本(目前最新的稳定版是 0.12.4)

在 64 位 Linux 系统中:

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

在 32 位 Linux 系统中:

$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz

在 Linux 中安装 wkhtmltopdf

使用 tar 命令解压文件到当前目录中。

------ On 64-bit Linux OS ------
$ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 
------ On 32-bit Linux OS ------
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz 

为了能从任意路径执行程序,将 wkhtmltopdf 安装到 /usr/bin 目录下。

$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/

如何使用 wkhtmltopdf?

我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。

将 HTML 网页转成 PDF 文件

要将任意 HTML 页面转换成 PDF,运行下面的命令。它会在当前目录下将页面转换成 10-Sudo-Configurations.pdf

# wkhtmltopdf http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf

示例输出:

Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

浏览生成的 PDF 文件

为了验证创建的文件,使用下面的命令。

$ file 10-Sudo-Configurations.pdf

示例输出:

10-Sudo-Configurations.pdf: PDF document, version 1.4

浏览生成的 PDF 文件细节

要浏览生成的文件信息,运行下面的命令。

$ pdfinfo 10-Sudo-Configurations.pdf

示例输出:

Title:          10 Useful Sudoers Configurations for Setting 'sudo' in Linux
Creator:        wkhtmltopdf 0.12.4
Producer:       Qt 4.8.7
CreationDate:   Sat Jan 28 13:02:58 2017
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          13
Encrypted:      no
Page size:      595 x 842 pts (A4)
Page rot:       0
File size:      697827 bytes
Optimized:      no
PDF version:    1.4

浏览创建的文件

在桌面中使用 evince 查看最新生成的 PDF 文件。

$ evince 10-Sudo-Configurations.pdf

示例截图:

在我的 Linux Mint 17 中看起来很棒。

View Website Page in PDF

在 PDF 中浏览网页

给 PDF 创建页面的 目录 Table Of Content (TOC)

要创建一个 PDF 文件的目录,使用 toc 选项。

$ wkhtmltopdf toc http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf

示例输出:

Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

要查看已创建文件的 TOC,再次使用 evince。

$ evince 10-Sudo-Configurations.pdf

示例截图:

看一下下面的图。它上看去比上面的更好。

Create Website Page to Table of Contents in PDF

在 PDF 中创建网页的目录

wkhtmltopdf 选项及使用

更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。

$ wkhtmltopdf --help

作者简介:

我是 Ravi Saive,TecMint 的创建者。一个爱在网上分享的技巧和提示的电脑极客和 Linux 专家。我的大多数服务器运行在名为 Linux 的开源平台上。请在 Twitter、 Facebook 和 Google+ 等上关注我。


via: http://www.tecmint.com/wkhtmltopdf-convert-website-html-page-to-pdf-linux/

作者:Ravi Saive 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

介绍

隐私和安全正在逐渐成为一个重要的话题。虽然不可能做到 100% 安全,但是,还是能采取一些措施,特别是在 Linux 上,在你浏览网页的时候保护你的在线隐私安全。

基于这些目的选择浏览器的时候,火狐或许是你的最佳选择。谷歌 Chrome 不能信任。它是属于谷歌的,一个众所周知的数据收集公司,而且它是闭源的。 Chromium 或许还可以,但并不能保证。只有火狐保持了一定程度的用户权利承诺。

火狐设置

火狐里有几个你能设定的设置,能更好地保护你的隐私。这些设置唾手可得,能帮你控制那些在你浏览的时候分享的数据。

健康报告

你首先可以设置的是对火狐健康报告发送的限制,以限制数据发送量。当然,这些数据只是被发送到 Mozilla,但这也是传输数据。

打开火狐的菜单,点击 “选项” Preferences 。来到侧边栏里的 “高级” Advanced 选项卡,点击 “数据选项” Data Choices 。这里你能禁用任意数据的报告。

搜索

新版的火狐浏览器默认使用雅虎搜索引擎。一些发行版会更改设置,替代使用的是谷歌。两个方法都不理想。火狐可以使用 DuckDuckGo 作为默认选项。

在火狐中使用 DuckDuckGo

为了启用 DuckDuckGo,你得打开火狐菜单点击 “选项” Preferences 。直接来到侧边栏的 “搜索” Search 选项卡。然后,在 “默认搜索引擎” Default Search Engine 的下拉菜单中选择 DuckDuckGo 。

请勿跟踪 Do Not Track

这个功能并不完美,但它确实向站点发送了一个信号,告诉它们不要使用分析工具来记录你的活动。这些网页或许会遵从,会许不会。但是,最好启用请勿跟踪,也许它们会遵从呢。

启用火狐中的请勿跟踪

再次打开火狐的菜单,点击 “选项” Preferences ,然后是 “隐私” Privacy 。页面的最上面有一个 “跟踪” Tracking 部分。点击那一行写着 “您还可以管理您的‘请勿跟踪’设置” You can also manage your Do Not Track settings 的链接。会出现一个有复选框的弹出窗口,那里允许你启用“请勿跟踪”设置。

禁用 Pocket

没有任何证据显示 Pocket 正在做一些不好的事情,但是禁用它或许更好,因为它确实连接了一个专有的应用。

禁用 Pocket 不是太难,但是你得注意只改变 Pocket 相关设置。要访问你所需的配置页面,在火狐的地址栏里输入about:config

页面会加载一个设置表格,在表格的最上面是搜索栏,在那儿搜索 Pocket 。

你将会看到一个包含结果的新表格。找一下名为 extensions.pocket.enabled 的设置。当你找到它的时候,双击使其转变为“否”。你也能在这儿编辑 Pocket 的其他相关设置。不过没什么必要。注意不要编辑那些跟 Pocket 扩展不直接相关的任何东西。

禁用火狐的 Pocket

附加组件 Add-ons

安全化火狐的附加组件

火狐最有效地保护你隐私和安全的方式来自附加组件。火狐有大量的附加组件库,其中很多是免费、开源的。在这篇指导中着重提到的附加组件,在使浏览器更安全方面是名列前茅的。

HTTPS Everywhere

针对大量没有使用 SSL 证书的网页、许多不使用 https 协议的链接、指引用户前往不安全版本的网页等现状, 电子前线基金会 Electronic Frontier Foundation 开发了 HTTPS Everywhere。HTTPS Everywhere 确保了如果该链接存在有一个加密的版本,用户将会使用它。

给火狐设计的 HTTPS Everywhere 已经可以使用,在火狐的附加组件搜索网页上。(LCTT 译注:对应的中文页面。)

Privacy Badger

电子前线基金会同样开发了 Privacy Badger。 Privacy Badger 旨在通过阻止不想要的网页跟踪,弥补“请勿跟踪”功能的不足之处。它同样能通过火狐附加组件仓库安装。。(LCTT 译注:对应的中文页面。)

uBlock Origin

现在有一类更通用的的隐私附加组件,屏蔽广告。这里的选择是 uBlock Origin,uBlock Origin 是个更轻量级的广告屏蔽插件,几乎不遗漏所有它会屏蔽的广告。 uBlock Origin 将主要屏蔽各种广告,特别是侵入性的广告。你能在这儿找到它。。(LCTT 译注:对应的中文页面。)

NoScript

阻止 JavaScript 是有点争议, JavaScript 虽说支撑了那么多的网站,但还是臭名昭著,因为 JavaScript 成为侵略隐私和攻击的媒介。NoScript 是应对 JavaScript 的绝佳方案。

向 NoScript 的白名单添加网页

NoScript 是一个 JavaScript 的白名单,它会屏蔽所有 JavaScript,除非该站点被添加进白名单中。可以通过插件的“选项”菜单,事先将一个站点加入白名单,或者通过在页面上点击 NoScript 图标的方式添加。

添加你所在的网页到 NoScript 的白名单中

通过火狐附加组件仓库可以安装 NoScript 如果网页提示不支持你使用的火狐版本,点 “无论如何下载” Download Anyway 。这已经在 Firefox 51 上测试有效。

Disconnect

Disconnect 做的事情很多跟 Privacy Badger 一样,它只是提供了另一个保护的方法。你能在附加组件仓库中找到它 (LCTT 译注:对应的中文页面)。如果网页提示不支持你使用的火狐版本,点 “无论如何下载” Download Anyway 。这已经在 Firefox 51 上测试有效。

Random Agent Spoofer

Random Agent Spoofer 能改变火狐浏览器的签名,让浏览器看起来像是在其他任意平台上的其他任意浏览器。虽然有许多其他的用途,但是它也能用于预防浏览器指纹侦查。

浏览器指纹侦查 Browser Fingerprinting 是网站基于所使用的浏览器和操作系统来跟踪用户的另一个方式。相比于 Windows 用户,浏览器指纹侦查更多影响到 Linux 和其他替代性操作系统用户,因为他们的浏览器特征更独特。

你能通过火狐附加插件仓库添加 Random Agent Spoofer。(LCTT 译注:对应的中文页面)。像其他附加组件那样,页面或许会提示它不兼容最新版的火狐。再说一次,那并不是真的。

在火狐上使用Random Agent Spoofer

你可以通过点击火狐菜单栏上的图标来使用 Random Agent Spoofer。点开后将会出现一个下拉菜单,有不同模拟的浏览器选项。最好的选项之一是选择"Random Desktop" 和任意的切换时间。这样,就绝对没有办法来跟踪你了,也保证了你只能获得网页的桌面版本。

系统设置

私人 DNS

请避免使用公共或者 ISP 的 DNS 服务器!即使你配置你的浏览器满足绝对的隐私标准,你向公共 DNS 服务器发出的 DNS 请求却暴露了所有你访问过的网页。诸如谷歌公共 DNS(IP:8.8.8.8 、8.8.4.4)这类的服务将会记录你的 IP 地址、你的 ISP 和地理位置信息。这些信息或许会被任何合法程序或者强制性的政府请求所分享。

当我在使用谷歌公共 DNS 服务时,谷歌会记录什么信息?

谷歌公共 DNS 隐私页面有一个完整的收集信息列表。谷歌公共 DNS 遵循谷歌的主隐私政策,在 “隐私中心” Privacy Center 可以看到。 用户的客户端 IP 地址是唯一会被临时记录的(一到两天后删除),但是为了让我们的服务更快、更好、更安全,关于 ISP 和城市/都市级别的信息将会被保存更长的时间。 参考资料: https://developers.google.com/speed/public-dns/faq#privacy

由于以上原因,如果可能的话,配置并使用你私人的非转发 DNS 服务器。现在,这项任务或许跟在本地部署一些预先配置好的 DNS 服务器的 Docker 容器一样简单。例如,假设 Docker 服务已经在你的系统安装完成,下列命令将会部署你的私人本地 DNS 服务器:

# docker run -d --name bind9 -p 53:53/udp -p 53:53 fike/bind9

DNS 服务器现在已经启动并正在运行:

# dig @localhost google.com
; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> @localhost google.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51110
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             242     IN      A       216.58.199.46

现在,在 /etc/resolv.conf 里设置你的域名服务器:

nameserver 127.0.0.1

结束语

没有完美的安全隐私解决方案。虽然本篇指导里的步骤可以明显改进它们。如果你真的很在乎隐私,Tor 浏览器 是最佳选择。Tor 对于日常使用有点过犹不及,但是它的确使用了这篇指导里列出的一些措施。


via: https://linuxconfig.org/protecting-your-privacy-with-firefox-on-linux

作者:Nick Congleton 译者:ypingcn 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

这是一个关于如何在 Kali Linux 中更改 GRUB 背景的简单指南(实际上它是 Kali Linux 的 GRUB 启动图像)。 Kali 开发团队在这方面做的不多,他们好像太忙了,所以在这篇文章中,我会对 GRUB 解释一二,但是不会冗长到我失去写作的激情。 那么我们开始吧……

这通常是所有人首先会遇到的一个问题,在哪里设置?有很多方法来查找 GRUB 设置。每个人都可能有自己的方法,但我发现 update-grub 是最简单的。如果在 VMWare 或 VirtualBox 中执行 update-grub,你将看到如下所示的内容:

root@kali:~# update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.0.0-kali1-amd64
Found initrd image: /boot/initrd.img-4.0.0-kali1-amd64
  No volume groups found
done
root@kali:~#

如果您是双系统,或者三系统,那么您将看到 GRUB 以及其他操作系统入口。然而,我们感兴趣的部分是背景图像,这是在我这里看到的(你会看到完全相同的内容):

Found background image: /usr/share/images/desktop-base/desktop-grub.png

GRUB 启动图像搜索顺序

在 grub-2.02 中,对基于 Debian 的系统来说,它将按照以下顺序搜索启动背景:

  1. /etc/default/grub 里的 GRUB_BACKGROUND
  2. /boot/grub/ 里找到的第一个图像(如果发现多张,将以字母顺序排序)
  3. /usr/share/desktop-base/grub_background.sh 中指定的
  4. /etc/grub.d/05_debian_themeWALLPAPER 行列出的

现在将此信息留在这里,我们会尽快重新检查它。

Kali Linux GRUB 启动图像

在我使用 Kali Linux 时(因为我喜欢用它做事),会发现 Kali 正在使用这里的背景图像:/usr/share/images/desktop-base/desktop-grub.png

为了确定,我们来检查一下这个 .png 文件的属性。

root@kali:~# 
root@kali:~# ls -l /usr/share/images/desktop-base/desktop-grub.png
lrwxrwxrwx 1 root root 30 Oct  8 00:31 /usr/share/images/desktop-base/desktop-grub.png -> /etc/alternatives/desktop-grub
root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -1

什么?它只是 /etc/alternatives/desktop-grub 的一个符号链接? 但是 /etc/alternatives/desktop-grub 不是图片文件。看来我也要检查一下它的属性。

root@kali:~# 
root@kali:~# ls -l /etc/alternatives/desktop-grub
lrwxrwxrwx 1 root root 44 Oct  8 00:27 /etc/alternatives/desktop-grub -> /usr/share/images/desktop-base/kali-grub.png
root@kali:~# 

Change GRUB background in Kali Linux - blackMORE OPs -3

好吧,真让人费解。 /etc/alternatives/desktop-grub 也是一个符号链接,它指向 /usr/share/images/desktop-base/kali-grub.png,来自最初同样的文件夹。呃! 无语。 但是现在我们至少可以替换该文件并将其解决。

在替换之前,我们需要检查 /usr/share/images/desktop-base/kali-grub.png 的属性,以确保下载相同类型和大小的文件。

root@kali:~# 
root@kali:~# file /usr/share/images/desktop-base/kali-grub.png
/usr/share/images/desktop-base/kali-grub.png: PNG image data, 640 x 480, 8-bit/color RGB, non-interlaced
root@kali:~# 

可以确定这是一个 PNG 图像文件,像素尺寸为 640 x 480。

GRUB 背景图像属性

可以使用 PNG, JPG/JPEG 以及 TGA 类型的图像文件作为 GRUB 2 的背景。必须符合以下规范:

  • JPG/JPEG 图像必须是 8-bit (256 色)
  • 图像应该是非索引的,RGB

默认情况下,如果安装了 desktop-base 软件包,符合上述规范的图像将放在 /usr/share/images/desktop-base/ 目录中。在谷歌上很容易找到类似的文件。我也找了一个。

root@kali:~# 
root@kali:~# file Downloads/wallpaper-1.png 
Downloads/wallpaper-1.png: PNG image data, 640 x 480, 8-bit/color RGB, non-interlaced
root@kali:~# 

Change GRUB background in Kali Linux - blackMORE OPs -6

方式 1:替换图像

现在我们只需简单的用新文件将 /usr/share/images/desktop-base/kali-grub.png 替换掉。值得注意这是最简单的方法,不需要修改 grub-config 文件。 如果你对 GRUB 很熟,建议你简单的修改 GRUB 的默认配置文件,然后执行 update-grub

像往常一样,我会将原文件重命名为 kali-grub.png.bkp 进行备份。

root@kali:~# 
root@kali:~# mv /usr/share/images/desktop-base/kali-grub.png /usr/share/images/desktop-base/kali-grub.png.bkp
root@kali:~# 

Change GRUB background in Kali Linux - blackMORE OPs -4

现在我们将下载的文件重命名为 kali-grub.png

root@kali:~# 
root@kali:~# cp Downloads/wallpaper-1.png /usr/share/images/desktop-base/kali-grub.png
root@kali:~# 

Change GRUB background in Kali Linux - blackMORE OPs -5

最后执行命令 update-grub

root@kali:~# update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.0.0-kali1-amd64
Found initrd image: /boot/initrd.img-4.0.0-kali1-amd64
  No volume groups found
done
root@kali:~#

Change GRUB background in Kali Linux - blackMORE OPs -7

下次重新启动你的 Kali Linux 时,你会看到 GRUB 背景变成了你自己的图像(GRUB 启动界面)。

下面是我现在正在使用的新 GRUB 启动背景。你呢?要不要试试这个办法?

Change GRUB background in Kali Linux - blackMORE OPs -9

这是最简单最安全的办法,最糟的情况也不过是在 GRUB 看到一个蓝色的背景,但你依然可以登录后修复它们。现在如果你有信心,让我们尝试一个改变 GRUB 设置的更好的方法(有点复杂)。后续步骤更加有趣,而且可以在任何使用 GRUB 引导的 Linux 上使用。

现在回忆一下 GRUB 在哪 4 个地方寻找启动背景图像?再看一遍:

  1. /etc/default/grub 里的 GRUB_BACKGROUND
  2. /boot/grub/ 里找到的第一个图像(如果发现多张,将以字母顺序排序)
  3. /usr/share/desktop-base/grub_background.sh 中指定的
  4. /etc/grub.d/05_debian_theme 里 WALLPAPER 行列出的

那么我们再在 Kali Linux 上(或任意使用 GRUB2 的 Linux系统)试一下新的选择。

方式 2:在 GRUB\_BACKGROUND 中定义图像路径

所以你可以根据上述的查找优先级使用上述任一项,将 GRUB 背景图像改为自己的。以下是我自己系统上 /etc/default/grub 的内容。

root@kali:~# vi /etc/default/grub

按照 GRUB_BACKGROUND="/root/World-Map.jpg" 的格式添加一行,其中 World-Map.jpg 是你要作为 GRUB 背景的图像文件。

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#&nbsp;&nbsp; info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=15
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="initrd=/install/gtk/initrd.gz"
GRUB_BACKGROUND="/root/World-Map.jpg"

一旦使用上述方式完成更改,务必执行 update-grub 命令,如下所示。

root@kali:~# update-grub
Generating grub configuration file ...
Found background: /root/World-Map.jpg
Found background image: /root/World-Map.jpg
Found linux image: /boot/vmlinuz-4.0.0-kali1-amd64
Found initrd image: /boot/initrd.img-4.0.0-kali1-amd64
&nbsp; No volume groups found
done
root@kali:~#

现在重启机器,你会在 GRUB 看到自定义的图像。

方式 3:把图像文件放到 /boot/grub/ 文件夹

如果没有在 /etc/default/grub 文件中指定 GRUB_BACKGROUND 项,理论上 GRUB 应当使用在 /boot/grub/ 文件夹找到的第一个图像文件作为背景。如果 GRUB 在 /boot/grub/ 找到多个图像文件,它会按字母排序并使用第一个图像文件。

方式 4:在 grub\_background.sh 指定图像路径

如果没有在 /etc/default/grub 文件中指定 GRUB_BACKGROUND 项,而且 /boot/grub/ 目录下没有图像文件,GRUB 将会开始在 /usr/share/desktop-base/grub_background.sh 文件中指定的图像路径中搜索。Kali Linux 是在这里指定的。每个 Linux 发行版都有自己的特色。

方式 5:在 /etc/grub.d/05\_debian\_theme 文件的 WALLPAPER 一行指定图像

这是 GRUB 搜寻背景图像的最后一个位置。如果在其他部分都没有找到,它将会在这里查找。

结论

这篇文章较长,但我想介绍一些基础但很重要的东西。如果你有仔细阅读,你会理解如何在 Kali Linux 上来回跟踪符号链接。当你需要在一些 Linux 系统上查找 GRUB 背景图像的位置时,你会感到得心应手。只要再多阅读一点来理解 GRUB 颜色的工作方式,你就是行家了。


via: https://www.blackmoreops.com/2015/11/27/change-grub-background-in-kali-linux/

作者:https://www.blackmoreops.com/ 译者:fuowang 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

不用我说,你也知道 GIF 动画在过去几年发展迅速。人们经常在线上文字交流时使用动画增添趣味,同时这些动画在很多其他地方也显得非常有用。

在技术领域使用动画能够很快的描述出现的问题或者返回的错误。它也能很好的展现出一个软件应用产品的特性。你可以在进行线上座谈会或者在进行公司展示时使用 GIF 动画,当然,你可以在更多的地方用到它。

现在,假设你的电脑桌面上打开了多个应用程序,或者无论出于什么目的,你想制作一个 GIF 动画来记录桌面上一个应用程序窗口的操作过程。你应该怎么做呢?显然,你需要一个工具来完成这件事。

如果你正在寻找了这样一个可以记录桌面上部分区域的工具,并且它可以自动把录屏转化成 GIF 动画; 现在,本教程会介绍一个 Linux 命令行工具来实现你的需求。

开始之前,你必须知道在本教程中所有的例子都是在 Ubuntu 14.04 上测试过的,它的 Bash 版本是 4.3.11(1) 。

Gifine

这个工具的主页是 Gifine 。它基于 GTK 工具包,是用 MoonScript 使用 lgi 库编写的。Gifine 不仅能够录屏、创建动画或视频,而且能够用它来把几个小型动画或视频拼接在一起。

引述这个工具的开发者的话:“你可以加载一个视频帧的目录或者选择一个桌面的区域进行录屏。你加载了一些视频帧后,可以连续查看它们,并裁剪掉不需要的部分。最终完成录屏后可以导出为 gif 或者 mp4 文件。”

Gifine 下载/安装/配置

在指引你下载和安装 Gifine 之前,应该指出安装这个工具时需要安装的依赖包。

首先需要安装的依赖包是 FFmpeg , 这个软件包是一种记录、转化和流化音频以及视频的跨平台解决方案。使用下列命令安装这个工具;

sudo apt-get install ffmpeg

接下来是图像处理系统 GraphicsMagick。这个工具的官网说:“它提供了一个稳健且高效的工具和库的集合,支持读写并且可以操作超过 88 种主要的图像格式,比如:DPX、 GIF、 JPEG、 JPEG-2000、 PNG、 PDF、 PNM 以及 TIFF 等。”

通过下面的命令安装:

sudo apt-get install graphicsmagick

接下来的需要的工具是 XrectSel 。在你移动鼠标选择区域的时候,它会显示矩形区域的坐标位置。我们只能通过源码安装 XrectSel ,你可以从 这里 下载它。

如果你下载了源码,接下来就可以解压下载的文件,进入解压后的目录中。然后,运行下列命令:

./bootstrap

如果 configure 文件不存在,就需要使用上面的命令

./configure --prefix /usr

make

make DESTDIR="$directory" install

最后的依赖包是 Gifsicle 。这是一个命令行工具,可以创建、编辑、查看 GIF 图像和动画的属性信息。下载和安装 Gifsicle 相当容易,你只需要运行下列命令:

sudo apt-get install gifsicle

这些是所有的依赖包。现在,我们开始安装 Gifine 。使用下面的命令完成安装。

sudo apt-get install luarocks

sudo luarocks install --server=http://luarocks.org/dev gifine

请注意第二个命令可能会返回下列错误:

No package 'gobject-introspection-1.0' found

你可以用下列命令安装这个包:

sudo apt-get install libgirepository1.0-dev

然后,再一次运行 luarocks install 命令。

Gifine 使用

完成安装之后可以使用下面的命令运行这个工具:

gifine

这个应用程序的 UI 是这样的:

Gifine UI

这里你可以进行两种操作:录视频帧或者加载视频帧。如果你单击了 录制矩形区域 Record rectange 按钮,你的鼠标指针处会变成一个 + ,这样便可以在你的屏幕上选择一个矩形区域。一旦你选择了一个区域,录屏就开始了, 录制矩形区域 Record rectange 按钮就会变成 停止录制 Stop recording 按钮。

Gifine screen recording

单击 停止录制 Stop recording 完成录屏,会在 Gifine 窗口出现一些按钮。

Gifine preview

用户界面的上半部分显示已经录制的视频帧,你可以使用它下面的滑块进行逐帧浏览。如果你想要删除第 5 帧之前或第 50 帧之后的所有帧数,你可以使用 裁剪左边 Trim left of 裁剪右边 Trim rigth of 按钮进行裁剪。也有可以删除特定帧数和减半删除帧数的按钮,当然,你可以重置所有的裁剪操作。

完成了所有的裁剪后,可以使用 保存 GIF Save GIF... 保存 MP4 Save MP4... 按钮将录屏保存为动画或者视频;你会看到可以设置帧延迟、帧率以及循环次数的选项。

记住,“录屏帧不会自动清除。如果你想重新加载,可以在初始屏幕中使用 加载目录 load directory 按钮在 '/tmp' 目录中找到它们。“

总结

Gifine 的学习曲线并不陡峭 —— 所有的功能都会以按钮、文本的形式体现出来。

对我来说,最大的问题是安装 —— 需要一个个安装它的依赖包,还要处理可能出现的错误,这会困扰很多人。否则,从整体上看,Gifine 绝对称得上是一个不错的工具,如果你正在寻找这样的工具,不妨一试。

已经是 Gifine 用户?到目前为止你得到了什么经验?在评论区告诉我们。


via: https://www.howtoforge.com/tutorial/record-screen-to-animated-gif-on-linux/

作者:Ansh 译者:vim-kakali 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出