2014年9月

缘起

一年前,我因为开发 Linux 中国的微信公众号,想着在公众号里面提供 Linux 的 man 手册应该是个不错的主意,因此在网上遍寻中文 man 手册。虽然我之前也寻找过中文的 man 手册,知道颇多不全和错漏,但是这次仔细搜寻之下,却发现还远较我预计的还差。

无奈之下,只能先使用了英文版本作为 man 的内容,并因此萌发了组织一个翻译 man 手册的活动或组织的想法。说干就干,当时我就在 Linux 中国的 QQ 群里面发起了倡议,还真得到了大家响应。

于是,2013 年 9 月 10日,草草而就的 LCTT 就成立了,很快就创建了一个 QQ 群作为交流,并确定了名称为“Linux.CN Translate Team”,简称 LCTT。考虑到需要多人协作,几乎没有多想,就决定了采用 GITHUB 作为翻译平台——虽然现在看起来,GITHUB 作为主要工作平台,有利也有弊,但是,总体来说还是不错的。LCTT 就这样启动了。

发展

次日,我们就组织起来了翻译,并初步拟定了翻译流程、分工之类的内容。

LCTT 草创,各种方面都没有经验,也出现过一些失误。比如说,开始时对于 GITHUB 以及 GIT,大部分人,包括我,都不是很熟悉,因此并未采用 Pull-Request 模式,而是共同控制的方式,也由于一些协调和经验的原因,出现过版本错误和回滚,甚至回滚得更乱。还有,初期还要求 LINUX 中国网站 的注册身份,但是后来发现这完全不必要。

本来成立 LCTT 的目标是为了 man 手册的翻译,但是经过研究,我发现翻译 man 手册还有一些困难:

  1. man 手册是二进制的 groff 格式,因此生成和解析需要一些额外的过程,甚至需要一些特定的环境;
  2. man 手册对翻译的能力要求较高,并且应该对 man 手册所对应的命令有足够的了解,才能翻译得当,因为一字之差就可能导致很多误解。

所以,当时商量决定,先期启动普通的 Linux 方面、开源方面的文章翻译,以此来摸索翻译流程和锻炼协作,并作为翻译 man 手册的人员筛选环节。

我安排 Linux 中国站长,原本经常独自翻译发表来自国外文章的 DeadFire 来做选题。他负责将选题从英文的页面,转换成 Markdown 格式。我又找了朋友 jasminepeng 和 carolinewuyan 帮忙做校对,我自己则主要承担发布的工作。

初期,很快就涌现出了一些积极参与的人员,如 tinyeyeser、vito-L、boredivanivan等等,不一一列举了,他们不但积极参与翻译,而且还帮助撰写了第一批的翻译组 Wiki 文档,对引导新人起到了很大作用。

伴随着 LCTT 的逐步运作,一个月之后,我和大家感觉时间比较成熟了,就启动了 man 翻译计划。

man 翻译计划的夭折

写下这个标题时,我也颇感觉惭愧的,这也算是我正视这个结果吧。不管怎么说,现在还是深夜,未过零点,我终究是在 LCTT 一周年之前正视了失败。

其实,前面提到过,我检索过各种可以找到的中文 man 翻译项目的结果,但种种结果让人无法满意,因此我觉得,我应该能吸取其中的教训,为 Linux、为开源做点实事出来。

我总结的之前的 man 翻译项目失败的原因大概如下:

  1. 缺乏足够的驱动力,翻译者无论从利益还是荣誉,都得不到鼓励,因此往往难以为继。
  2. 由于依赖个人热情,没有形成流动机制,因此,当某个人热情耗尽之后,就没有人继续接手维护。
  3. 翻译流程简单,没有形成初译、校对、发布等流程,无法保证质量,也没有保持同步更新的流程。

因此,我觉得,通过建立一个翻译的公益组织(即 LCTT)、建立翻译流程、翻译后保留翻译和校对等人员的署名,可以解决一些以上的问题。

但是,其实我还忽视了一点,翻译 man 手册,其实无论是环境还是流程,比较复杂,因此限制了参与者。参与门槛高,导致发展不能持续。

因此,实际上,man 翻译项目,在大概运作了一个月之后,就逐渐停滞下来了,虽然后期,willqian 独立完成了很多篇,但是总体来说,man 翻译项目算是失败了。

总结这一年

抛开 man 翻译项目的失败不说,其实,LCTT 还是成果累累。

这一年,我们完成了 5820 次提交,发起了 1482 个 PR,翻译了 805 篇文章。

这一年,我们有了 98 个贡献者,得到了 162 个 fork。

我使用了一个工具,根据这一年来我们 LCTT 翻译项目的 git 日志,生成了一段视频。看着视频中如辛勤的工蜂一样忙忙碌碌的志愿者们;看着如穿花蝴蝶一样,承担了更多工作量的选题、校对们;看着归档时如同施展魔法一样,瞬间变出了一朵朵花,我感觉我们这一年是有收获的一年!

请大家观赏我们这一年: (213M,720p)

这是我用 kdenlive 合成配音的。虽然我的乐感很差,只能选择一首自己觉得还算配的音乐;虽然我根本不会用 kdenlive,连配音淡出都琢磨半天;虽然我编译用于生成这个视频的 gource 都花费了几个小时来解决问题;但是,看到这份视频,我为我们 LCTT 这一年来的工作感到骄傲。

感谢你们

虽然很俗套,但是此刻,已经是 2014 年 9 月 10 日凌晨00:50了,我心情很激动,真心感谢所有的参与者、贡献者。几乎每个 LCTT 的成员我都知道,也有几个我特别熟悉;LCTT 的成员有新来的,也有逐渐淡出的,但是不论是那种,我都记得你们。

名单太长,我就不一一列举了: https://github.com/LCTT/TranslateProject/graphs/contributors

接下来

我会说,man 计划我不会放弃么?

是的,man 计划是 LCTT 之所以发起的原因,也是 LCTT 能够持久发展的基础,而 man 翻译也是真正对国内的 Linux 、开源发展有实在意义的事情,所以,我不会放弃。

我会投入精力开发一个翻译平台,用于 man 项目的翻译、校对和发布,将复杂的翻译环境配置和使用方法隐藏在后面;并增加可视化的图表和进度显示,明了的体现翻译工作进展;对接 man7.org 的最新更新,保持 man 内容的及时更新等等。

期待 LCTT 的下一个年度的发展吧!

加入我们

您可以先访问我们的官网了解 LCTT : http://lctt.github.io/ ,如果愿意作为志愿者参与到 LCTT 的活动中来,您可以加入 QQ 群: 198889102 ,验证信息:“志愿者”。

欢迎你,一起来吧!


LCTT wxy

2014 年 9 月 10 日

对于花大量时间在Linux屏幕前的系统管理员和Linux爱好者来说,网络/本地电台上的音乐可以极大提高生产力,你们知道吗?不管你们相信与否,,在工作环境中有适当的声音,如音乐或者闲聊声包围,都可以提高我们的创造力。如果你喜欢在音乐环境中工作,这个教程也许会对你有用。我将会向你展示如何在命令行中收听潘多拉(Pandora)在线电台(LCTT译注:Pandora Internet Radio是一个仅为美国、澳大利亚和新西兰提供自动音乐推荐的系统。详细介绍Prandoea电台

正如你已经知道的,Pandora是最有名的在线电台服务之一,它包含无数的不同种类的免费音乐流,同时它还有一个强大的音乐推荐引擎。Pandora可以通过不同的方式访问,如:浏览器,桌面客户端或者手机Apps,开源社区还给出了另一种访问Pandora音乐服务的方法:Linux命令行。

pianobar是一个播放Pandora在线电台音乐的开源命令行音乐播放器。它有一个简单的终端接口,用于播放和管理音乐电台。同时还有其他包括歌曲评价,即将上线音乐列表,播放历史,自定义快捷键绑定,远程控制等功能。对于那些居住在不可访问Pandora音乐服务区域的用户(即美国、澳大利亚和新西兰以外的用户),Pianobar还配置了代理服务的支持。

在Linux中安装Pianobar

在Debian或者其他Debian的衍生品中,如Ubuntu或LinuxMint,Pianobar是一个已经编译好的软件包,因此安装Pianobar只是简单的输入如下命令:

$ sudo apt-get install pianobar

在Fedora中,Pianobar并不包含在基础的软件库中。因此,你需要通过源代码编译安装Pianobar。整个安装过程会有点麻烦,但是下面的教程将会实现Pianobar在Fedora系统中编译安装。该教程在Fedora20版本中测试通过。

首先,根据FFmpeg安装教程编译并安装FFmpeg。

然后,启用RPM Fusion源,并安装其他依赖软件:

 $ sudo yum install wget gcc-c++ pkgconfig gnutls-devel json-c-devel libgcrypt-devel make libao-devel faad2-devel libmad-devel libao faad2-libs 

编译并安装Pianobar

$ wget http://6xq.net/projects/pianobar/pianobar-2014.06.08.tar.bz2
$ tar xvfvj pianobar-2014.06.08.tar.bz2
$ cd pianobar-2014.06.08
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH make
$ sudo make install 

最后允许Paniobar加载安装在/usr/local/lib目录下的FFmpeg共享库,在/etc/ld.so.conf配置文件中添加下面一行:

/usr/local/lib

重载所有的共享库

$ sudo ldconfig

就这样,Pianobar已经在Fedora系统中安装完成。

在命令行中收听Pandora音乐

paniobar的基本用法是输入如下命令:

$ pianobar

该命令将会要求你登录到Pandora并从你的个性化电台列表中选择要收听的电台。在你选择电台后,音乐就开始自动播放。

按‘?’按键pianobar会列出一系列可用个命令,其中一些如下:

  • s: 更换电台
  • u: 查看即将上线音乐列表
  • h: 查看播放历史
  • n: 播放下一首
  • b: 收藏歌曲或艺术家
  • ( 或者 ): 减少或增加播放音量
  • S: 暂停播放
  • P: 恢复播放
  • V:为当前收听的歌曲或者艺术家创建一个电台
  • +或者-:查看上一首或者下一首歌曲
  • a:添加音乐到电台
  • q:退出pianobar

将Pianobar配置为自动安装

你可以在一个单独的配置文件中配置Pianobar的各项默认配置。例如:你可以将你的登录信息放到配置文件中,这样你就不用每次都要手动输入。下面是如何创建一个配置文件的示例:

$ mkdir -p ~/.config/pianobar
$ vi ~/.config/pianobar/config
# Example pianobar configuration file

# Pandora login info
user = your@email_address
password = plaintext_password

# Users who cannot access Pandora in their region can set a proxy.
control_proxy = http://user:password@host:port/

# Initial volume in dB: between -30 and +5
volume = 0

# Audio quality: high, medium or low
audio_quality = high

如需了解完整的配置选项,请参阅其man手册页。

$ man pianobar

远程控制Pianobar

Pianobar的另一个优秀特性是支持远程控制,你可以通过命令管道(FIFO)为Pianobar的一个运行实例发送命令。下面是远程控制Pianobar的示例:

首先在目录~/.config/pianobar下创建一个FIFO命令管道

$ mkfifo ~/.config/pianobar/ctl

然后运行Pianobar

现在,你可以通过使用echo命令发送任何的单字符命令键到Pianobar中,例如:播放下一首歌曲:

$ echo -n 'n' > ~/.config/pianobar/ctl

你可以很容易的将此配置扩展到远程计算机中,当Pianobar在主机X上运行,你可以从远程主机Y中通过SSH控制Pianobar,如下所示:

在主机Y中,运行:

$ ssh user@host_X "echo -n 'n' > ~/.config/pianobar/ctl"

当然,你希望为登录到主机X的SSH登录认证启用秘钥认证,这样你就不用每次都输入SSH密码。

当你想在树莓Pi上设置一个可以远程控制的在线电台播放器时,Pianobar的远程控制特性将会让你非常方便地实现该需求。

希望你和我一样喜欢Pianobar,若有什么想法,请在评论中告诉我。


via: http://xmodulo.com/2014/08/listen-to-internet-radio-command-line-linux.html

作者:Dan Nanni 译者:cvsher 校对:Caroline

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

GIMP是深受欢迎的开源Photoshop替代软件,它的新版本现在可以下载了。

GIMP is a Free Photoshop Alternative

GIMP是一款免费的可替代Photoshop的软件
正如在GIMP 2.8.x 系列中的最新条目——自2012年起开始发布并着重介绍长期追求的“单窗口模式”——版本2.8.12并没有重新去做它而是继续改进。如其所说,软件并没有发现面向用户的新特点。

然而,开发人员修复了一批新的漏洞,旨在提高整体的稳定性,安全性以及这款著名软件的风格。

  • 插件的笔刷大小不再变形。
  • .XCF 文件的加载更稳固。
  • 小部件的方向现在匹配界面语言(例如 RTL)。
  • script-fu-server 的安全性提高。

文档,帮助以及翻译的更新也包括在其中。想了解在版本 2.8.10 和 2.8.12 之间所有修复完整更改日志,可以看GNOME Git日志

在Ubuntu上安装最新的GIMP

最新发布的源代码可以从官方网站上或者从官方种子文件下载。

在Ubuntu上呢?在Ubuntu 12.04 和14.04 LTS 上你可以通过添加以下第三方PPA软件源来安装GIMP 2.8.12:

sudo add-apt-repository ppa:otto-kesselgulasch/gimp

sudo apt-get update && sudo apt-get install gimp

在安装完成后,你可以从Unity Dash(或者类似途径)来启动GIMP 2.8.12。


via: http://www.omgubuntu.co.uk/2014/08/whats-new-in-gimp-2-8-12-plus-install-ubuntu

作者:Joey-Elijah Sneddon 译者:linuhap 校对:Caroline

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

有时候,我们需要搜索包含有某些特定文本或单词的文件。如果你是个开发者或者程序员,经常会碰到这样的问题。现在,我们总是能够使用Linux命令来查找包含有指定文本的所有文件,但不是每个人都热衷于命令行。我见过那些优秀的程序员,他们更多的是依赖于图形化工具,而不是命令行。

如果你也更喜欢图形化工具,那么SearchMonkey对于你而言是个十分完美的应用。

SearchMonkey是你的桌面搜索引擎

SearchMonkey递归搜索目录,因此你可以在它工作的时候坐下放松一下。用户可以使用强大的正则表达式来搜索文件名和内容,这使得SearchMonky返回结果时更为精确。

此外,SearchMonkey不仅仅给你列出可能包含有你正在查找的内容的文件,它也高亮显示匹配的内容。

在Ubuntu 14.04中安装SearchMonkey

SearchMonkey可以在Ubuntu 14.04的软件仓库中找到,你只需要通过Ubuntu软件中心或者通过以下命令来安装:

sudo apt-get install searchmonkey

安装完毕后,你可以从Unity Dash中启动SearchMonkey。界面简明直观,易于使用。

SearchMonkey帮助你快速查找到你所需要的文件,不需要先构建一个驱动映射。每次搜索都是实时的,结果也会在找到后立即在上下文中显示!尤其,它还是一个免费又开源的软件。


via: http://itsfoss.com/searchmonkey-search-text-files-linux/

作者:Amit Asthana 译者:GOLinux 校对:Caroline

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

Linux发行版可以作为全功能打包,也可以按需分解,它驱动了从市内标示牌到市议会桌面系统在内的所有设备。

正是这种多样化,几乎可塑的质量,让Linux发行版,包括Ubuntu在内,在众多不同领域如此成功。

信息亭和单功能计算机

Ubuntu更为流行的使用之一,是在信息亭(kiosk)类计算机中。这些设备趋向于运行功能剥离的,或者功能有限的OS版本,只允许一个单一应用运行

信息亭计算机可以设置提供短时的或者被动的访问,适用于网吧或只能让用户访问特定功能时(如网页浏览器)。

构建Ubuntu信息端

但你会怎样来创建这样一台计算机?好吧,不用去Google了。Linux开发者Oli Warner最近发布了两篇文章,介绍了使用Ubuntu 14.04和Google Chrome来创建单一功能的设备。

他的第一篇指南从零开始,使用Ubuntu Server和少量的软件包来创建一个轻量级的X和Openbox的组合,开机启动Chrome。该安装需要最多2GB的磁盘空间和仅仅512MB的内存来运行。

第二篇教程反其道而行,一步一步介绍了将一个现存的Ubuntu桌面安装转变为一个更轻巧的单一功能的变形版本。

两个指南都不是给那些胆小的新手的,而对于大多数中级水平的用户而言却是简单易行的。跟着指南来获得一次实用的安装体验,不要畏首畏尾,大胆去剥离一些深层次的包和进程,或者加固安全吧,特别是如果想要在公共环境中使用时。


via: http://www.omgubuntu.co.uk/2014/07/create-ubuntu-kiosk

作者:Joey-Elijah Sneddon 译者:GOLinux 校对:wxy

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

如果你喜欢做‘排名前10’之类的列表但又有点不好意思这样说,那么告诉人们你热爱数据的探索。为了进一步打动他们,向他们解释你在命令行间的数据探索。但是不要告诉他们这其实很容易,以免你的好形象就这样被毁灭了哦!

在这篇文章中,我将基于GNU/Linux工具和'单列表格'(也就是我所说的简单列表)来做一些数据探索。如若想在这里通过命令行查看更多的信息,请查看'man'页,或者在“注释”部分求解。

密码

在第一个列表里探讨的是马克.伯内特2011著的关于10000 个最常用的密码汇编。这个列表是有序的、使用最频繁的,也是广为人知的阶乘“密码”的最常用来源之一,与“123456”并列排名第二。在这里,我把该列表放到一个名为“passwords”的文件中,并且使用head命令把排名前10的列出来了:

(伯内特解释他是如何收集这些密码的这里。你会注意到在列表中他把所有大写字母都转换成小写的。)

OK,所以'password'是伯内特列表的顶部。那么每个数字呢?

非常有趣的是!数字'1'出现在密码列表中的次数多于第二个最常用数字'2'的两倍,而且,除了0和9之外,这十个数字出现的次数以其数字顺序排列。而排名前10的字母呢?

在 passwords 文件中出现最频繁的字母依次是EARONISTLC,类似于EAIRTONSLC,这是至少一个出版的表格中提到的常用英文单词中出现的字频。这是否意味着,大部分密码其实是一些常见的英语单词呢,也许会参杂一些数字呢?

为了找到答案,我先把密码转换成一个纯字母的字符串列表,然后看看有多少字符串是可以在英语词典中找到的。

首先我将通过 sed 命令删除所有密码中的数字,然后删除所有的标点符号,再删除所有的空行。这将创建出一个纯字母的密码列表。然后我通过sortuniq来修剪列表的排序,将重复项取出。(例如,'abc1234def'和'abc1!2!3!def!'都剔除剩下'abcdef'.) 。根据wc命令,我把1000个密码减至成8583个纯字母的字符串:

我经常使用一本便携式的英语字典,我通常会使用usr/share/dict/american-english,这个文件是来自Debian Linux的一个发行版本。它包含了99171个单词。我会先通过tr命令将这个词表转换为纯小写的,然后使用sortuniq删除掉任何重复的条目排序(例如'A' 和 'a' 都将成为 'a')。这样就将词表的数量减至97723项了:

我现在可以用comm命令及'-23'的参数来比较两个列表,并报告纯字母文件中而没有出现在字典中的单词:

总数是3137,所以至少有8583 -3137 = 5446个'核心'密码在伯纳特的纯小写字母列表中(大约63%)是简单的英语单词,或者是简单的单词附加一些数字或者标点符号。我之所以说“至少”,是因为在3137个字符串中有很大比例是只有经过轻微修改的纯英语单词、名称、或者在/usr/share字典中未能找到的名称修改而成的。在LA项中,例如,'labtec', 'ladyboy', 'lakeside', 'lalakers', 'lalala', 'laserjet', 'lasvegas', 'lavalamp' 和 'lawman'.

地名

在之前的一篇Linux Rain article,我描述了如何建立一张37万项澳大利亚的地名表。有了它,我现在可以回答一些类似这样的关键问题“Round Hill是澳大利亚山脉中最流行的名字吗?”和“桑迪是沙滩之最,而岩溪峡谷呢?”

在地名表中地名字段的排名第2,所以这里有:

哇。我当时甚至没有关闭这个终端。(但是请注意到我是如何通过^string1^string2命令保存打印的内容。它重复着最后一个命令,但是用第2个字符串代替了第1个字符串。这是多么有用的BASH绝招!)

另一个亟待解决的问题是有多少地名有'Mile'在其中,例如'Six Mile Creek',而他们的排名又是如何:

我在我的澳洲之旅发现有很多Dead Horse Creeks,因此有这些地名:

种类

第三个列表是探索我今年出版的1961-2010年期间澳大利亚新种类昆虫名。从这个列表中,我去掉所有“物种的绰号”,就是种群组合的第二部分,比如像智人(你和我)和西方蜜蜂(欧洲蜜蜂)。

(科技小贴士:这个昆虫表,可以从开发数据Zenodo库中https://zenodo.org/record/10481取得,包括亚种。在我的‘top 10’练习中,我首先分离出所有独特的种群组合,这样避免了重复的,例如蜜蜂iberica的亚种,以避免蜜蜂的绰号intermissa,等等。最后一个物种文件有18155个绰号。)

大多数人讲科学名称带玩笑式地用'-us'结局,如'Biggus buggus'。那么昆虫学家呢?有几个不错的,用命令行的方式获取字符串的最后2个字母,在这里我都会用到这2个:

耶!昆虫学家喜欢也‘-us’结尾。接下来,我不知道有多少物种是以我的家乡Tasmania州来命名的?(下面我想看看前100行,来确保我得到的所有'tasman'组合.)

那么昆士兰呢?

一般来说,昆虫物种名单中的前10名分别是什么呢?

嗯,除了明显的'australis'和'australiensis',而地理方面的'occidentalis'(西部),另外昆虫学家创建7个在10个最流行列表中的绰号已经履行了其它昆虫学家的意愿。(绰号'commoni'是给澳大利亚蝴蝶和蛾专家Ian F.B. Common[1917-2006]的荣誉。)

演变

上面的这些命令用在简单列表上。要从简单的列表变成文本块,那就再次需要我们的命令行朋友了。例如,我把澳大利亚参议院于2014年7月16日的演讲保存成文本文件hansard。将hansard分割成一个单词列表:

现在看看讲话中的单词使用频率:

即将推出...

从多列的表中做'top 10'等排名,需要更多些的命令行工具。我将会在未来的文章中证明他们的用处。


via: http://thelinuxrain.com/articles/top-10-fun-on-the-command-line

原文作者:Bob Mesibov(Bob Mesibov 是塔斯马尼亚人,已经退休,热衷于 Linux tinkerer)

译者:disylee 校对:wxy

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