merge from LCTT

This commit is contained in:
runningwater 2014-07-31 00:10:55 +08:00
commit 67d06a8902
262 changed files with 12832 additions and 3278 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.md~
members.md
*.html
*.bak

View File

@ -1,8 +1,7 @@
10款专为嵌入式系统打造的Linux平台
==========================================
Linux 有着广泛的用途。该平台被许多简单的家用电器所使用同时它也深受程序员和黑客们的青睐。此外Linux 还广泛地应用在嵌入式系统中有一系列专门适用于此类系统的发行版。我们将为大家推荐十个非常优秀的专为嵌入式系统发行的linux版本
Linux 有着广泛的用途。该平台用于很多家庭的简单使用同时它也深受程序员和黑客们的青睐。此外Linux 还广泛地应用在嵌入式系统中有一系列专门适用于此类系统的发行版。我们将为大家推荐十个非常优秀的专为嵌入式系统发行的linux版本
![] (http://www.efytimes.com/admin/useradmin/photo/UJVP24130PM532014.jpeg)
@ -10,61 +9,49 @@ Linux 有着广泛的用途。该平台被许多简单的家用电器所使用
### 1.[Ampro 嵌入式 Linux][1] ###
这是一个自由和开放源代码的从Ubuntu派生来的轻量级操作系统。
这是一个自由和开放源代码的从Ubuntu精简来的轻量级操作系统。
### 2. [BlueCat Linux from Lynx][2] ###
这个基于 Linux 的发行版是Lynx套件的一部分并为嵌入式系统打造。
这个基于 Linux 的发行版是Lynx套件的一部分并为嵌入式系统打造。
### 3. [CacheGuard OS][3] ###
CacheGuard OS 是一个从零开始建立的集成了安全解决方案的基于Linux的可自定义版本 ,专门为网络管理设计的。
CacheGuard OS 是一个从零开始建立的集成了安全解决方案的基于Linux的版本专门为网络管理设计的。
### 4. [Darma NAS OS][4] ###
这个发行版有一个基于 SSL 的加密客户端服务器和基于 Java 的图形用户界面。
这个发行版有一个基于 SSL 的加密客户端的服务器和基于 Java 的图形用户界面。
### 5. [DIET-PC][5] ###
这是开源的瘦客户端软件 kitset它允许用户建立网络设备。
这是开源的瘦客户端软件 kitset它允许用户建立网络应用。
### 6. [ELinOS][6] ###
这个发行版为在嵌入式系统上工作的用户提供大量的技术。它是一个相当受欢迎的嵌入式 Linux 平台。
### 7. [eLux][7] ###
这个发行版有一个非常简单和容易使用的界面,适用于用户和管理员都不具有任何有关 Linux 的知识的特殊情况下。
### 8. [eLux NG][8] ###
这一个发行版为支持 eLux 的列表中的处理器添加了新的模式。
这个发行版为支持 eLux 的处理器列表中添加了新的型号。
### 9. [Embedded Coyote Linux][9] ###
这种基于 Coyote Linux的防火墙和 VPN 服务器一直为很多人选择的平台。
# # # 10。[嵌入式 Debian 项目][10] # # #
### 10. [嵌入式 Debian 项目][10] ###
这个项目的目的是使 Debian GNU/Linux 成为嵌入式系统的第一选择。
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=137612
译者:[owen-carter](https://github.com/owen-carter) 校对:[校对者ID](https://github.com/校对者ID)
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,33 @@
为什么我们不应该接受低劣的Linux移植游戏
================================================================================
由于最近The Witcher 2的惨败我想写下些想法为什么我们不应该接受来自开发人员的品质低劣的移植游戏。
最近几年在我们的Linux游戏库里面有如此多游戏以至于你现在可以看到来自Linux玩家的评论“我们已经有很多游戏了”可能这些声音来自很多像你一样的人。感谢Valve 和 Steam之前我们从来没有得到过这么多的开发者的关注。
同样由于开发者的推进,我们看见了伴随而来的各种移植游戏,坦率地说,它们的质量十分的低劣,或者说对于大多数人们来说根本不值得去看一眼。
现在的问题就是如果我们继续接受这种低水平质量的移植Linux就会赢得一个游戏质量水平低的名声。请认真考虑一下这样的后果吧
再想象一下如果那些AAA级的开发者给Linux推送了大量游戏其中使用了The Witcher2 移植所用的“eON”技术。看起来就像我们有了大量开发者突然之间Linux有很多大牌游戏了。然后你可以看见大量的人尝试Linux却发现它们的游戏在同等硬件之下却有着糟糕的画面就会给他们一个印象Linux对游戏不友好。这对我们所有人都很糟糕。
我已经看见许多人说“这个工具包用于移植没关系?”。这在我的眼里看来是一个非常天真的想法。当然,这有关系, 它意味Linux的游戏里面的光线和白天的不同品质。这就直接追溯到我上面关于Linux游戏的观点上了。
你可以坚持说工具包没有关系,而且使用任何一个你想用的比较/类比的效果但如果工具包是导致问题的根源就像我们说的计算机占用了99%的处理能力的软件一样,是的,它当然有关系!
如今,我已经看见许多来自其他主流网站发表的评论,“我们应该接受它们并且作感谢状,我们毕竟拥有了它们”。那些都是鼠目寸光的人们说的胡话!
![](http://www.gamingonlinux.com/uploads/articles/article_images/1401025331gol2.jpg)
想想那些开发者和发行商看到那些低劣的Linux移植游戏也能被接受时他们的脑里只有钱。消费者对Linux游戏的感知就会进一步恶化就是因为这些低劣的移植品。
我可以接受这些来自开发者的移植,毕竟是我运营着这个网站( http://www.gamingonlinux.com/ 。但是如果我作为一个消费者不愿意为在windows运行挺好的游戏买单而却为在Linux慢得像蜗牛一样的游戏买单我会么你会么
最后附加的一点你绝不应该攻击一个试图在社区里面解决问题的开发者这样是不可以的。反馈是很好骂人却是很幼稚的这会使得Linux看起来更糟。
--------------------------------------------------------------------------------
via: http://www.gamingonlinux.com/articles/why-we-shouldnt-accept-bad-linux-ports.3765
译者:[Vic020](http://www.vicyu.net) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -2,14 +2,13 @@
================================================================================
**嗨,极客们!**
今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,就像你们这样的忠实的计算机迷们每天将会试着走出图形用户界面GUI文化的藩篱GUI文化就是让事情变得简单而大众化
今天,我们介绍给大家一个新的系列节目,它叫命令行星期二。为什么叫命令行星期二?因为在该系列节目中,每天坐在计算机前的你们将会试着走出图形用户界面GUI文化的藩篱从今天开始“让事情变得简单而大众化”
当然如果你访问过任何与GNU/Linux相关的社区论坛的话你可能耳闻目睹了一次火热的辩论当然这是个假设话题是哪个实际上更易用。是让GUI掌控一切还是只是学习并享受命令行界CLI面带来的乐趣。
当然如果你访问过任何与GNU/Linux相关的社区论坛的话你可能已经看到了关于GUI和命令行哪个更好的讨论非常热烈。是让GUI掌控一切还是只是学习并享受命令行界CLI面带来的乐趣呢
![Terminal](http://sholva.org/assets/images/blog/2009/review-opensuse-11.2/opensuse-terminal.png)
终端
对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一就是我们是在点击的计算模式下长大的所以它基本上就是我们和机器进行交互的一种语言或文化形式。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。
对于使用或抛弃GUI工具的争论有很多。正方最常提到的优点之一就是我们是在点击的计算模式下长大的所以它基本上就是我们和机器进行交互的一种语言者你可以说是一种文化。我们日复一日重复着这样的模式,点击那个大按钮来让它干我们需要它干的事。
而对于反方我读到的关于命令行的优点的最有趣的评论之一就是你可以通过命令行来更快更简单地做更多事情比GUI工具来得快。但你需要明白的是你需要学习命令。是的学习它们就像学一首诗一样。
@ -17,27 +16,28 @@
### 寓言 ###
我已经用了Linux超过3年了。27岁是个文学专业学生我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机我想大概是17岁那年吧。对于我而言只用了10年的计算机。我只用过三个程序BS播放器Winamp和足球经理偶尔也用用MS Word。大约三年多以前我做临时工时的一位同事在我正和另外一位同僚谈话时告诉我说有个新版的东西它一下子就抓住了我的心它看起来确实与众不同。我现在想想它就是Ubuntu的敏捷的独角鲸。在和这位同事讨论这个新版本后他指出了一些常见的优点这些优点也是我们经常向新手宣传的不需要杀毒软件启动快捷安全性更高附带有软件中心等等之类。最突出的一点它背后的自由和开源FOSS哲学。他用他不带侵害性和没一点孩子气的方式把我带了进去。
我已经用了Linux超过3年了。27岁是个文学专业学生我对任何形式的技术都没有太大的兴趣。我直到中学才有了一台属于自己的计算机我想大概是17岁那年吧。对于我而言只用了10年的计算机。我只用过三个程序BS播放器Winamp和足球经理偶尔也用用MS Word。大约三年多以前我做临时工时的一位同事在我正和另外一位同僚谈话时告诉我说有个新版的东西它一下子就抓住了我的心它看起来确实与众不同。我现在想想它就是Ubuntu的敏捷的独角鲸。在和这位同事讨论这个新版本后他指出了一些常见的优点这些优点也是我们经常向新手宣传的不需要杀毒软件启动快捷安全性更高附带有软件中心等等之类。最突出的一点它背后的自由和开源FOSS哲学。他用他温和而优雅的方式把我带了进去。
我决定来一次尝试而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲那就完完全全另外一回事了。问题在于我最终进入了Linux领域。这很有趣感觉很不一样它让我的计算机跑得更好它也更稳定我也和它相处得很好似乎我是在不经意间买到了相当正统的硬件。Linux似乎也远不止是桌面所以我只是在不得不使用终端的时候也使用终端。但是这么说吧它是Linux中一个最为讨厌的最为可怕最令人不爽的工具之一。如果没有GUI来进行特别的操作,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。
我决定来一次尝试而从那以后便一发不可收拾。而至于我是怎么又从第一次对Ubuntu的浅尝辄止转而投向openSUSE 11.4的,咋们下回再讲吧。而我发现它只是一个完美而甜蜜的小插曲那就完完全全另外一回事了。问题在于我最终进入了Linux领域。这很有趣感觉很不一样它让我的计算机跑得更好它也更稳定我也和它相处得很好似乎我是在不经意间买到了相当普通的硬件。似乎Linux并不是一个完全的桌面系统所以我有时不得不使用终端。但是这么说吧它是Linux中一个最为讨厌的最为可怕最令人不爽的工具之一。如果某些操作没有GUI可以做的话,我马上会诚惶诚恐,十分不安了。因为当我从论坛复制/粘贴命令的时候,我都不知道我究竟在干些什么。
随着时间流逝情况发生了变化。相对于其他以消费者为导向的系统发生在我身上的事可能有点与一般人相反。在那三年中我感觉不是我在玩系统而是系统在玩我。我学会了怎样寻找基本问题提交bug报告怎样正确地在论坛上提问。对于碰到的每个问题我学会了为那些更有能力帮我解决问题的人提供更有用的信息。
不久以前,我女朋友发泄,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。”你只用它来进行音乐收藏和做些Linux的乱七八糟的事情Nenad. Gaawd“它让我想啊使劲想。Linux特别是openSUSE发行版它成了我的爱好之一。我不是一个专家不管怎么说都说得通Linux不在我的专业知识范畴内。但我有足够的知识来搞定它搞定一些小问题修改一些配置文件等等。但是我终于认识到随着玩Linux日久对系统的调整日多我真的需要熟悉一下命令行CLI了。我也了解到我在对底层的东西一无所知的情况下对系统胡作非为。我要对着ETC大喊大叫了它究竟是个什么东西BIN又是个什么东西?为什么会有个.sh在后面问什么这个文件在这里那个文件又在那里为什么我得点击那一大堆的文件夹来找到正确的文件进行修改然后我读到‘你可以用一个命令来简单地列出某个地方的所有文件’时,它又变得很有趣了,我突然感到迫不及待要想试试了。
不久以前,我女朋友发泄,她简直不敢相信,我主要为了用计算机而用计算机,而不是用它来做一些别的事情。“你只用它来进行音乐收藏和做些Linux的乱七八糟的事情Nenad. Gaawd”它让我想啊使劲想。Linux特别是openSUSE发行版它成了我的爱好之一。我不是一个专家不管怎么看都是这样Linux不在我的专业知识范畴内。但我有足够的知识来搞定它搞定一些小问题修改一些配置文件等等。但是我终于认识到随着玩Linux日久对系统的调整日多我真的需要熟悉一下命令行CLI了。我也了解到我在对底层的东西一无所知的情况下对系统胡作非为。我要对着etc大喊大叫了它究竟是个什么东西bin又是个什么东西?为什么会有个.sh在后面问什么这个文件在这里那个文件又在那里为什么我得点击那一大堆的文件夹来找到正确的文件进行修改然后我读到“你可以用一个命令来简单地列出某个地方的所有文件”时,它又变得很有趣了,我突然感到迫不及待要想试试了。
### 好吧,让我们干吧! ###
我们来了……。作为一位新的openSUSE的新闻发布者我会试着以我所见最有成效的方式来发表我的看法这样的方式我想对社区中绝大多数人会奏效。该高举旗帜一起开始学习命令行了。如果是是什么吸引你到Linux和openSUSE中来这么个态度就想我引领你走了这么远,那么是时候走得更远一点了。
我们来了……。作为一位新的openSUSE的新闻发布者我会试着以我所见最有成效的方式来发表我的看法这样的方式我想对社区中绝大多数人会奏效。该高举旗帜一起开始学习命令行了。如果是哲学理念吸引你到Linux和openSUSE中来的就像我一样,那么是时候走得更远一点了。
![](http://beerepiphany.files.wordpress.com/2010/04/pinky_brain.jpg)
我就知道在那外头有一大堆像我这样的人。我知道你也许没有抓住90后极客们的要点黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又共有的方式来学习目录是用来干什么什么文件放在什么地方以及一些最常用的终端命令。在我们在控制台处理一些任务时这将让我们更轻松一些在碰到一些问题时获得更大的回报。它也会让bug处理者更轻松些如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。
我就知道在那外头有一大堆像我这样的人。我知道你也许没有抓住90后极客们的要点黑屏-绿字-手指在键盘上乱飞-让一切都激情澎湃。但这在很多地方都很有用。我们将以一种有趣的,而又通用的方式来学习目录是用来干什么什么文件放在什么地方以及一些最常用的终端命令。在我们在控制台处理一些任务时这将让我们更轻松一些在碰到一些问题时获得更大的回报。它也会让bug处理者更轻松些如果他们从我们这头收到正确的信息的话。它也让我们的爱好变得乐趣无穷。
我是说我的天啊你已经过渡到连Dilber和xkcd都感到有趣的阶段了。是时候到终端下去了。
附录:
要用到的一些参考资料:威廉·肖茨—— 《Linux命令行》,以及克罗地亚黑客韦利米尔·巴克沙,别名鲁塞拉斯,《关于最常用命令的简短教程》。对于你们的要求:
- 每周1到2小时的空闲时间
- 一品脱冰冻啤酒或者其它饮料
- 有人已经指出,使用[Gedit][1],或者手工记录本(你懂的,笔和纸,呵呵)可以让学习更简单一些。
@ -50,7 +50,7 @@
via: https://news.opensuse.org/2014/05/27/command-line-tuesdays-the-introductory/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,26 +1,25 @@
如何使用ffmpeg从视频中提取图片(有些专业词汇不太懂可能翻译错了,各位校译幸苦了)
如何使用ffmpeg从视频中提取图片
================================================================================
unixmen的读者们
你曾想过从一个视频文件中提取图片吗在Linux中做这件事是有可能的,教程中我将使用ffmpeg来从视频中获取图片。
你曾想过从一个视频文件中提取图片吗在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片。
### 什么是ffmpegWhat is ffmpeg? ###
ffmpeg是一个非常有用的命令行程序它可以用来转码媒体文件。它是FFmpeg领先的多媒体框架的一部分,其有很多功能,比如解码、编码、转码、混流、分离、转化为流、过滤以及播放几乎所有的由人和机器创建的媒体文件。
ffmpeg是一个非常有用的命令行程序它可以用来转码媒体文件。它是领先的多媒体框架FFmpeg的一部分,其有很多功能,比如解码、编码、转码、混流、分离、转化为流、过滤以及播放几乎所有的由人和机器创建的媒体文件。
框架中包含有很多不同的工具,其中每一个都有特定的功能。例如ffserver能够将多媒体文件转化为用于实时广播的流ffprobe用于分析多媒体流ffplay可以当作一个简易的媒体播放器**ffmpeg**能够转换多媒体文件格式。
在这个框架中包含有各种工具,每一个用于完成特定的功能。例如ffserver能够将多媒体文件转化为用于实时广播的流ffprobe用于分析多媒体流ffplay可以当作一个简易的媒体播放器**ffmpeg**能够转换多媒体文件格式。
如果你感兴趣,以下是包括在FFmpeg框架中的开发者库
如果你感兴趣,以下列出的是FFmpeg框架中包含的开发者库:
- libavutil是一个包含简化编程功能的库其中包括随机数生成器数据结构数学代码核心多媒体工具等更多东西。
- libavcodec是一个包含音频/视频解码器和编码器的库。
- libavformat是一个包含了多媒体格式的解析器和产生器的库。
- libavdevice是一个包含输入输出设备的库用于捕捉和渲染很多公共多媒体输入/输出软件框架包括Video4LinuxVideo4Linux2VfW和ALSA。
- libavformat是一个包含了多媒体格式的分离器和混流器的库。
- libavdevice是一个包含输入输出设备的库用于捕捉和渲染很多来自常用的多媒体输入/输出软件框架的数据包括Video4LinuxVideo4Linux2VfW和ALSA。
- libavfilter是一个包含媒体过滤器的库。
- libswscale是一个用于执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
- libswresample是一个用于执行高度优化的音频重采样重新矩阵和样格式转换操作的库。
- libswresample是一个用于执行高度优化的音频重采样重新矩阵和样格式转换操作的库。
**注意**ffmpeg和FFmpeg并不一样。FFmpeg是一个框架而ffmpeg是一个FFmpeg中的一个功能。
**注意**ffmpeg和FFmpeg不是同一个东西。FFmpeg是框架而ffmpeg是一个其中的一个功能。
### 开始行动 ###
@ -57,9 +56,9 @@ Fedora用户可以从源中直接安装ffmpeg。
之后我使用以下命令从视频中提取图片。
ffmpeg -i "Тимати - Рентген ( Альбом '13')-C9Plztvv8ac.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg
ffmpeg -i "你是我的小呀小苹果儿.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg
**-i**选项用来获取输入文件,在这里是视频文件名**Тимати Рентген ( Альбом 13)-C9Plztvv8ac.mp4**-r选项设置每秒提取图片的帧数。我想要每秒提取一帧。
**-i**选项用来获取输入文件,在这里是视频文件名**你是我的小呀小苹果儿.mp4**-r选项设置每秒提取图片的帧数。我想要每秒提取一帧。
之后有一个重要的选项是-q:v应该留意这个选项并且我很喜欢用它它用来设置提取到的图片质量。我总是设置值为2来从视频中获取高质量图片。
@ -67,6 +66,6 @@ Fedora用户可以从源中直接安装ffmpeg。
via: http://www.unixmen.com/extract-images-videos-using-ffmpeg/
译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID)
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,28 +1,30 @@
Linux下的在线云音乐播放器 —— Nuvola Player 2.4.0发布
================================================================================
**Nuvola Player**是一个开源的播放器,在它自身的web界面中运行像Amazon云播放器BandcampDeezer8tracksGoogle Play音乐GroovesharkHyper Machine以及Pandora等等云音乐服务同时它也能整合到Linux桌面中。
**Nuvola Player**是一个开源的播放器,可以在其web界面中运行像Amazon云播放器BandcampDeezer8tracksGoogle Play音乐GroovesharkHyper Machine以及Pandora等等云音乐服务同时它也能整合到Linux桌面中。
该应用程序以插件的形式提供了大量的功能特性像桌面通知、系统托盘、多媒体键、媒体播放器小程序、停靠栏菜单、歌词、last.fm等等。
**2014年5月31日****Nuvola Player 2.4.0**的一个新版本发布了 —— 它带来了一些新的特性,包括两个新的服务罗技媒体服务器和这是我的果酱以及众多的bug修复。
**2014年5月31日****Nuvola Player 2.4.0**的一个新版本发布了 —— 它带来了一些新的特性,包括两个新的服务“Logitech Media Server”和“This is My Jam ”以及众多的bug修复。
### 这个发布中有什么新东西 ###
- 删除了破损的隐藏Google+按钮选项因为Google修改代码过于频繁。
- 删除了破损的隐藏Google+按钮选项因为Google修改代码过于频繁
- 加快了服务设置的启用速度,不需要再重新加载。
- 修复了暂停和播放/暂停动作开关。
- 为Chrome添加了兼容问题警告桌面通知。
- 提供了页面内导航按钮现在用户可以在Google Play标识旁边的顶部栏中找到它
- 添加了罗技媒体服务器和这是我的果酱服务。
- 添加了“Logitech Media Server”和“This is My Jam ”服务。
- 包含了对鼠标后退/前进按钮的支持。
- 修复了对GNOME锁屏通知的支持。
要查看完整的特性列表,请访问官方发行[声明页面][1]
### 在Debian, Ubuntu和Linux Mint中安装Nuvola Player ###
## 在Debian, Ubuntu和Linux Mint中安装Nuvola Player ##
官方的Nuvola Player仓库中包含了**Ubuntu 14.04, 13.10, 12.10, 12.04**以及**Linux Mint 17, 16, 15, 14.**可用的二进制包你可以通过添加Nuvola Player仓库到你的系统中来安装二进制包nuvolaplayer
#### 在Ubuntu和Linux Mint上 ####
### 在Ubuntu和Linux Mint上 ###
打开终端并运行以下一系列命令:
$ sudo add-apt-repository ppa:nuvola-player-builders/stable
@ -36,7 +38,8 @@ Linux下的在线云音乐播放器 —— Nuvola Player 2.4.0发布
$ sudo apt-get --no-install-recommends install nuvolaplayer
#### 在Debian上 ####
### 在Debian上 ###
对于**Debian Wheezy**和**Debian Sid**可以从官方仓库中获取稳定的Nuvola Player二进制包。你可以使用下面这一堆命令来安装最新的稳定版。
首先,打开终端并导入公钥,然后添加仓库到‘**sources.list**文件接着像下面这样进行一次系统更新来安装nuvolaplayer。
@ -97,7 +100,7 @@ Rdio音乐服务
via: http://www.tecmint.com/install-nuvola-player-in-linux/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -22,7 +22,7 @@ LDAP轻量级目录访问协议是一个用于访问目录服务的应用
via: http://www.linuxlinks.com/article/20140607022012848/LDAPSolutions.html
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,118 @@
怎样使用linux的iptables工具进行网络共享
================================================================================
在本教程中我将解释多个设备怎样在linux下共享一个网络连接。目前无线路由器已经成为主流的消费品从而解决了本文这一问题。这里假设你家中并没有一台无线路由器不过你却有一台已经有"猫"和有线网卡的的linux主机。"猫"是以动态公有IP地址的模式连接到互联网主机的网卡连接到你的交换机或者集线器。其他设备如linux或者windows的PC或者笔记本以网桥的形式连接并且没有连接到互联网。为了共享linux主机的互联网你必须把主机转换成网关以便它能实现从其他设备中传送和接受信息。
### 术语字汇 ###
- **私有IP地址**路由不可达地址是一个被用于本地局域网的IP地址在互联网中不可见
- **公用IP地址**路由可达地址是一个在互联网中可见的IP地址。
- **IP伪装**是一项允许一系列机器通过MASQ网关连接互联网的功能。这些MASQ网关之外的机器在互联网中是不可见的。MASQ之后的机器中任何流入或流出的数据必须经过MASQ网关。
- **网络地址转换**NAT是一项通过IP伪装技术可以使私有IP地址访问互联网的功能。
### Hardware Requirements ###
硬件要求
- 一台有两个接口一个公有IP地址和其他的私有IP地址的linux主机这个主机将被用作网关。
- 一台或者多台拥有私有IP地址的linux/windows系统的PC或者笔记本。
- 交换机/集线器(可选)。
### 教程步骤 ###
接下来的过程需要在linux主机用于共享的网关上完成。
#### 1、激活IP转发 ####
为了设置网络共享你需要在linux主机上更改一个内核参数来使能IP转发功能。内核启动参数设定在/etc/sysctl.conf文件中。
打开这个文件,定位到含有"# net.ipv4.ip_forward = 0"的这一行,移除#号即取消注释然后将其值设置为1改好之后应该和下面的一致。
net.ipv4.ip_forward = 1
你还要使激活IP转发功能生效通过执行下面的命令
$ sudo sysctl -w net.ipv4.ip_forward=1
$ sudo sysctl -p
#### 2、NAT配置 ####
另一个网络共享的重要部分是NAT配置这可以通过使用iptables的命令iptables包含四个防火墙的规则表
- FILTER (默认表格)
- NAT
- MANGLE
- RAW
这个教程中我们将仅使用两个表格FILTER和NAT表格。
首先,刷新所有活跃的防火墙的规则。
$ sudo iptables -X
$ sudo iptables -F
$ sudo iptables -t nat -X
$ sudo iptables -t nat -F
在输入表格中你需要设置转发链FORWARD成可接受的ACCEPT目的地因此所有通过主机的数据包将会被正确的处理。
$ sudo iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
在NAT表中你必须为你的WAN口启用IP伪装功能我们假设WAN口协议是ppp0。为了在ppp0接口上使能IP伪造技术我们使用以下的命令
$ sudo iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
#### 3、配置私有IP地址 ####
在linux主机上的所有配置完成后你需要配置其他设备linux/windows的PC或笔记本的DNS服务器以及默认网关让它们的数据流可以指向linux主机。注意你不需要在linux主机上设置一个DNS服务器从其他设备发出的每一个DNS请求都会通过上游的ISP自动转发到linux主机上。
如果你的其他设备上用的系统是linux你可以通过以下命令来更改他们的默认网关和DNS服务器。假设你的网段是192.168.1.0/24的私有IP地址网段linux主机上绑定的IP地址是192.168.1.1。
$ sudo ip route del default
$ sudo ip route add default via 192.168.1.1
$ sudo sh -c "echo 'nameserver 192.168.1.1' > /etc/resolv.conf"
如果还有其他的linux设备那么你可以重复以上命令。
如果你有windows设备你可以通过控制面板的网络连接属性来更改默认网关和DNS服务器。
#### 4、完整的脚本 ####
这是一个在linux主机上设置网络连接共享的一个完整的脚本。WAN口ppp0协议需要根据你具体的网络接口协议来替换。
$ sudo vi /usr/local/bin/ishare
----------
#!/bin/bash
## Internet connection shating script
sysctl -w net.ipv4.ip_forward=1
sysctl -p
iptables -X
iptables -F
iptables -t nat -X
iptables -t nat -F
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE
保存以上的脚本到/usr/local/bin/ishare然后添加可执行权限通过执行下面的命令。
$ sudo chmox +x /usr/local/bin/ishare
如果你需要这个脚本开机启动,你需要在/etc/rc.local文件中执行这个脚本并在该文件中的"exit 0"之前添加下面一行。
/usr/local/bin/ishare
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/06/internet-connection-sharing-iptables-linux.html
译者:[yujianxuechuan](https://github.com/yujianxuechuan) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,24 +1,24 @@
如何在Ubuntu 14.04中阻止其它用户访问你的家目录
[小白技巧]如何在Linux中阻止其它用户访问你的家目录
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/00_lead_image_home_directory.png)
如果你和其他人共享Ubuntu机器那么你可能要设置多个用户并考虑让其他用户登录到他们自己的帐号,而只能访问他们自己的家目录。但是,默认情况下,任何一个用户都可以访问任何一个家目录。
如果你和其他人共享Ubuntu机器那么你可能要设置多个用户希望其他用户登录到他们自己的帐号,并只能访问他们自己的家目录。但是,默认情况下,任何一个用户都可以访问任何一个家目录。
当你在Ubuntu中添加一个新用户时adduser工具为新的帐号添加了一个新的家目录。默认情况下该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有全局读/写权限,这就给系统中所有其他用户可以读因外一些用户的家目录中的内容的权利。具体请阅读我们的[文件权限在Linux中是如何工作的][1]一文。
当你在Ubuntu中添加一个新用户时adduser工具为新的帐号添加了一个新的家目录。默认情况下该目录位于根下面的/home/目录下,并以该帐号的用户名命名。例如,/home/lori。Ubuntu中创建的用户家目录具有其它人可读/执行权限,这就给系统中所有其他用户可以读另外外一些用户的家目录中的内容的权利。具体请阅读我们的[文件权限在Linux中是如何工作的][1]一文。
**注**:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引,除非我们另外指定。
**注**:当我们在文中提到输入什么时,输入的文字内容是在引号中的,不要输入引,除非我们另外指定。
你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限输入Ctrl + Alt + T打开终端窗口并在提示符后输入以下行,然后按回车。使用你自己的用户名来替换“<username>”。
你可以很容易地修改你的家目录的权限来保护你的私人文件。要检查你家目录的权限输入Ctrl + Alt + T打开终端窗口并在提示符后输入以下命令,然后按回车。使用你自己的用户名来替换下面的“用户名”。
ls ld /home/lori
ls -ld /home/lori
**注**:该命令使用的是小写的L而不是数字1.
**注**:该命令仅包含小写的L而不是数字1。LCTT译注这是给完全小白的提示绝大部分人可以无视这个备注了
在该行的开头,列出了该文件的权限。就像我们在[文章][1]中关于Linux权限部分讲的那样。
> r表示“读”w表示“写”而x表示“执行”。目录权限以“d”开头而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个后面是3个一组分为3组。第一组是属主权限,第二组是属组权限,最后一组是大众权限“
> r表示“读”w表示“写”而x表示“执行”。目录权限以“d”开头而不是“-”。你也会注意到权限值占了10个位置。你可以忽略第一个后面是3个一组分为3组。第一组是属主owner权限第二组是属组group权限最后一组是其它人other或world权限
因此,下面列出的家目录的属主具有读、写和执行权限,而属组和大众具有读和执行权限。
因此,下面列出的家目录的属主具有读、写和执行权限,而属组和其它人具有读和执行权限。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/01_permissions_for_home_folder.png)
@ -32,7 +32,7 @@
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/02_changing_permissions_for_home_folder.png)
按上箭头两次再次调用“ls -ld /home/<username>“命令来检查权限。注意,全局权限现在都是破折号(-),这就意味着大众将无法读、写或执行你家目录中的任何东西了。
按上箭头两次再次调用“ls -ld /home/用户名”命令来检查权限。注意,其它人权限现在都是破折号(-),这就意味着其它人将无法读、写或执行你家目录中的任何东西了。
然而和你同组的用户可以读和执行你家目录中的文件和文件夹。如果你不想除你之外的任何人访问你的家目录可以在chmod命令中输入“0700”。
@ -46,7 +46,7 @@
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/04_location_could_not_be_displayed.png)
你也可以在创建新用户时,甚至Ubuntu使用指定的权限。要完成此项任务你需要编辑adduser配置文件。要编辑该文件在提示符下输入以下命令并回车。
甚至你也可以在创建新用户时让Ubuntu使用指定的权限。要完成此项任务你需要编辑adduser配置文件。要编辑该文件在提示符下输入以下命令并回车。
gksudo gedit /etc/adduser.conf
@ -60,7 +60,7 @@
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/06_entering_password.png)
在adduser.conf文件中向下滚动到DIR_MODE命令处这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型用户大众的不同权限rwx如我们先前讨论过的“0750”或“0700“。点击保存Save
在adduser.conf文件中向下滚动到DIR_MODE命令处这里的默认值是“0755”。修改该值来反映你想要授权给各种用户类型属主属组其它人的不同权限rwx如我们先前讨论过的“0750”或“0700”。点击保存Save
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/07_changing_dir_mode.png)
@ -72,13 +72,13 @@
![](http://cdn.howtogeek.com/wp-content/uploads/2014/05/09_closing_terminal_window_with_x.png)
现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也要为你的家目录权限剔除组和大众权限。
现在,你家目录中文件会保持私有。切记,如果有其他用户和你处于同一组中,你也要为你的家目录权限剔除组和大众权限。
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/190084/how-to-prevent-other-users-from-accessing-your-home-directory-in-ubuntu-14.04/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,26 +1,26 @@
命令行星期二 — 第一篇
命令行星期二 — 第一篇
================================================================================
极客们,我们又回来了!真抱歉让你们久等了,但我保证,我们又回归正轨了。我们满怀热情与大家相约,让我们激情燃烧,寻找刺激吧:)
现在,整个的想法已经在两周前的开场白中告诉你们了所以现在让我们来干点正事吧。就像Shotts先生书里讲得那样我们需要来了解一下shell是个什么东西终端模拟器又是个什么东西因为我们要在这里头干活。
现在,整个的想法已经在之前的开场白中告诉你们了,所以现在让我们来干点正事吧。就像肖茨先生书里讲得那样我们需要来了解一下shell是个什么东西终端模拟器又是个什么东西因为我们要在这里头干活。
Shotts在他的书中写道shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序它将你敲击键盘的动作传递给计算机它也是某种形式的翻译器将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门但是活得最好的要数**bash**了它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell这是一个精巧的双关语因为自从Bourne先生创造了它的祖先**sh**后Brian Fox又把它重写成为一个自由的sh替代品。啊哈GUN人和他们的幽默真的很精明。:)
肖茨在他的书中写道shell实际上是当我们谈论命令行时所谈论的东西。shell基本上一个程序它将你敲击键盘的动作传递给计算机它也是某种形式的翻译器将你所讲的东西翻译给计算机听。在这世界上活着的shell真是五花八门但是活得最好的要数**bash**了它在GNU/Linux中随处可见。我们也叫它Bourne Again Shell这是一个精巧的双关语因为自从Bourne先生创造了它的祖先**sh**后Brian Fox又把它重写成为一个自由的sh替代品。啊哈GUN人和他们的幽默真的很精明。:)
![](http://paste.opensuse.org/images/54535272.jpg)
接下来我所需要是一个让我们能和shell交互的东西它就是终端模拟器。每个Linux发行版都自带了一个至于长什么样就得看你使用的桌面环境了可能是KDE的**Konsole**也可能是Gnome的**Gnome terminal**等等。Shotts先生说了你可以开发出你所偏爱的一个,但是大部分时间我还是用桌面环境给我提供的那个吧。
接下来我所需要是一个让我们能和shell交互的东西它就是终端模拟器。每个Linux发行版都自带了一个至于长什么样就得看你使用的桌面环境了可能是KDE的**Konsole**也可能是Gnome的**Gnome terminal**等等。肖茨先生说了,你可以挖掘出你所偏爱的一个,但是大部分时间我还是用桌面环境给我提供的那个吧。
现在来发动你的终端。打开后你会见到一行字这行字告诉你用户名和机器的主机名它叫作shell提示符。它告诉你它准备好了你可以输入命令了。让我们来随便玩玩随便输入点什么东西进去然后敲回车看看。
呵呵,还记开篇我们讲过,我们需要像学诗歌一样来学习命令吗?记得就好,随意乱来可干不了啥事。
现在按那个上箭头你会发现命令又回来了。这是啥魔法你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令所以别一次又一次地重复敲它们了你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外一个东西 — **ctrl+v**是用来粘贴不工作的文本的。你可以在某个地方将它设置成快捷键但是它常常不是那么回事。检查你的模拟器的快捷键在Konsole中它位于设置 > 配置快捷键)
现在按那个上箭头你会发现命令又回来了。这是啥魔法你键盘上的上箭头用来取出历史命令。终端会保存总计500个你输入过的命令所以别一次又一次地重复敲它们了你可以用上/下箭头来查找它们。左右箭头用来在指定行中移动光标,这样你就可以在文本中编辑或者插入了。另外注意,想用**ctrl+v**来粘贴文本是不行的。你可以在某个地方将它设置成快捷键但是它常常不是那么回事。检查你的模拟器的快捷键在Konsole中它位于设置 > 配置快捷键)
现在,为了我们不在挨‘命令找不到’这一巴掌,让我们试试一些简单的。敲个**date**来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):)
现在,为了我们不再被‘命令找不到’抽一巴掌,让我们试试一些简单的。敲个**date**来试试。(是的,我不知道有这么个命令,这真着实让我兴奋了一把):)
![](http://paste.opensuse.org/images/7123365.png)
你又来了。当你能打开终端并输入date命令来查看日期时为什么在时钟中看看内建日历会让你不胜其烦 :) 只是开个玩笑。就像Shotts书里写的那样它确实是个简单的命令更有用/困难的命令会在以后介绍。跟date相关的命令是cal - 它会显示当前月的日历。
你又来了。当你能打开终端并输入date命令来查看日期时为什么在时钟中看看内建日历会让你不胜其烦 :) 只是开个玩笑。就像肖茨书里写的那样,它确实是个简单的命令,更有用也更复杂的命令会在以后介绍。跟date相关的命令是cal - 它会显示当前月的日历。
你也可以试试**df**,它会列出你驱动器上的空闲空间。
@ -38,7 +38,7 @@ Shotts在他的书中写道shell实际上是当我们谈论命令行时所谈
- 我们需要用什么来和shell交流终端模拟器
- 使用光标按钮来驾驭终端命令以及退出终端
个简单的命令:
个简单的命令:
- **date** 显示当前日期
- **cal** 显示当前月份的日历
@ -47,7 +47,6 @@ Shotts在他的书中写道shell实际上是当我们谈论命令行时所谈
### 下周二我们将会做什么呢? ###
We learn navigation through the file system (what are all those bin etc etc. folders, what are they used for, how to navigate through them via the terminal). Until then…
我们会学习在文件系统中导航bin、etc等等这所有的文件夹都是些什么东西它们用来干什么怎样通过终端来浏览它们。到那时……
### 你就有得乐了! ###
@ -58,6 +57,6 @@ We learn navigation through the file system (what are all those bin etc etc. fol
via: https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -36,7 +36,7 @@ Numix图标主题张冠李戴Fedora 20劲爆酷爽
via: http://www.unixmen.com/install-numix-icon-theme-fedora-20/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,82 @@
14个可以提升Linux桌面体验的应用程序
==============================
转战到Ubuntu或者是别的流行的Linux发行版不仅仅是操作系统的操作方式的改变更多的是你还需要一些能支持你完成工作的好的应用。
在这篇文章中,我将分享一些我精选出来不可或缺的应用程序,并谈谈在我的日常工作中如何有效地使用它们。
### 日常使用的应用程序 ###
一般当说到Linux桌面上的应用我总是将这些应用划分为两大类频繁使用的和一些别的应用。下边我为大家介绍的是一些自己日常使用的应用。
1 **Firefox** — 有时我也会使用用其他的浏览器,但最近[火狐浏览器][1]已经成为我可以长期信赖的朋友。可靠的、 安全的、 跨平台的,火狐浏览器完全满足了我的日常冲浪需求。
除了访问书签和网页,我还依靠火狐浏览器来处理我的各种部署在局域网服务器上的工作,如 [Plex][2], [Zoneminder][3], 路由器/WEB应用防火墙, 及我的文件服务器。所有这些均可以使用火狐浏览器进行访问。
2 **Parcelite**— 如果没有一个像样的剪贴板管理器我简直没法开始工作至少对我来说你无法找到在GNOME 下的[Parcelite][4]有什么不足。使用简单易于访问而且它提供了很多的有用的选项。Parcelite选项应有尽有包括了从热键设置到空格处理方式。尽管已经有很多的剪贴板管理器但它们却很难击败 Parcelite。
3 **Bittorrent Sync** — 我已经使用过了各种开源替代方案进行文件同步,但是他们在正式发布之前还需要进行进一步开发。应该说[Bittorrent Synchas][5]从来没有让我失望过。它运行和安装都很简单和方便这多亏了新的GUI的实现而且 Bittorrent Sync 允许我快速地从一台机器到另外一台机器传输巨大的视频文件,而无需浪费时间去将大量的文件同步到“云端”。
我还发现它是与别人分享大型文件的最佳方法,在分享的同时能一直保持 IP 地址和目录的隐蔽。尽管有许多的替代品我仍然坚定地成为了Bittorrent Sync的骨灰粉丝。
4 **System Monitor** — 因为TOP实在是滚动地太快了所以我个人更喜欢一个具有选项卡式的 GUI因为它能够让我的眼睛更轻松些。使用 GNOME 的系统监视器我可以很快地发现一个失控的进程并且轻松地kill掉它而不需吹灰之力。与[TOP][7]这样的终端程序不同的是,我可以实时的以图形化的方式去查看我的 CPU、 内存和磁盘的使用情况。作为一个拥有正常视觉的人,很难找到一个比用条形图来展示我还拥有多少的空间的更好方式。当然这也同样适用于其它的实时资源使用情况的监视。
5 **PulseAudioControl** — 每一天,我总是需要在多个声音设备之间来回穿梭。有时我需要将其中一个设为默认设备,然后却可能会从火狐浏览器音频完全切换到到另一个设备。因为我想控制我的尽可能多的音频,然后我就发现 [PulseAudioControl][8]是一个无价的工具。
### 一些别的软件 ###
在本节中,我将分享我使用,但可能并不一定是每天都使用的应用程序。许多这些应用程序都是开放源代码的,有一些不是,但是它们对我个人都非常具有价值。
6 **Skype** — 无论是拨入[Jupiter Broadcasting][9] 收听每周共同主持的播客,或者只是简单联系一个业务,[Skype][10] 见证了互联网视频会议的发展史。测试完成无数的替代品后我总是会发现自己还是终回到了Skype。即使有真的很棒的开源选择像[Ekiga][11] 和 [Jitsi][12]而在最后Skype总是与大家同在 —— 切换到Skype是一件很幸运的事。
7**Kdenlive** — 我使用两个不同的视频编辑器,当我要处理一个需要大量编辑的视频剪辑项目的时候,[Kdenlive][13]是我用于图片合成和编辑大型的复杂的视频的工具。我已经成功地在 Kdenlive 里边做过6个素材轨道的编辑但同样的负载量早已经让别的视频剪辑软件崩溃了。
8**OpenShot** — 大多数情况下,我会将[OpenShot][14]作为视频剪辑任务的首选神兵利器。快速的编辑和两个素材轨道工作区让你可以流畅而操作简单。我还发现它提供了很棒的无与伦比的特效。调制标题效果和超赞的的视频转场效果使OpenShot在我自己的视频项目上成为一款超棒的视频制作软件。
9**SpiderOak** — 在使用了无数云备份服务这么多年后, [SpiderOak][15] 已经成为了我的至爱。易于安装和使用我超喜欢它所提供的增量选项而且使用起来是如此的简单。只需一次设置不再操心之后SpiderOak将会挑起你的文件搬运大任。
10 **Dropbox** — 许多年来,我已经与[Dropbox][16] 爱恨交织。尽管它的跨平台特性这意味着我可以从任何位置访问文件,我慢慢地发现我自己越来越少依赖这个基于云计算的备份解决方案。尽管如此,它允许我从任何 web 浏览器中访问文件,即使是从我不经常使用的计算机,这使得抛弃 Dropbox 更是难上加难。
11 **Writer** — 自从我第一次在Windows的OpenOffice里面使用过它之后我一直都在使用[Writer][17]。今天我使用LibreOffice 所带的Writer来满足我的需求它可以做一切一个文字处理器可以做的事情。现在公正地说一些专有的办公套件可能会提供附加功能在Writer中是没有的但是99%的人需要的功能在Writer这里都有。就我个人而言我会永远是一个LibreOffice Writer粉。
12**SimpleScreenRecorder** — 多年来,我发现自己使用 [SimpleScreenRecorder][18]远超过其他同类软件,它能很好支持多监视器模式,再加上它甚至可以捕获基于 OpenGL 的应用程序的视频。易于使用和可靠的 SimpleScreenRecorder 让我的工作更加得心应手。我把它推荐给那些只是偶尔需要,懒得使用其它屏幕捕捉软件的同学们。
13**SimpleScan** — 当我需要扫描文档的时候,我一点都不想将大把大把的时间花费在配置的臃肿的程序上。 [Simple Scan][19] 可以在这方面做得很好。智能的SANE扫描数据库Simple Scan将与市面上的任何扫描仪或多功能一体打印机/扫描仪很好的进行协作。此外还有一点好处就是它会设置成的最佳分辨率,当然你还可以很方便手动调整任何你需要的设置。
14**Baobab**(磁盘使用分析器) — 我不断听到关于如何硬盘价格已回落。这或许没错,但现实却是我却囊中羞涩。这意味着我需要充分利用我能利用的所有硬盘空间,为了实现这个目的,我使用 [Baobab][20] 来观察我在我的硬盘上的可用空间,而且还可以直观地看到到底是哪一个目录正在蚕食我宝贵的硬盘空间。
### 真正的具有生产力的软件 ###
谈到我所依赖的这些软件我们真正关心的是他们能为我们完成什么样的任务而不是它们所拥有的光辉头衔和自身的许可证。linux不需要软件的传奇时代早已过去。多数的计算机上的工作除了有限的几个例外大都可以在linux桌面上轻松地如我所说的那样完成。
很明显有一些对于你来说是必不可少的软件,但是也许不是我必须用的。你所倚重的软件是什么?您可在下方进行评论并与我们的读者进行分享那些优秀的软件。
------
via: http://www.datamation.com/applications/14-apps-to-boost-ubuntu-1.html
译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.mozilla.org/en-US/firefox/new/
[2]:https://plex.tv/
[3]:http://www.zoneminder.com/
[4]:http://parcellite.sourceforge.net/
[5]:http://www.bittorrent.com/sync
[6]:https://help.gnome.org/users/gnome-system-monitor/3.12/
[7]:http://linux.about.com/od/commands/l/blcmdl1_top.htm
[8]:http://freedesktop.org/software/pulseaudio/pavucontrol/
[9]:http://en.wikipedia.org/wiki/Jupiter_Broadcasting
[10]:http://www.skype.com/en/download-skype/skype-for-linux/
[11]:http://ekiga.org/
[12]:https://jitsi.org/
[13]:http://www.kdenlive.org/
[14]:http://www.openshot.org/
[15]:https://spideroak.com/
[16]:https://www.dropbox.com/
[17]:http://www.libreoffice.org/discover/writer/
[18]:http://www.maartenbaert.be/simplescreenrecorder/
[19]:https://launchpad.net/simple-scan
[20]:http://www.marzocca.net/linux/baobab/baobab-getting-started.html

View File

@ -0,0 +1,159 @@
如何在Debian中启用测试版/不稳定版的软件库
================================================================================
为何要启用测试版/不稳定版?
测试版/不稳定版的Debian给开发者提供了一个比当前稳定版更新的环境以及软件。你们注意到了么其实这些稳定版啊不稳定版啊神马的都是别名比方说稳定版其实就是Debian的稳定发行版而测试版将会是下一个Debian的稳定发行版当然那是测试后的事了。截至发稿为止当前Debian的稳定发行版是Wheezy 7.x将会成为下一个稳定版的测试版则是Jessie。
当你需要一款应用的最新版本的时候,启用测试版/不稳定版将会是不二的选择。当初我因为工作需要要安装个Apache的 2.4.x到我的Debian Wheezy。测试版需要的是2.4.x的可是我的软件库里面只有2.2.x的。所以最好的解决方案当时是将测试版下下来啦。
通常来说当我们想尝试最新版本的应用时,都应该只在测试版软件库中搜索。
在这篇文章里我将教大家如何在不弄坏你系统的前提下设置好测试、不稳定版的Debain系统并在上面安装软件。
> Stable < Testing < Unstable 稳定 < 测试版 < 不稳定版
> Wheezy < Jessie < Sid
### 1. 设置测试版/不稳定版的apt源 ###
第一步是把测试版/不稳定版的源加到你的sources.list文件里。在Debian Wheezy系统上/etc/apt/sources.list理应长得像这样
$ cat /etc/apt/sources.list
----------
...
deb http://security.debian.org/ wheezy/updates main
deb http://http.us.debian.org/debian/ wheezy main
deb-src http://security.debian.org/ wheezy/updates main
...
把你repo服务器的链接记下来比如http://http.us.debian.org/debian/
这个repo服务器将会是离你最近的一个服务器 在不同的地理位置会有不同的url这个将会用于下一步。
如果想加测试/不稳定源则需要在sources.list文件加上这些东西
# Testing repository - main, contrib and non-free branches
deb http://http.us.debian.org/debian testing main non-free contrib
deb-src http://http.us.debian.org/debian testing main non-free contrib
# Testing security updates repository
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free
# Unstable repo main, contrib and non-free branches, no security updates here
deb http://http.us.debian.org/debian unstable main non-free contrib
deb-src http://http.us.debian.org/debian unstable main non-free contrib
格式将会是
deb <respository server/mirror> <repository name> <sub branches of the repo>
(deb <上一步弄的服务器或镜像url> <repo的名字> <repo底下的分支>)
当然啦除了用testing或者unstable这么烂的词也能使用他们的发行版代号比如Jessie或者Sid
deb http://http.us.debian.org/debian jessie main non-free contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://http.us.debian.org/debian sid main non-free contrib
### 2. 钉住 apt这非常重要 ###
> 在加了测试/不稳定的repo之后当你更新系统的时候所有安装过并且可用的软件就会立马更新而后你的系统就被你玩火自焚了。
所以需要设置一些规则,以便选定的软件包在正常的更新时不会被更新到一个不稳定的测试版本。
我们需要使用“钉住APT”的方式来告诉apt系统除了我们希望使用测试版或不稳定版的特定软件包之外其它的总是使用稳定版的软件包来更新。
可以通过如下两个文件之一来设置如何设置APT的优先级来“钉住”。
/etc/apt/preferences
/etc/apt/preferences.d/my_preferences
打开这两个文件之一(如果没有的话就创建一个),然后输入如下内容:
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650
Package: *
Pin: release a=unstable
Pin-Priority: 600
前面我们提到过稳定版指的是你当前的debian版本测试版是下一个而不稳定版则是更远的将来发行版。上面的设置中最主要的是优先级Pin-Priority。当前的稳定版应该有最高的优先级这就是说正常的apt-get操作只会从当前的稳定版的软件库现在是wheezy里面安装软件。
#### 更新包缓存 ####
在增加了新的软件库和指定了优先规则后,需要更新一下包缓存。
$ sudo apt-get update
#### 确认APT规则 ####
我们必须确认“钉住”的设置正确,优先级也没问题。使用 apt-cache 的 policy 参数来检查:
$ apt-cache policy apache2
apache2:
Installed: (none)
Candidate: 2.2.22-13
Version table:
2.4.7-1 0
600 http://http.us.debian.org/debian/ unstable/main amd64 Packages
2.4.6-3 0
650 http://http.us.debian.org/debian/ testing/main amd64 Packages
2.2.22-13 0
700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
如上的输出确认在wheezy 稳定版中, 2.2.22 版本的Apache是选定的版本它有最高的优先级。
### 3. 从测试版/不稳定版软件库中安装软件 ###
现在可以从测试版或不稳定版中选择一个特定的软件来安装它了。假如说我们要从测试版软件源中安装 apache2。
有两个不同的方法,并且其结果也有所不同。
#### 方式一 ####
# apt-get install apache2/testing
上述命令会从测试版软件库中安装 apache2并从稳定版软件库中安装其依赖包稳定版通过apt规则确定。这个命令在某些情况下会失败比如安装的软件包apache2所需的依赖包在稳定版软件库中没有更新到可以支持该软件时。
#### 方式二 ####
# apt-get -t testing install apache2
上述命令会从测试版软件库中安装apache2并从测试版软件库中安装其依赖包。这要比上面的命令工作的更好。
所以,要安装较新的软件包,直接从测试版/不稳定版的软件库中安装就行了。注意,优先级号码不只是一个数字而已,还有其特定意义。可以查看 apt_preferences的man页面了解更多
$ man 5 apt_preferences
### 总结 ###
使用“钉住”方式的测试版/不稳定版的软件库是一个获取较新版本软件包的一个好办法,不过其实并不推荐使用它们。如果弄错了,可能会从也许不兼容的分支上下载软件包,这会把你的系统搞乱。
一个更好的方式是,使用向后移植的软件库来安装更新的包。它从测试版和不稳定版的软件库中获取较新版本的软件包,但是为当前的稳定版软件库而编译。所以,对于 debian wheezy来说你可以使用wheezy-backports 软件库。访问http://backports.debian.org/ 了解更多。
### 资源 ###
- [https://wiki.debian.org/AptPreferences][1]
- [https://wiki.debian.org/DebianTesting][2]
- [https://www.debian.org/security/][3]
--------------------------------------------------------------------------------
via: http://www.binarytides.com/enable-testing-repo-debian/
译者:[213edu](https://github.com/213edu) [wxy](https://github.com/wxy) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://wiki.debian.org/AptPreferences
[2]:http://wiki.debian.org/DebianTesting
[3]:http://www.debian.org/security/

View File

@ -0,0 +1,42 @@
Ubuntu的Orange Box首次亮相
================================================================================
> Orange Box现已推出它是一个便携的服务器集群Canonical用它来演示和培训基于Ubuntu的OpenStack云。
![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale_7.jpg)
Canonical刚刚发布的Orange Box是一个便携式服务器集群该公司用来展示[OpenStack][1][MAAS][2][Juju][3]和其它的基于Ubuntu Linux的云服务。
下面是它的介绍。
对于刚刚接触到它的人来说重要的是要了解Orange Box不是什么它不是一台Canonical用来盈利的硬件产品。到目前为止该公司并无表示计划大规模销售这些设备。如果你真的想[买一款][4]的话,大概价格为$12,900这个价格来自其合同制造商[TranquilPC Limited][5]。
从大的方面来说Orange Box是一个说服企业在基于Ubuntu的云计算投入资金的工具。Canonical的创始人马克·沙特尔沃思[上个月宣布了][6]Ubuntu OpenStack的战略这是该战略的一个关键组成部分更是该公司提供的称作[Jumpstart][7]的OpenStack的培训计划的一部分。
作为Jumpstart的一部分Canonical会将Orange Box借给合作伙伴以便他们的员工可以在Ubuntu集群上练习配置OpenStack和相关软件。Canonical的工作人员也将在培训期间提供咨询。
不过除开培训的目的不谈Orange Box[看起来真的很酷][8]。它装有10个[英特尔NUC][9]总计集成了160GB的RAM1200GB的存储空间和10个酷睿i5处理器这种设备在一个袖珍空间内提供了相当强大的计算能力。
![](http://www.intel.com/content/dam/www/public/us/en/images/product/wilson-canyon-nuc-front-angle-with-board.jpg)
更好的是Orange Box通过预装软件为启动基于Ubuntu的云技术打下了良好基础。
不过对于Canonical来说真正的考验是确保企业能够从Orange Box中获益。借出它们不只是为了让合作伙伴们体验一下不错的硬件设备而是为了通过一个真正令人信服的方式体验Ubuntu的云以吸引IT决策者选择Ubuntu所建立的下一代云基础设施。
--------------------------------------------------------------------------------
via: http://thevarguy.com/ubuntu/062314/canonical-debuts-orange-box-ubuntu-openstack-cloud-demos
译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://openstack.org/
[2]:https://maas.ubuntu.com/
[3]:http://juju.ubuntu.com/
[4]:http://www.tranquilpcshop.co.uk/ubuntu-orange-box/
[5]:http://www.tranquilpcshop.co.uk/
[6]:http://thevarguy.com/ubuntu/051614/shuttleworth-highlights-ubuntu-openstack-cloud-innovations
[7]:http://www.ubuntu.com/cloud/tools/jumpstart
[8]:http://arstechnica.com/information-technology/2014/06/hands-on-with-canonicals-orange-box-and-a-peek-into-cloud-nirvana/
[9]:http://www.intel.com/content/www/us/en/nuc/overview.html

View File

@ -1,27 +1,25 @@
CNprober 翻译完成.travelwithheart@yeah.net, 619913541
如何将Vim打造成一个成熟的IDE
================================================================================
如果你稍微写一点代码就能知道“集成开发环境”IDE是多么的便利。不管是Java、C还是Python当IDE会帮你检查语法、后台编译或者自动导入你需要的库时写代码就变得容易许多。另外如果你工作在Linux上你也会知道Vim在进行文本编辑的时候是多么的方便。所以你可能会想从Vim中也获取这些IDE特性。
如果你稍微写一点代码就能知道“集成开发环境”IDE是多么的便利。不管是Java、C还是Python当IDE会帮你检查语法、后台编译或者自动导入你需要的库时写代码就变得容易许多。另外如果你工作在Linux上你也会知道Vim在进行文本编辑的时候是多么的方便。所以你可能会想从Vim中也获取这些IDE特性。
事实上很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的 [c.vim][1] 或者把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是这个IDE不是专门针对某一种语言的可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
事实上很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如[c.vim][1];也有把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是这个IDE不是专门针对某一种语言的可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。
### 先来个福利: Pathogen ###
首先可能不是所有人都熟悉Vim的插件也不知道怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3]因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件用Pathogen会变得非常简单。[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
首先可能不是所有人都熟悉Vim的插件并知道该怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3]因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件用Pathogen会变得非常简单。它的[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
### 1. SuperTab ###
[![](https://farm6.staticflickr.com/5158/14332189422_34aeb086ed_z.jpg)][4]
![](https://c2.staticflickr.com/6/5158/14332189422_34aeb086ed_z.jpg)
我们习惯于IDE的第一件事就是它的自动补全功能。所以,我习惯这个非常方便的给了Tab键“超能力”的 [SuperTab][5] 插件。
我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的给了Tab键“超能力”的 [SuperTab][5] 插件。
### 2. Syntastic ###
![](https://farm4.staticflickr.com/3894/14354095583_ce9b112b97_z.jpg)
如果你需要使用超过一种语言进行编码,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
### 3. Auto Pairs ###
@ -33,7 +31,7 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
### 5. Snipmate ###
任何一个程序员都知道,好的coder写代码杰出的coder重用代码。[snipmate][9] 可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的很多各种语言的代码片段,你也可以非常容易的添加你自己。
任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。[snipmate][9]可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己
### 6. NERDTree ###
@ -46,19 +44,22 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
![](https://farm4.staticflickr.com/3904/14332189492_209a3ee2dc_z.jpg)
为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。[MiniBufferExplorer][11] 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。
### 8. Tag List ###
![](https://farm4.staticflickr.com/3889/14147244138_c04731826a_z.jpg)
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示不同的变量和函数。
当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。
### 9. undotree ###
![](https://farm3.staticflickr.com/2913/14354095453_8bb87a3e31_z.jpg)
对于我们之中那些喜欢undoredo然后又undo某些更改然后依据这些来查看整个编辑完成过程的人来说 [undotree][13] 是一个不错插件可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系所以这是我非常喜欢的一个插件。
### 10. gdbmgr ###
最后,但并非不重要的是每个人都在某时刻需要一个调试器。如果你喜欢gdb那么[gbdmgr][14]就是为你准备的因为它集成了那个著名的调试器到Vim中。
最后,但并非不重要,每个人都在某时刻需要一个调试器。如果你喜欢gdb那么[gbdmgr][14]就是为你准备的因为它集成了那个著名的调试器到Vim中。
总结一下不管你是不是一个疯狂的coder能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的如果你不需要你不用安装这里所有的这些插件。或者你想要安装另外的也行这些其实只是一个基础入门级的插件。
@ -68,7 +69,7 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541
via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html
译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID)
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -5,7 +5,7 @@
微软因为以前对开源软件的态度而臭名昭著但是公司改建后对开源软件发出了积极的信号。CNet报道了微软对开源软件认知的行为的改变。
> [CNet][1]消息:
> 微软自助开源软件有一些时间了,那些曾经反对开源软件的领导者们已经退出了或者不在位了。开软软件现在用在遍布全世界的公司当中,这些公司有些自命不凡但这只是在认识到微软帝国之外的事
> 虽然微软资助开源软件有一些时间了,并且那些曾经反对开源软件的领导者们已经退出了或者不在位了。开源软件现在用在遍布全世界的公司当中,但这些与微软帝国无关
> 一些新的想法反映了企业顶层的一些变化今年二月初Satya Nadella代替鲍尔默成为了微软CEONadella已经给微软带来了一些新的东西改变了微软以前的一些束缚。
>
> [更多报道][2]
@ -17,17 +17,17 @@
我是一个持悲观态度的人但是我认为微软和开源软件之间的信任关系是有待确定的。一个新的CEO和些许改变或许会改变微软在开源世界中的存在状态但是对于微软这么大的企业来说改变并不容易所以对于开源的世界来说微软是否真的改变还有待确定。
我也从来不会忘记微软“欢迎,扩大,压死”的策略来打翻其他的竞争软件,光这一条凡是微软参合的开源项目就必须多一只谨慎的眼,或许这家公司真的改了,但如果没有呢!我们还是用几年时间来观察下吧。
我也从来不会忘记微软“欢迎,扩大,压死”的策略来打翻其他的竞争软件,光这一条凡是微软参合的开源项目就必须瞪大眼睛,或许这家公司真的改了,但如果没有呢!我们还是用几年时间来观察下吧。
### 安卓对抗windows ###
ZDNet曾经报道过使用数量最多的Linux发行版本但是现在桌面环境仍然是windows的天下但是安卓今年很可能会是用户数量最大的用户终端操作系统。
ZDNet曾经报道过使用数量最多的Linux发行版本不过现在桌面环境仍然是windows的天下但是安卓今年很可能会是用户数量最大的用户终端操作系统。
> [ZDNet][4]报道:
>
> 如果桌面和平板依旧像预期增长的销量安卓平板渐渐蚕食苹果的市场PC市场继续萎缩安卓在2014年末很有可能成为终端用户数量最多的操作系统而且不算安卓PC。
> 如果桌面和平板依旧像预期增长的销量安卓平板渐渐蚕食苹果的市场PC市场继续萎缩安卓在2014年末很有可能成为终端用户数量最多的操作系统而且不算安卓PC。
>
> 总而言之安卓几乎统治了Linux终端用户。你可能不会想它作为桌面使用尽管Intel和AMD努力在让它变成现实但是安卓正在变成使用量第一的终端操作系统。
> 总而言之安卓几乎统治了Linux终端用户。你可能不会想它作为桌面使用尽管Intel和AMD努力在让它变成现实但是安卓正在变成使用量第一的终端操作系统。
>
> [更多消息][4]
@ -37,18 +37,17 @@ ZDNet曾经报道过使用数量最多的Linux发行版本但是现在桌面
上面提到的并不算真的惊喜移动终端的革命发展了接近10年了。桌面依然还像原来那样重要微软也确实没有真正的在乎过移动设备。即使现在微软在艰难的推他的手机和平板他仍旧认为移动终端市场并不重要。
谷歌严重的破坏了微软在移动领域的努力而现在他在桌面市场又对微软发起了挑战。从chrome OS到安卓谷歌给微软一连串的打击如果你查看下Amazon最受欢迎的[台式机][5]和[笔记本][6]的话你会看到很多chrome OS的电脑甚至是装有安卓的PC。所以人们的购买需求在变得多样化并不局限在windows一家了。
### Cinnamon和Unity在Ubuntu14.04上的对抗 ###
Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装cinnamon研究了一下Ubuntu14.04上用cinnamon替换unity的可行性。
Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装Cinnamon研究了一下Ubuntu14.04上用Cinnamon替换unity的可行性。
> [Tech Republic][7]报道:
>
> 如果你寻求性能为主不需要其他有特色的可自定义的桌面,cinnamon适合你。Cinnamon是一个直观简洁的桌面任何人都可以使用不论你是IT工作者还是你的老妈妈。它非常的简单易用。Cinnamon很平淡不会和你开什么玩笑也不会让你感到有惊奇的感觉但这就是它所注重的。它只会给桌面带来在标准层面上带来实用性它不求突破不耍花招不加条条框框。
> 如果你寻求性能为主不需要其他有特色的可自定义的桌面,Cinnamon适合你。Cinnamon是一个直观简洁的桌面任何人都可以使用不论你是IT工作者还是你的老妈妈。它非常的简单易用。Cinnamon很平淡不会和你开什么玩笑也不会让你感到有惊奇的感觉但这就是它所注重的。它只会给桌面带来在标准层面上带来实用性它不求突破不耍花招不加条条框框。
>
> Cinnamon是一个很平凡的桌面它只集成了最好的功能并且把它们集成到一起完美整合到一块。如果你可以用一个看起来和用起来都点老掉牙但是性能很好的桌面的话cinnamon完全适合你。如果你喜欢各种花哨的界面和看起来很现代的感觉cinnamon可能就不适合你了。
> Cinnamon是一个很平凡的桌面它只集成了最好的功能并且把它们集成到一起,完美整合到一块。如果你可以用一个看起来和用起来都点老掉牙但是性能很好的桌面的话Cinnamon完全适合你。如果你喜欢各种花哨的界面和看起来很现代的感觉Cinnamon可能就不适合你了。
> [ 更多消息][7]
>
@ -56,9 +55,9 @@ Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装cinnamon
>
> Image credit: [Tech Republic][7]
我是站在cinnamon这边的,unity有自己的长处但是我从来没用习惯过。Cinnamon更接近传统桌面我用起来不错
我是站在Cinnamon这边的Unity有自己的长处但是我从来没用习惯过。Cinnamon更接近传统桌面我用起来不错
但是在别人眼里漂亮的桌面总是很受欢迎。Linux最大的特色就是提供很多很多不同的选择如果你真不知道unity和cinnamon该选择谁你就用自己最喜欢的就行了。
但是在别人眼里漂亮的桌面总是很受欢迎。Linux最大的特色就是提供很多很多不同的选择如果你真不知道Unity和Cinnamon该选择谁你就用自己最喜欢的就行了。
你赞成那些呢?请在下方留下你的评论吧
@ -69,7 +68,7 @@ Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装cinnamon
via: http://www.itworld.com/open-source/421894/has-microsoft-really-changed-its-attitude-toward-open-source
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[校对者ID](https://github.com/校对者ID)
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,159 @@
适合新用户的最佳的Linux发行版
================================================================================
这个争论无疑给许多Linux用户带来了麻烦。争论的焦点一般不是哪个发行版是真正最适合新用户的而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱我们会看到更清楚的一面。但即使这样明确的结论也会受到被新用户的需求和期望的影响。考虑到这点我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用而且还要具有由日益增长的移动界面风格所带来的现代设计理念。
对于这次评测,我们对发行版有如下要求:
- 非常友好
- 包括,开箱即用,所有常用的应用程序
- 包括某个形式的应用程序商店
- 提供一个时尚的用户界面
让我解释一下各个标准
### 用户友好 ###
这是一个备受争议的话题。但事实的真相是——新用户必须能够选择某种风格的Linux并开始使用只需要很少或不需要解释。如果必须很出太多解释那么这个发行版便不是用户友好的。我不喜欢那些操作系统但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。
### 常用应用程序 ###
安装好系统后用户不应该再去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下:
- 网页浏览器Chrome或者Firefox对不起根本不需要其他的浏览器
- 电子邮件客户端Thunderbird是显而易见的选择。
- Office办公套件LibreOffice。就这样。
- 音乐播放器播放本地文件以及连接到流媒体服务比如Spotify
这是几乎所有用户需要的应用程序的简表。
### 应用程序商店 ###
由于移动设备需求的日益增长用户已经习惯了应用商店。Linux有应用商店很长时间了Synaptic是最古老的一个。没有一个经深思熟虑做的应用商店用户将会挣扎于在Linux环境中添加软件。毫无疑问这一点至关重要。
### 时尚的界面 ###
我已经多次提到移动设备的美化。由于iOS和Android用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的风格在支持多触控的移动世界里不再有影响力。
## 排名前三的发行版 ##
以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。
### Ubuntu ###
[Ubuntu Linux][1]一直是用户友好型Linux的王者。开箱即用寻找一个比它更迷人和易用的桌面Unity有点困难甚至是对于那些对平台不熟悉的人也是这样的。它的桌面布局虽然与众不同但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具在Linux中Ubuntu Unity应当获得最高成就。
### Linux Mint ###
如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu所以它得益于“老大哥”Ubuntu的稳定性和可靠性。
### Linux Deepin ###
用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国而且应该正视它所带来的成就。为什么这样说因为它使得Linux桌面转变为艺术美同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的完全不可思议。
## 各发行版的比分 ##
在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。
### 用户友好性 ###
这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是:
1. Linux Mint
2. Ubuntu Linux
3. Linux Deepin
为什么是这样呢Mint仅有微小的优势因为它的开始按钮任务栏和桌面图标仍然使用旧的桌面风格。胜者的优势很微小Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于小白们。
### 常用的应用程序 ###
这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office一个最好的移动办公套件解决方案之一它计划在2014发行版本中默认使用LibreOffice。
关于常用程序的我的一个问题是音乐播放器。虽然我在线听过很多音乐使用Spotify客户端但当我播放本地音乐时总是使用Clementine。他们的默认播放器是
- Ubuntu: Rhythmbox
- Linux Mint: Banshee
- Linux Deepen: DMusic.
三者中Banshee图1提供了最多的功能DMusic图2提供了最好的界面令人惊讶的Rhythmbox图3目前最不稳定。
![](http://www.linux.com/images/stories/41373/banshee.png)
banshee
![](http://www.linux.com/images/stories/41373/dmusic.png)
dmusic
![](http://www.linux.com/images/stories/41373/rhythmbox.png)
rhythmbox
所以,他们得分多少?如下:
1. Linux Mint
2. Ubuntu Linux
3. Linux Deepin
### 应用程序商店 ###
如果不分析这部分将难进行。为什么呢因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。
- Ubuntu: Ubuntu软件中心
- Mint: 软件管理器
- Linux Deepin: Deepin软件中心
应该说这些工具中的每一个都是基于Ubuntu软件中心的。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。
我将应用商店排名设为如下:
1. Linux Deepin
2. Linux Mint
3. Ubuntu Linux
每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。
### 时尚的界面 ###
在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件有强大的显卡Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是
1. Linux Deepin
2. Ubuntu Linux
3. Linux Mint
Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体你会认为你在处理一件互动的艺术品。
## 总冠军 ##
虽然这是很初步的对新用户来说最好的Linux发行版顺序应该是
1. Linux Mint的总得分是7
2. Linux Deepin的总得分是8
3. Ubuntu Linux的总得分是9
如果你想知道关于这篇文章的作者观点要知道我已经使用Ubuntu Linux很多年了而且仍在用。我最近一直在说“如果有一个Linux发行版能动摇我使用Ubuntu的想法它便是Linux Deepin。”虽然我很欣赏Linux Mint但我只是用它来进行测试。当说到对新用户最好的Linux发行版Linux Mint是显而易见的赢家。
这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽使用Linux Deepin吧。如果你想要漂亮外观与易用结合那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观那就用Linux Mint。不管你选哪一个这都是三赢的局面。
你怎么认为你会如何排这三个桌面的名次或者你是否会写一个不同的Linux发行版该发行版在外表上来说对新用户最好的还有原因是什么
--------------------------------------------------------------------------------
via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/
译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.ubuntu.com/
[2]:http://www.linuxmint.com/
[3]:http://www.linuxdeepin.com/index.en.html

View File

@ -0,0 +1,74 @@
什么是Unix以及它为什么这么重要
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg)
大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外几乎所有其他的都可以追溯到Unix。
LinuxMac OS XAndroidiOSChrome OSPlayStaion 4上运行的Orbis OS运行在路由器上的各种固件所有这些操作系统通常都被称为“类Unix”操作系统。
### Unix的设计现在都还在应用 ###
Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到如今都还在使用。
其中一个设计是“Unix哲学”建立小的模块化的应用只做一件事情并把它做好。如果你对Linux终端很熟悉的话应该对这个不陌生系统提供了大量的应用可以通过[管道或其他特性][1]形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让[建立终端脚本][2]更为简单,通过文本把一些简单工具结合起来去做复杂的事情。
Unix还设计了一个单一的文件系统程序可以通过它互相通讯。这也是[为什么在Linux里说“一切都是文件”][3]包括硬件设备文件和提供系统信息及其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符这是从DOS继承过来的在其他操作系统中所有文件都是一个单一目录结构中的一部分。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/unix-bell-labs.jpg)
### 那些从Unix派生出的系统 ###
类似任何可以往前追溯40年的历史Unix的历史和它的派生系统一片混乱。为了简单我们把Unix的派生系统大致分成两组。
一组Unix派生系统是学术界开发的。
首先是BSD伯克利软件发布版一个开源的类Unix操作系统。BSD如今还存在于FreeBSDNetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发苹果的Mac OS X基于NeXTStepiOS基于Mac OS X。许多其他操作系统包括运行在PlayStation 4上的Orbis OS也源于各种BSD操作系统。
Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议条款日渐严格的限制。MINIX是一个类Unix操作系统为教育目的而实现的而Linux则是受到了MINIX的启发。[我们今天所熟悉的Linux其实应该叫GNU/Linux][4]因为它是由Linux内核和大量GNU应用组成的。GNU/Linux不是直接从BSD继承下来的但是它继承了Unix的设计而且根植于学术界。如今许多操作系统包括AndroidChrome OSSteam OS以及数量巨大的在各种设备上使用的嵌入式操作系统都基于Linux。
另一组是商用的Unix操作系统。AT&T UNIXSCO UnixWareSun Microsystem SolarisHP-UXIBM AIXSGI IRIX许多大型企业都希望建立并授权自己版本的Unix。它们如今并不常见但其中一些仍然存在。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/history-of-unix.png)
图片致谢: [Wikimedia Commons][5]
### DOS和Windows NT的崛起 ###
许多人希望Unix能够成为工业标准操作系统但是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS完全没有参照Unix这也是[为什么Windows使用反斜杠划分文件路径而其他所有系统都使用正斜杠][6]。这个决定是在早期的DOS系统中做出的而之后的Windows版本继承了这一设定就像BSDLinuxMac OS X和其他类Unix操作系统继承了许多Unix设计因素一样。
Windows 3.1Windows 95Windows 98和 Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统叫做Windows NT意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中但是之前它都只用于针对企业用户的Windows 2000和Windows NT。
如今所有微软的操作系统都基于Windows NT内核。Windows 7Windows 8Windows RTWindows Phone 8Windows Server以及Xbox One上的操作系统都在使用Windows NT内核。不像其他大多数操作系统那样Windows NT没有被开发成一个类Unix操作系统。
当然微软也不是完全从零开始的。为了维护DOS和旧版本Windows软件的兼容性Windows NT继承了许多DOS里的设定比如磁盘盘符反斜杠区分文件路径正斜杠作为命令行参数开关。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/windows-2000-professional-built-on-nt-technology.jpg)
### 为什么它影响很大 ###
不知道你有没有看过Mac OS X终端或是文件系统有没有注意到它们和Linux是如此相似而又和Windows是如此不同好吧原因是Mac OS X和Linux两个都是类Unix操作系统。
了解了这点历史就可以帮助你理解什么是“类Unix”操作系统以及为什么这么多操作系统看起来都差不多而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉而[Windows 7上的Command Prompt和PowerShell][7]相对于其他命令行环境显得格格不入。
这只是一点快速掠过的历史帮助了解是如何发展到今天的而不用陷入到细节中。如果你想了解更多可以找到许多关于Unix历史的整本的书籍。
图片致谢: [Peter Hamer on Flickr][8], [Takuya Oikawa on Flickr][9], [CJ Sorg on Flickr][10]
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.howtogeek.com/110150/become-a-linux-terminal-power-user-with-these-8-tricks/
[2]:http://www.howtogeek.com/107217/how-to-manage-processes-from-the-linux-terminal-10-commands-you-need-to-know/
[3]:http://www.howtogeek.com/117939/htg-explains-what-everything-is-a-file-means-on-linux/
[4]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/
[5]:http://en.wikipedia.org/wiki/File:Unix_history.svg
[6]:http://www.howtogeek.com/181774/why-windows-uses-backslashes-and-everything-else-uses-forward-slashes/
[7]:http://www.howtogeek.com/163127/how-powershell-differs-from-the-windows-command-prompt/
[8]:http://www.flickr.com/photos/peter-hamer/2876612463/
[9]:http://www.flickr.com/photos/takuyaoikawa/2060554607/
[10]:http://www.flickr.com/photos/cjsorg/2726088549/

View File

@ -7,7 +7,7 @@
![](https://farm3.staticflickr.com/2936/14371977196_1a4522359b_z.jpg)
让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时会有一个人立马回答[Vim][2],然后会有另外一个说[Emacs][3]. 之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。
让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时会有一个人立马回答[Vim][2],然后会有另外一个说[Emacs][3]LCTT译注这就是V党和E党啊~之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。
![](https://farm4.staticflickr.com/3916/14393718612_a880b86a52_z.jpg)
@ -15,21 +15,21 @@
![](https://farm3.staticflickr.com/2917/14391734181_0f0ec76e4f_z.jpg)
一款叫做[Sublime Text][4]的文本编辑器在过去几年逐渐兴起.一些人可能会将它视为Vim或者Emacs的友好版专为编程而设计的。事实上它保持了一些与Vim和Emacs的相似特性。比如批量编辑和函数跳转都会让人或多或少想起Emacs或者[一个充满活力的Vim][5].然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。
一款叫做[Sublime Text][4]的文本编辑器在过去几年逐渐兴起一些人可能会将它视为Vim或者Emacs的友好版专为编程而设计的。事实上它保持了一些与Vim和Emacs的相似特性。比如批量编辑和函数跳转都会让人或多或少想起Emacs或者[一个充满活力的Vim][5]然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。LCTT译注实际上译者认为Sublime Text与其说是像Vim或Emacs不如说更像是Mac上的编辑器神器textmate。另外Sublime Text的发展最近已经陷入停滞了。
Sublime Text唯一的“污点”是它的许可证如果你只使用开源软件的话你可以放弃它了。为此最近出现了一个雄心勃勃的克隆版 [Lime][6] 。这个软件正处在繁重的开发当中但是它的理念是跟Sublime Text相似的用户体验但是带着开源的韵味。对于Lime除了满满的期待没有更多要说的了。
Sublime Text唯一的“污点”是它的许可证如果你只使用开源软件的话你可以放弃它了。LCTT译注但是Sublime Text可以全功能一直试用下去没有一点区别只是如果你觉得应该支持的话付费比较好虽然挺贵。为此,最近出现了一个雄心勃勃的克隆版 [Lime][6] 。这个软件正处在重度开发当中但是它的理念是跟Sublime Text相似的用户体验但是带着开源的韵味。对于Lime除了满满的期待没有更多要说的了。
距现在更近的GitHub以开源形式发布了[Atom][7]展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转代码片段使用等特性提供一个完整特性的编辑器而不是简单的编辑框。使用HTMLCSS和集成Node.js环境可以轻易地定制文本处理过程这正是它的魅力所在。这其实已经要涉及到IDE的定义了我们的列表最多会覆盖到这里。
距现在更近的GitHub以开源形式发布了[Atom][7]展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转代码片段使用等特性提供一个完整特性的编辑器而不是简单的编辑框。使用HTMLCSS和集成Node.js环境可以轻易地定制文本处理过程这正是它的魅力所在。这其实已经要涉及到IDE的定义了我们的列表最多会覆盖到这里。LCTT译注好吧我觉得从Sublime Text转移出来的最佳出口就是Atom。
![](https://www.flickr.com/photos/xmodulo/14395083745/)
![](https://farm4.staticflickr.com/3907/14395083745_469b7e49c9_z.jpg)
### 3. Gedit & Kate & Mousepad & Leafpad ###
![](https://farm3.staticflickr.com/2927/14371977076_c95a557233_z.jpg)
如果不谈这些超级厉害的编辑我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统有些也可以用插件进行强化但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来我必须怪罪那些视频游戏让我的注意力变得短暂。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中Gnome 下的 [Gedit][8] 和 KDE下的 [Kate][9] 都很好的集成在桌面系统中可以通过插件进行个性化定制。比如更容易的进行LaTeX排版。[Mousepad][10] 和 [Leafpad][11] 更适合于轻量级的桌面比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以如果你需要的是灵活和便捷请选择它们。
如果不谈这些超级厉害的我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统有些也可以用插件进行强化但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来我必须怪罪那些视频游戏让我的注意力变得短暂。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中Gnome 下的 [Gedit][8] 和 KDE下的 [Kate][9] 都很好的集成在桌面系统中可以通过插件进行个性化定制。比如更容易的进行LaTeX排版。[Mousepad][10] 和 [Leafpad][11] 更适合于轻量级的桌面比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以如果你需要的是灵活和便捷请选择它们。
[![](https://farm6.staticflickr.com/5522/14415259703_d3885b3952_z.jpg)][12]
![](https://c2.staticflickr.com/6/5522/14415259703_d3885b3952_z.jpg)
### 4. Nano & Qute ###
@ -37,9 +37,9 @@ Sublime Text唯一的“污点”是它的许可证如果你只使用开源
另外一个流行的文本编辑器“大家族”是“无打扰编辑器”。如果你喜欢在后台持续地开着Facebook或者Twitter或者每5分钟就收一次邮件你就会知道把注意力集中在那篇明天要交的散文或者这些还没编译通过的代码是多么困难的事。如果是这样你需要一个编辑器它可以占满整个屏幕空间并且屏蔽掉所有的其它事情。
也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事关掉X server[译注关掉桌面只用文字终端界面Nano就是工作在这种模式下])。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在[一次采访][13]中说他使用一个类似DOS Word的文本处理程序写他的小说。
也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事关掉X serverLCTT译注关掉桌面只用文字终端界面Nano就是工作在这种模式下。实际上这时nano就是接管了X Server的工作。)。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在[一次采访][13]中说他使用一个类似DOS Word的文本处理程序写他的小说。
如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:[Qute][14]. 没有酷炫的特性也许有一点LaTeX排版使它开起来更美观但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服Qute是个不错的选择。
如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:[Qute][14]没有酷炫的特性也许有一点LaTeX排版使它开起来更美观但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服Qute是个不错的选择。
![](https://farm3.staticflickr.com/2927/14395083485_7f8f0d6d59_z.jpg)
@ -48,7 +48,7 @@ Sublime Text唯一的“污点”是它的许可证如果你只使用开源
![](https://farm4.staticflickr.com/3845/14395083565_b07b33abf0_z.jpg)
最后办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程但是它确实更适合纯文本编辑也比LaTeX更容易学习。在这类编辑器中[LibreOffice][15] 和 [Calligra][16] 能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件你会有自己的选择。稍处下风的[Abiword][17]相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档不关心电子表格或者数据库Abiword的特性可以达到理想的效果。
最后办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程但是它确实更适合纯文本编辑也比LaTeX更容易学习。在这类编辑器中[LibreOffice][15] 和 [Calligra][16] 能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件你会有自己的选择。稍处下风的[Abiword][17]相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档不关心电子表格或者数据库Abiword的特性可以达到理想的效果。
![](https://farm3.staticflickr.com/2915/14371976966_4d252928ec_z.jpg)
@ -60,7 +60,7 @@ Sublime Text唯一的“污点”是它的许可证如果你只使用开源
via: http://xmodulo.com/2014/06/good-text-editor-linux.html
译者:[love_daisy_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan)
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,127 @@
如何拯救一台GRUB 2启动失败的Linux电脑
================================================================================
![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg)
旧版GRUB我们使用了一段时间了这个重要的Linux通用引导器的版本已经到了0.97。尽管旧版GRUB有很多的优点但是它已经有点陈旧了并且它的开发者也希望添加更多的功能于是GRUB 2 时代就要来了。
GRUB 2 做了几个明显的改进。它可以从移动存储设备上启动并且可以通过配置一个选项来进入系统BIOS。相对于将所有的配置都放到一个配置文件`/boot/grub/menu.lst`中 (现在默认是`/boot/grub/grub.cfg `),使用各种脚本来配置会更复杂。你不要直接编辑这个文件,那不是人干的事,太复杂了,我们需要使用其它的脚本来改变。我们卑微的人类可以编辑修改`/etc/default/grub`文件它主要是控制Grub菜单的外观。我们还可以修改` /etc/grub.d/ `下的脚本这些脚本用于启动操作系统、控制外部应用程序如memtest 、os_prober和theming等等 。`./boot/grub/grub.cfg`是由`/etc/default/grub`和`/etc/grub.d/*`生成的。当你修改了某个地方你必须要运行update-grub命令来生成它。
好消息是update-grub脚本可以可靠的检测内核、启动文件并添加所有的操作系统自动生成你的启动菜单所以你不必手动的修改他们。
我们还要学习如何解决两个常见的故障。当启动系统时它会停在grub>提示上这是一个完整的GRUB 2命令界面所以不要惊慌。这意味着GRUB 2依旧可以正常启动和加载normal.mod模块它和其他模块分别位于/boot/grub/[架构]/ 下但没有找到你的grub.cfg文件。如果你看到grub rescue> 这意味着它无法找到normal.mod因此它有可能找不到你的启动文件。
这是如何发生的因为内核可能改变驱动器分区号码的分配或者您移动了您的硬盘驱动器或者你手动改变一些分区也有可能是安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在但GRUB不能找到他们。所以你可以在GRUB提示符中找到启动文件设置它们的位置然后启动您的系统并修复GRUB配置。
### GRUB 2 命令行 ###
GRUB 2 的命令界面和上一代GRUB中的一样强大。你可以用它来找到引导镜像内核和根文件系统。事实上它可以让你避开权限和其它访问控制完全访问本地计算机上的所有文件。有些人可能会认为这是一个安全漏洞但是你知道古老的UNIX的名言有物理访问机器权限的人就是拥有它的人。
当你在` grub > `提示时你有许多类似命令行界面的功能如命令历史和tab补全。但是`grub rescue> `模式是受限的没有命令历史没有tab补全。
如果你是在一个正常运作的系统上练习那就当GRUB菜单出现时可以按下C来打开GRUB命令行界面。你可以通过向上和向下光标键滚动你的菜单条目来停止启动倒计时。在GRUB命令行下做实验是安全的因为做不了永久的修改一切都是暂时的。如果你已经看到`grub > `或`grub rescue> `提示符,那就说明你的表现时刻到了。
接下来的几个命令可以在`grub>`和`grub rescue`模式下运行。你应该运行的第一个命令是设置一个分页器,将长的命令分页。如下:
grub> set pager=1
等号两侧必须不能出现空格。现在让我们做一点探索。输入`ls`来列出的GRUB识别的所有分区
grub> ls
(hd0) (hd0,msdos2) (hd0,msdos1)
msdos是什么这意味着该系统具有老式的MS-DOS分区表而不是全新的全局唯一标识符的分区表GPT。参见“[在Linux下使用新的GUID分区表和古老的MBR说再见][1]”。如果你正在运行的GPT它会出现(hd0GPT1)。现在让我们看看使用ls命令查看你的系统里面有什么文件
grub> ls (hd0,1)/
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/
lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/
srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old
initrd.img initrd.img.old
太好了我们已经找到了根文件系统。你可以省略msdos和GPT的标签。如果没有加分区后面的斜杠/则只会列出分区的信息。你可以用cat命令显示文件系统上的任何文件
grub> cat (hd0,1)/etc/issue
Ubuntu 14.04 LTS \n \l
在一个多引导系统上,通过/etc/issue文件可以知道这是哪个Linux系统。
### 从 grub> 中启动###
下面讲述如何设置启动文件并从`grub >`提示下启动系统。我们已经知道如何从Linux根文件系统(hd0,1)下运行ls命令你可以一直寻找直到找到你的/boot/grub所在位置。然后运行以下命令记得使用您自己的根分区内核和initrd映像等参数
grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
grub> initrd /boot/initrd.img-3.13.0-29-generic
grub> boot
第一行设置分区的根文件系统。第二行告诉GRUB您想要使用的内核位置。开始输入/boot/vmli然后使用tab补完填写。输入`root= /dev/sdX`设置根文件系统位置。是的这似乎是多余的但如果你忘记了输入你会得到一个kernel panic。你知道怎么找到正确的分区吗hd0,1 即 /dev/sda1hd1,1 即 /dev/sdb1hd3,2 即 /dev/ sdd2。我想你可以自己推算剩下的了。
第三行设置initrd文件必须是和内核相同的版本号。
最后一行启动系统。
在一些Linux系统上内核和initrd是被符号链接到当前的根文件系统的根目录就像
$ ls -l /
vmlinuz -> boot/vmlinuz-3.13.0-29-generic
initrd.img -> boot/initrd.img-3.13.0-29-generic
所以,你也可以这样输入命令:
grub> set root=(hd0,1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot
### 从grub rescue> 中启动 ###
如果你处在grub rescue> 命令界面下命令有所不同你必须要先加载两个模块normal.mod 和 linux.mod。
grub rescue> set prefix=(hd0,1)/boot/grub
grub rescue> set root=(hd0,1)
grub rescue> insmod normal
grub rescue> normal
grub rescue> insmod linux
grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
grub rescue> initrd /boot/initrd.img-3.13.0-29-generic
grub rescue> boot
在你加载了这两个模块之后tab补完的功能就可以用了。
### 永久性的修复 ###
当你成功地启动你的系统运行这些命令来永久修复GRUB
# update-grub
Generating grub configuration file ...
Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
Found linux image: /boot/vmlinuz-3.13.0-29-generic
Found initrd image: /boot/initrd.img-3.13.0-29-generic
Found linux image: /boot/vmlinuz-3.13.0-27-generic
Found initrd image: /boot/initrd.img-3.13.0-27-generic
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
# grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
当你运行 `grub-install`记得GRUB是安装到整个硬盘驱动器的主引导扇区而不是到一个具体分区所以不要加上像/dev/sda1一样的分区号。
### 如果还是不能使用 ###
如果你的系统是如此的倒霉,而且这个方式没有能起作用,那就尝试[超级GRUB2现场救援磁盘][2]吧。[官方GNU GRUB手册][3]也应该有所帮助。
--------------------------------------------------------------------------------
via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux
译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr-
[2]:http://www.supergrubdisk.org/
[3]:https://www.gnu.org/software/grub/manual/grub.html

View File

@ -0,0 +1,37 @@
Linux 截屏软件 Shutter
================================================================================
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg)
**[Shutter][1]是一款Linux平台下广受欢迎的截屏软件。最近的更新中该软件修复了若干bug并且使用了新的应用图标。**
这款开源并且功能强大的截屏工具可以让你选择桌面的任意区域、指定应用窗口或者整个屏幕区域来进行截屏。此外,你还可以添加注释、文本或者特效。
0.91版本修复了若干明显的bug包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早期停止了服务所以此次更新还取消了将截图上传到Pixlr图像服务的选项。
最后,这次更新突出了由 Lucas Romero Di Benedetto 精心设计的相机快门式应用图标。
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png)
### 在Ubuntu环境下安装Shutter 0.91版本 ###
升级到Shutter的最新版本是非常简单的——前提是你添加了该软件的PPA。[The Shutter PPA][2] 面向Ubuntu 12.04 LTS、13.10、14.04 LTS提供该软件最新稳定的发行版。
sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update && sudo apt-get install shutter
不喜欢PPA那么你也可以从该项目的主页下载Debian安装包。如果你使用的是Ubuntu 14.04 LTS系统你可以点击下面的链接来下载安装包。
- [下载适用于Ubuntu 14.04 LTS系统的Shutter 0.91][3]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/06/shutter-0-91-new-icon
译者:[JonathanKang](https://github.com/JonathanKang) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://apps.ubuntu.com/cat/applications/shutter/
[2]:https://launchpad.net/~shutter/+archive/ppa
[3]:https://launchpad.net/~shutter/+archive/ppa/+files/shutter_0.91%7Eppa2%7Eubuntu14.04.1_all.deb

View File

@ -0,0 +1,86 @@
教你用NeoBundle管理Vim插件
================================================================================
[NeoBundle][1] 是一个 [Vim][2] 的插件管理器,以 [Vundle][3] 为基础Vundle 是一个基于 [Pathogen][4] 的 Vim 插件管理器)。在之前的文章中,我[非常不推荐使用 Neobundle][5]原因是它当时还处于高速开发阶段LCTT意味着不稳定、变数大并且当时它的英文文档很少。现在已经过了一年多了这两个问题都早已不再是问题。
我们为什么要使用插件管理器Vim 支持大量插件但是由于它没有严格定义框架插件的文件可以胡乱分布在不同目录下导致用户管理起来会很困难LCTT当然前提是你有很多插件还有点小小的强迫症觉得理一理这些插件心里会舒服点。而一款插件管理器能让管理变得简单许多。Pathogen, Vundle 和 NeoBundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接在文件管理器里面把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。
NeoBundle 是一个基于 Vundle 的项目,如同 Vundle它们都可以安装和升级插件。然而 NeoBundle 的说明文件上明确指出“NeoBundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 Vundle”。最新的 release-note 上也有警告“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。
所以,我们为什么要使用 NeoBundle它都不能保证稳定运行好吧它还是有可取之处的。Vundle 只支持 [Git][6] 这种版本控制系统,而 NeoBundle 可以支持 [Subversion][7] 和 [Mercurial][8]。另一个原因是如果你不想插件升级时破坏你的 Vim 生态环境,你可以锁住 NeoBundle让它只使用某个插件的固定版本。
另外NeoBundle 创建者Shougo MatsuishitaLCTT名字看着像日本人正在将它的命令接口添加到其他插件项目以便减少他们的命令使用量。现在 NeoBundle 支持3种插件[unite.vim][9]Vim 使用的文件和缓存管理器;[vimshell.vim][10]Vim 使用的脚本程序;[vimproc.vim][11],运行于 vimshell.vim 中,用于对异步事件的支持。上面说的都是特殊案例,缺少英文文档,所以用户希望有人能完善它们。在正式使用它们之前,我们需要把注意力先集中在一些基本操作上。
### 安装并初始化 NeoBundle ###
NeoBundle 支持 Vim 7.2.051 或更高版本,需要 git 和 [cURL][12](用于下载文件)。你可以手动下载 NeoBundle也可以使用 cURL 下载它在 GitHub 上的库。在你的 home 目录下使用如下命令,可以将 NeoBundle 插件下载到 .vim/bundle/neobundle.vim 目录里,然后 NeoBundle 就能管理它自己了。
curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh
你还需要修改 .vimrc 文件。NeoBundle 的 GitHub 主页提供一个 .vimrc 范本但是直接使用这个范本NeoBundle 需要你安装5个可能不需要插件。如果不需要它们你可以使用下面的最小配置
if has('vim_starting')
set nocompatible
set runtimepath+=~/.vim/bundle/neobundle.vim/
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
call neobundle#end()
filetype plugin indent on
上述配置的作用是:启动 NeoBundle 并且像其他插件一样升级自己。NeoBundle 默认从 GitHub 下载并升级,如果你正好在使用 GitHub你只需要为这个插件指定维护者的用户名和路径。在上面的配置中NeoBundleFetch 只需要指定为“Shougo/neobundle.vim”而不是完整的 GitHub 路径。如果你想使用其他网站,比如是 Subversion 或 Mecurial 的网站,你就需要添加完整的 URL。
如果你想安装其他插件,你可以使用下面的命令:
curl -k https://github.com/[项目维护者]/[插件路径] > ~/.vim/bundle/[插件路径]
举个例子:你想安装 [vim-abolish][13],一个超级 NB 的文本搜索和替换插件,就使用下面的命令:
curl -k https://github.com/tpope/vim-abolish > ~/.vim/bundle/abolish
如果要让它自动升级,在 NeoBundleFetch 那行下面添加一行:
NeoBundle 'tpope/vim-abolish'
再介绍一个小技巧你可以为插件指定一个分支或版本号。什么意思NeoBundle 只会使用这个插件的某个分支或版本,而忽略其版本更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子:
NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' }
还有一个技巧:在 .vimtc 文件内添加一行关于“NeoBundleCheck”的属性。NeoBundle 会根据配置检查没安装的插件,并提示你安装它们。你也可以使用命令“:NeoBundleInstall”LCTT这是要在 Vim 编辑器的命令模式下输入)来安装或升级插件。
### NeoBundle 用法 ###
很多 NeoBundle 命令用起来和 Vundle 类似,但命令的名字不一样。下面是 NeoBundle 命令的用法:
- `:NeoBundleUpdate`:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。`:NeoBundleInstall` 命令效果相同。
- `:NeoBundle {REPOSITORY URI} [[REVISION}] [,OPTIONS}]]`:将一个插件锁定到固定版本,防止胡乱升级。
- `:NeoBundleList`:列出所有未初始化的插件。
- `:NeoBundleClean`:进入交互界面,删除插件。
这些命令在配合 unite.vim LCTT就是上面举过的32个例子之一使用时效果会稍微有些出入。你可以使用“:help neobundle”命令了解更多信息。
### 是否使用 NeoBundle自己决定 ###
NeoBundle 是强大的工具正处于高速开发状态。任何处于这种状态的项目都会被帖上“有前途”和“不稳定”两个标签看你自己怎么选。如果你想要最新的稳定版本的插件NeoBundle 能够把 Vundle 和 Pathogen 甩出几条街。
然而在线帮助文档已经给出警告,它不是个稳定的产品,不及时更新版本可能造成一些插件运行出错。最后,你需要在 .vimrc 文件为你的 Neoundle 和其他插件指定一个稳定的版本。记住这警告,然后你可以在使用这些尖端技术产品时游刃有余。
--------------------------------------------------------------------------------
via: http://www.openlogic.com/wazi/bid/348084/Managing-Vim-extensions-with-NeoBundle
译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://github.com/Shougo/neobundle.vim
[2]:http://olex.openlogic.com/packages/vim
[3]:https://github.com/gmarik/Vundle.vim
[4]:https://github.com/tpope/vim-pathogen
[5]:http://www.openlogic.com/wazi/bid/262302/Three-tools-for-managing-Vim-plugins
[6]:http://olex.openlogic.com/packages/git
[7]:http://olex.openlogic.com/packages/subversion
[8]:http://olex.openlogic.com/packages/mercurial
[9]:https://github.com/Shougo/unite.vim
[10]:https://github.com/Shougo/vimshell.vim/blob/master/doc/vimshell.txt
[11]:https://github.com/Shougo/vimproc.vim/blob/master/doc/vimproc.txt
[12]:http://olex.openlogic.com/packages/curl
[13]:https://github.com/tpope/vim-abolish

View File

@ -0,0 +1,58 @@
保护你的Linux系统的九个老生常谈
================================================================================
在现在这个世道中保障基于Linux的系统的安全是十分重要的。但是你得知道怎么干。一个简单反恶意程序软件是远远不够的你需要采取其它措施来协同工作。那么试试下面这些手段吧。
![](http://www.efytimes.com/admin/useradmin/photo/2Rak10143PM6172014.jpeg)
### 1. 使用SELinux ###
[SELinux][1]是用来对Linux进行安全加固的有了它用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。LCTT译注虽然NSA也给SELinux贡献过很多代码但是目前尚无证据证明SELinux有潜在后门
### 2. 订阅漏洞警报服务 ###
安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如[SecurityFocus][2]。
### 3. 禁用不用的服务和应用 ###
通常来讲用户大多数时候都用不到他们系统上的服务和应用的一半。然而这些服务和应用还是会运行这会招来攻击者。因而最好是把这些不用的服务停掉。LCTT译注或者干脆不安装那些用不到的服务这样根本就不用关注它们是否有安全漏洞和该升级了。
### 4. 检查系统日志 ###
你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。
### 5. 考虑使用端口试探 ###
设置[端口试探Port knocking][4]是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。
下面是来自 http://www.portknocking.org/ 的示意图:
![](http://www.portknocking.org/images/portknocking-explained-01.png)![](http://www.portknocking.org/images/portknocking-explained-02.png)![](http://www.portknocking.org/images/portknocking-explained-03.png)![](http://www.portknocking.org/images/portknocking-explained-04.png)
### 6. 使用Iptables ###
Iptables是什么这是一个应用框架它允许用户自己为系统建立一个强大的防火墙。因此要提升安全防护能力就要学习怎样一个好的防火墙以及怎样使用Iptables框架。
### 7. 默认拒绝所有 ###
防火墙有两种思路一个是允许每一点通信另一个是拒绝所有访问提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。LCTT译注即默认许可策略和默认禁止策略前者你需要指定哪些应该禁止除此之外统统放行后者你需要指定哪些可以放行除此之外全部禁止。
### 8. 使用入侵检测系统 ###
入侵检测系统或者叫IDS允许你更好地管理系统上的通信和受到的攻击。[Snort][3]是目前公认的Linux上的最好的IDS。
### 9. 使用全盘加密 ###
加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=141368
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://selinuxproject.org/page/Main_Page
[2]:http://www.securityfocus.com/rss/vulnerabilities.xml
[3]:http://www.snort.org/
[4]:http://en.wikipedia.org/wiki/Port_knocking

View File

@ -1,4 +1,4 @@
查看Linux硬盘分区和磁盘空间的9个命令
Linux下掌控磁盘分区的九大神器
================================================================================
在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用完的空间和文件系统等。
@ -7,7 +7,7 @@
### 1. fdisk ###
Fdisk是检查磁盘上分区的最常用命令fdisk命令可以显示分区和细节如文件系统类型但是它并不报告每个分区的大小。
Fdisk是检查磁盘上分区的最常用命令fdisk命令可以显示分区和细节如文件系统类型但是它并不报告每个分区的字节大小。
$ sudo fdisk -l
@ -36,7 +36,7 @@ Fdisk是检查磁盘上分区的最常用命令fdisk命令可以显示分区
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 7907327 3952640 b W95 FAT32
单独显示了每个设备的详细信息大小ID和单个分区。
每个设备都单独显示其详细信息容量大小扇区数设备ID及其包含的每个分区。
### 2. sfdisk ###
@ -81,13 +81,14 @@ Cfdisk是一个基于ncurses提供字符终端处理库包括面板和菜
![linux cfdisk disk partitions](http://www.binarytides.com/blog/wp-content/uploads/2014/06/linux-cfdisk.png)
Cfdisk一次只能列出一个分区所以如果你需要看某一磁盘的细节可以把设备名传给Cfdisk
Cfdisk一次只能列出一个分区所以如果你需要看某一磁盘的细节可以把该磁盘的设备名作为Cfdisk的参数
$ sudo cfdisk /dev/sdb
### 4. parted ###
Parted是另一个命令行实用程序用来列出分区如果需要的话也可进行修改。
Parted是另一个命令行实用程序可以列出分区如果需要的话也可进行修改。
下面是一个例子,列出了详细的分区信息。
$ sudo parted -l
@ -131,9 +132,9 @@ Df是不是一个分区工具但它打印出挂装文件系统的细节Df
/dev/sda8 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda5 98G 37G 62G 38% /media/4668484A68483B47
文件系统只有以 /dev 开始的,是实际设备或分区。
只有以 /dev 开始的文件系统才是实际的设备或分区。
使用grep命令来筛选出实际的硬盘分区或文件系统。
可以使用grep命令来筛选出实际的硬盘分区或文件系统。
$ df -h | grep ^/dev
/dev/sda6 97G 43G 49G 48% /
@ -152,7 +153,7 @@ Df是不是一个分区工具但它打印出挂装文件系统的细节Df
### 6. pydf ###
它是用Python写的Df的改进版本一个方便阅读的方式打印出所有磁盘分区。
它是用Python写的Df的改进版本读的方式打印出所有磁盘分区。
$ pydf
Filesystem Size Used Avail Use% Mounted on
@ -160,13 +161,13 @@ Df是不是一个分区工具但它打印出挂装文件系统的细节Df
/dev/sda8 195G 153G 32G 78.4 [#######..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
/dev/sda5 98G 36G 61G 37.1 [###......] /media/4668484A68483B47
另外pydf限制为仅显示已挂载的文件系统
另外pydf限制为仅显示已挂载的文件系统
### 7. lsblk ###
列出了所有的存储块,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。
列出了所有的块存储设备,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。
不报告分区上的已使用和空闲磁盘空间。
报告分区上的已使用和空闲磁盘空间。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
@ -182,13 +183,13 @@ Df是不是一个分区工具但它打印出挂装文件系统的细节Df
sr0 11:0 1 1024M 0 rom
如果没有挂载点,这就意味着文件系统未安装,对于cd/dvd这意味着没有磁盘。
如果没有挂载点,这就意味着文件系统未安装,而对于cd/dvd这意味着没有插入光盘。
lsblk能够显示每个设备的更多信息如标签和型,更多请查看信息手册。
lsblk能够显示每个设备的更多信息如标签和型,更多请查看信息手册。
### 8. blkid ###
打印块设备分区和存储介质属性例如UUID和文件系统类型不报告分区空间。
显示块设备分区和存储介质属性例如UUID和文件系统类型不报告分区空间。
$ sudo blkid
/dev/sda1: UUID="5E38BE8B38BE6227" TYPE="ntfs"
@ -219,9 +220,9 @@ hwinfo是一个通用的硬件信息的工具可以用来打印出磁盘和
### 总结 ###
parted的输出可以得到简洁而完整的不同分区的概述、上的文件系统以及总空间。pydf和df被限制为只显示和它们一样的已挂载文件系统。
parted的输出可以得到简洁而完整的不同分区的概述、上的文件系统以及总空间。pydf和df它们一样,只是被限制为只显示已挂载文件系统。
fdisk和sfdisk显示完整大量的信息需要花些时间来解释。cfdisk是一个互动的分区工具,每次显示一个单一的设备。
fdisk和sfdisk显示完整大量的信息需要花些时间来解释。cfdisk是一个交互式分区工具,每次显示一个单一的设备。
来尝试下这些命令吧,别忘了在下面评论哟!

View File

@ -1,39 +1,38 @@
如何在网络上在Windows,MAC和Linux之间共享文件
如何通过网络在Windows、MAC和Linux之间共享文件
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-mac-and-linux-network.jpg)
家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间- 没有考虑Mac和Linux! 这些操作系统现在可以相互通信并且无需特殊软件就可共享文件。
家庭[文件共享][1]曾经是一个噩梦即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。
我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交补丁][2]来改进它!
我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交补丁][2]来改进它!
### 在Windows上共享一个文件夹 ###
### 在Windows上共享文件夹 ###
既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。
既然其他操作系统不能访问家庭组您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。
如果你想要无需密码访问共享文件夹你还需要微调一下选项。
如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/enable-file-and-printer-sharing-for-mac-and-linux-on-windows.png)
在Windows Explorer或者File Explorer中定位你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。
在Windows Explorer或者File Explorer中找到你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-windows-folders-with-mac-and-linux-on-local-network.png)
### 在Windows上访问共享文件夹 ###
在Windows Explorer或者File Explorer中访问窗格来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。
在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/access-ubuntu-linux-shared-folder-on-windows.png)
如果你知道计算机名或者IP地址你同样可以直接连接到这台计算机上只需要在Windows Explorer或者File Explorer中输入//计算名后按下回车就可以了 如果你希望直接通过IP地址连接只需要将计算机名换成IP地址就可以了
如果你知道计算机名或者IP地址你同样可以直接连接到这台计算机上只需要在Windows Explorer或者File Explorer中输入\\计算名后按下回车就可以了。如果你希望直接通过IP地址连接只需要将计算机名换成IP地址就可以了
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-access-network-share-on-windows.png)
### 在Mac OS X 上共享文件夹 ###
你需要在你的Mac上启用网络文件共享来共享文件。双击苹果logo并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮并确认“使用SMB共享文件和文件夹”已经启用。
你需要在你的Mac上启用网络文件共享来共享文件。点击桌面左上角的苹果logo并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮并确认“使用SMB共享文件和文件夹”已经启用。
在共享文件夹那列中选择额外要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们
在共享文件夹那列中选择添加要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-with-windows-from-mac-os-x.png)
@ -43,19 +42,19 @@
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-file-share-on-a-mac.png)
你会被提示你用相应的凭证来验证或者以访客方式登录。连接完成后在Finder的侧边栏的共享列中就会出现这台计算机
你会被提醒你应该用相应的凭证来验证或者以访客方式登录。连接完成后在Finder的侧边栏的共享列中就会出现这台计算机
要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组 > 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-shared-folder-on-mac.png)
### 在 Linux 中共享一个文件夹 ###
### 在 Linux 中共享文件夹 ###
在Linux上使用你桌面文件管理器来共享一个文件。这里我们在Ubuntu 14.04上使用Nautilus但是在其他文件管理器上的过程应该是相似的。
在Linux上使用你桌面文件管理器来共享文件夹。这里我们使用Ubuntu 14.04上的Nautilus不过其他文件管理器上的过程应该是相似的。
打开文件管理器,在想要共享的文件上右键,选择属性。剪辑本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享你会被提示要求安装Samba软件- 这在你提供密码的时候会自动显示。
打开文件管理器,在想要共享的文件上右键,选择属性。点击本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享你会被提示要求安装Samba软件——这在你提供密码的时候会自动显示。
在安装Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。
在安装Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-from-ubuntu-linux-with-windows-pc-over-local-network.png)
@ -63,21 +62,21 @@
你的Linux桌面文件管理器可能包含了一个网络浏览器它可以用来定位并访问在本地网络的共享文件夹。
在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项双击你的工作组默认是WORKFROUP双击近的计算机来浏览它的共享文件。
在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项双击你的工作组默认是WORKFROUP双击近的计算机来浏览它的共享文件。
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/browse-windows-network-shares-on-ubuntu.png)
为了直接连接到一台计算机选中Nautilus中的连接到服务器选项并输入像这样的远程计算机smb://COMPUTERNAME
直接连接到一台计算机选中Nautilus中的连接到服务器选项,并输入像这样的远程计算机地址smb://COMPUTERNAME
![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-shared-folder-on-ubuntu.png)
然而在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。
不过在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。
--------------------------------------------------------------------------------
via: http://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,6 +1,6 @@
使用Linux的lsblk命令列出块设备信息
================================================================================
**lsblk**(列出块设备)命令于列出所有可用块设备的信息,但是,它**不列出RAM盘的信息**。块设备有硬盘闪存盘CD-ROM等等。
**lsblk**(列出块设备)命令于列出所有可用块设备的信息,但是,它**不列出RAM盘的信息**。块设备有硬盘闪存盘CD-ROM等等。
### 如何安装lsblk ###
@ -36,7 +36,7 @@ lsblk命令默认情况下将以树状列出所有块设备。打开终端
**RO** : 该项表明设备是否为只读。在本案例中所有设备的RO值为0表明他们不是只读的。
**TYPE** :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中sda和sdb是磁盘而sr0是只读存储rom
**TYPE** :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中sda和sdb是磁盘而sr0是只读存储romLCTT译注此处sr0的RO项没有标记为1可能存在一些错误
**MOUNTPOINT** : 本栏指出设备挂载的挂载点。
@ -46,7 +46,7 @@ lsblk命令默认情况下将以树状列出所有块设备。打开终端
$ lsblk -a
该选项将列出所有设备,包括设备在内。
该选项将列出所有设备,包括设备在内。
![lsblk bytes sda](http://linoxide.com/wp-content/uploads/2014/03/lsblk-bytes-sda.png)
@ -64,17 +64,17 @@ lsblk命令也可以用于列出一个特定设备的拥有关系同时也可
$ lsblk -b /dev/sda
或者,如果你偏好
或者,以下命令等同
$ lsblk --bytes /dev/sda
### 以列表形式列出不带头的设备 ###
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
$ lsblk -nl
或者,你可以使用下面的选项,它们也能给出相同的输出。
或者,你可以使用下面的选项,它们也能给出相同的输出。
$ lsblk --noheadings --list
@ -86,7 +86,9 @@ lsblk命令也可以用于列出一个特定设备的拥有关系同时也可
$ lsblk -S
lsblk列出SCSI设备相反逆序选项将给出如下输出。输入命令
![](http://linoxide.com/wp-content/uploads/2014/03/lsblk-SCSI-devices.png)
lsblk列出SCSI设备而-s是逆序选项LCTT译注将设备和分区的组织关系逆转过来显示其将给出如下输出。输入命令
$ lsblk -s
@ -94,13 +96,15 @@ lsblk列出SCSI设备相反逆序选项将给出如下输出。输入命
$ lsblk --inverse
lsblk逆序。你可以使用lsblk来获取关于你的块设备的更多信息自己把它试着显示出来吧
![](http://linoxide.com/wp-content/uploads/2014/03/lsblk-inverse.png)
你可以使用lsblk来获取关于你的块设备的更多信息自己把它试着显示出来吧
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/linux-lsblk-command/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,8 +1,8 @@
Zukimac 主题使 Ubuntu 14.04 桌面变成 Mac 桌面
在 Ubuntu 上体验 Mac 风格
================================================================================
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Make_Ubuntu_Look_Like_Mac_OS.jpeg)
虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,为了获得 OS X 的主题,是不需要换掉 Ubuntu 的,相反,您可以对它来个美化改造,**使 Ubuntu 14.04 看起来就像 Mac OS X**。
虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,要获得 Mac OS X 一样外观体验,是不需要丢掉 Ubuntu 的,相反,您可以对它来个美化改造,**使 Ubuntu 14.04 看起来就像 Mac OS X**。
### 让 Ubuntu 14.04 看起来像 Mac OS X ###
@ -12,11 +12,11 @@ Zukimac 主题使 Ubuntu 14.04 桌面变成 Mac 桌面
- 解压下载的 Zip 包,解压后会出现 Zukimac 和 Zukimac-ml 两个目录文件。把这些目录拷贝到您的 home 目录下的 .themes 文件夹中。进入 Home 目录中,按下快捷键 Ctrl+H 可以显示所有隐藏的文件,如果没有 .themes 文件夹,需要创建一个。
- 使用 [Unity Tweak Tool 来改变主题][2].
就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X MaVeric 壁纸的外观。
就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X Maveric 壁纸的外观。
![Make Ubuntu 14.04 look like Mac OS X](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Ubuntu_MAC_OS_Looks.jpeg)
### Ubuntu 14.04 中获得 Mac 感觉更多的调整###
### Ubuntu 14.04 中获得更多 Mac 体验 ###
通常,您可以**安装像 Plank 或 Docky 这样的 dock 启动面板**。在 Ubuntu 14.04 中要安装 Plank 可以使用下面的命令:
@ -42,7 +42,7 @@ Zukimac 主题使 Ubuntu 14.04 桌面变成 Mac 桌面
via: http://itsfoss.com/ubuntu-1404-mac-zukimac-theme/
译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID)
译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,12 +1,12 @@
安装Linux Mint 17 Qiana Cinnamon后要做的20件事
安装Linux Mint 17后要做的20件事
================================================================================
### Linux Mint 17 Qiana Cinnamon ###
Linux Mint 17已经[发布][1]定名为Qiana。Mint是Linux最佳发行版之一它定位于桌面用户关注可用性和简洁。它携带了风格迥异的桌面环境如Mate以及Cinnamon并基于不同的发行版如Ubuntu或Debian。
在本文中我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息包括下载链接可以访问 - [http://blog.linuxmint.com/?p=2626][2]
在本文中我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息包括下载链接可以访问 - http://linux.cn/article-3260-1.html
下载适合你系统的正确的iso烧录成dvd或者也可以制作成usb启动盘来启动。安装完毕,是时候来使用一些优化工具和基本应用程序来优化系统性能和体验,让你系统激情澎湃吧!
下载适合你系统的正确的iso烧录成dvd或者也可以制作成usb启动盘来启动。安装完毕是时候来使用一些优化工具和基本应用程序来优化系统性能和体验让你系统激情澎湃吧
### 1. 更新系统 ###
@ -34,6 +34,7 @@ Chronium浏览器可以在仓库中获取。
$ sudo apt-get install chromium-browser
至于Google Chrome请访问google.com/chrome下载deb包并使用gdebi来安装。
# 64 位
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo gdebi google-chrome-stable_current_amd64.deb
@ -46,7 +47,7 @@ Chronium浏览器可以在仓库中获取。
Mint上默认安装adobe flash插件包adobe-flashplugin因此你可以在Firefox中畅玩flash游戏也可以尽情享受网页版视频了。
Google Chrome现在使用了基于flash player的Pepper API而且该插件也内建于Chrome中因此你也不需要为它做任何事情了。
Google Chrome现在使用了基于flash player的Pepper API而且该插件也内建于Chrome中因此你也不需要为它额外做任何事情了。
然而对于Chronium基于flash player的Pepper没有被囊括进来因为它不是个自由组件所以你需要手动安装了。
@ -71,11 +72,11 @@ Google Chrome现在使用了基于flash player的Pepper API而且该插件也
### 6. 安装专有驱动 ###
如果你有一张英伟达或者ati的图形卡或者broadcom的无线网卡那么请安装厂商提供的专有驱动这些驱动会为你带来最佳的硬件性能。
如果你有一张Nvidia或者ati的图形卡或者broadcom的无线网卡那么请安装厂商提供的专有驱动这些驱动会为你带来最佳的硬件性能。
要安装英伟达驱动,你可以参照先前的这篇文章
要安装Nvidia驱动,你可以参照先前的这篇文章
如何在Linux Mint上安装最新的Nvidia驱动
[如何在Linux Mint上安装最新的Nvidia驱动][3]
### 7. 安装Dropbox ###
@ -83,7 +84,7 @@ Linux mint仓库已经提供了dropbox的客户端软件包所以你不必满
$ sudo apt-get install dropbox python-gpgme
如果你还是比较喜欢从官方网站下载,那么出门可直达[https://www.dropbox.com/install?os=lnx][4]请遵照说明下载用于Ubuntu的deb安装包。
如果你还是比较喜欢从官方网站下载,那么翻墙可直达[https://www.dropbox.com/install?os=lnx][4]请遵照说明下载用于Ubuntu的deb安装包。LCTT译注墙内用户还是忽视此条吧。
Copy是另外一个云存储解决方案它也有本地Linux客户端。详情可查阅[copy.com][5],它也有[ppa仓库][6]。
@ -95,7 +96,7 @@ Skype可以在Ubuntu canonical合作仓库中找到。
### 9. 安装rar和其它归档工具 ###
要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档请安装rar工具。安装rar的同时安装其它几个包以增加对其它归档格式的支持。
要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档请安装rar工具。安装rar的同时也可安装其它几个包以增加对其它归档格式的支持。
$ sudo apt-get install unace p7zip-rar sharutils rar arj lunzip lzip
@ -109,15 +110,13 @@ Diodon在cinnamon桌面上似乎存在一些问题在历史列表增长时会
# 或者
$ sudo apt-get install clipit
然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登时启动。
然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登时启动。
### 11. 优化桌面 ###
#### 1. 修复系统托盘上的日期格式 ####
在底部面板右边的时间小程序只显示了时间,它也可以设置显示日期。右击底部面板右边的日期-时间小程序,然后点击配置
Check the box labelled "Use a custom date format" and fill in
选中标有“使用自定义日期格式”的选框,然后填入
在底部面板右边的时间小程序只显示了时间,它也可以设置显示日期。右击底部面板右边的日期-时间小程序,然后点击配置,选中标有“使用自定义日期格式”的选框,然后填入
%B %e, %I:%M %p
@ -133,12 +132,11 @@ Check the box labelled "Use a custom date format" and fill in
你也许注意到Firefox默认选择了Yahoo搜索引擎而搜索引擎列表中并没有Google。点击“管理搜索引擎” > 获取更多搜索引擎,它会带你去[http://www.linuxmint.com/searchengines.php][7]。
向下拉动滚动条到商业搜索引擎部分找到并点击Google图标。进入下一页后再次点击搜索引擎列表而这次你会看到“添加Google”选项点击它就可以用上Google搜索了。
向下拉动滚动条到商业搜索引擎部分找到并点击Google图标。进入下一页后再次点击搜索引擎列表而这次你会看到“添加Google”选项点击它就可以用上Google搜索了。LCTT译注墙内用户也请忽略此条。怒
### 12. 优化字体渲染 ###
Linux mint默认使用Dejavu Sans字体它看起来真普通啊。你可以使用Droid和Noto字体获得好看得多视觉享受。请参照我们先前的教程它会一步一步带你渐入佳境。
[如何在Linux Mint上获得华丽好看的字体][8]
Linux mint默认使用Dejavu Sans字体它看起来真普通啊。你可以使用Droid和Noto字体获得好看得多视觉享受。请参照我们先前的教程它会一步一步带你渐入佳境。[如何在Linux Mint上获得华丽好看的字体][8]
### 13. Guake下拉终端 ###
@ -172,7 +170,7 @@ Linux Mint自带了Transmission这是个简洁而高效的torrent客户端。
### 16. Hardinfo - 系统信息工具 ###
Hardinfo是一个十分便利的gui工具它可以用来报告大量完整的系统硬件信息。你可以通过它来集中查看处理器、内存、存储设备、网络配置、打印机、usb设备、声音/视频适配器等等信息。它具有测试和评估系统性能的功能。
Hardinfo是一个十分便利的GUI工具它可以用来报告大量完整的系统硬件信息。你可以通过它来集中查看处理器、内存、存储设备、网络配置、打印机、usb设备、声音/视频适配器等等信息。它具有测试和评估系统性能的功能。
$ sudo apt-get install hardinfo
@ -236,31 +234,33 @@ Linux确实有一些酷爽的游戏很具娱乐性而且是免费的。注
#### 为Google Chrome/Chronium提供Java小程序支持 ####
默认情况下已经安装了"icedtea-plugin"用以为firefox提供java小程序支持。
然而Chrome和Chronium却不再支持基于NPAPI的插件。因此java小程序在没有获得基于Pepper api的java插件前java小程序是不能在这些浏览器中工作的。要查看更多信息请往[这里][9]。
#### 更多应用程序 ####
如果你正在为你的Mint盒子寻找更多的应用程序那么这里列出了一部分更好的应用程序所有这些都可以在软件管理器中安装。
Opera - 网页浏览器
Gnome Encfs Manager - 管理使用Encfs加密的文件和文件夹
Smplayer - 多媒体播放器
Rhythmbox, Clementine - 音乐播放器
Openshot, Kdenlive - 视频编辑器
Audacity - 音频编辑器
Inkscape - 图形和图像编辑
Gparted - 分区编辑器
Gufw - 防火墙配置工具
qBittorrent, Vuze - Torrent客户端
Gwenview - 图像浏览
Team viewer - 远程桌面
Tv-maxe - 查看电视频道
Grub Customizer - 修改GRUB启动菜单设置
Linrunner TLP - 电源管理工具,对笔记本节电很有用
Virtualbox - 虚拟化
Kazam, recordMyDesktop - 桌面录像/演示
Bleachbit - 通过删除旧的/临时文件释放磁盘空间
Cheese - 使用网络摄像头拍照
Shutter - 带有众多功能的屏幕截图工具
* Opera - 网页浏览器
* Gnome Encfs Manager - 管理使用Encfs加密的文件和文件夹
* Smplayer - 多媒体播放器
* Rhythmbox, Clementine - 音乐播放器
* Openshot, Kdenlive - 视频编辑器
* Audacity - 音频编辑器
* Inkscape - 图形和图像编辑
* Gparted - 分区编辑器
* Gufw - 防火墙配置工具
* qBittorrent, Vuze - Torrent客户端
* Gwenview - 图像浏览
* Team viewer - 远程桌面
* Tv-maxe - 查看电视频道
* Grub Customizer - 修改GRUB启动菜单设置
* Linrunner TLP - 电源管理工具,对笔记本节电很有用
* Virtualbox - 虚拟化
* Kazam, recordMyDesktop - 桌面录像/演示
* Bleachbit - 通过删除旧的/临时文件释放磁盘空间
* Cheese - 使用网络摄像头拍照
* Shutter - 带有众多功能的屏幕截图工具
那么请选择你喜欢的那些并尽情享受Linux Mint吧
@ -279,7 +279,7 @@ Linux Mint论坛
via: http://www.binarytides.com/better-linux-mint-17-cinnamon/
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,4 +1,4 @@
如何清除 Linux/Unix DNS缓存
如何在 Linux/Unix/Mac 下清除 DNS 查询缓存
================================================================================
![](http://figs.cyberciti.biz/3rdparty/configure.png)
@ -9,8 +9,7 @@
### 如何: 清除 nscd dns 缓存 ###
Nscd caches libc-issued requests to the Name Service. If retrieving NSS data is fairly expensive, nscd is able to speed up consecutive access to the same data dramatically and increase overall system performance. Just restart nscd:
Nscd缓存libc发给名称服务的请求。如果检索NSS数据是很昂贵的那么nscd能够显著加快连续访问同一数据并提高整个系统的性能。只需重启nscd
Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢那么nscd能够显著加快连续访问同一数据的速度并能提高整个系统的性能。只需重启nscd即可刷新缓存
$ sudo /etc/init.d/nscd restart
@ -22,11 +21,11 @@ Nscd缓存libc发给名称服务的请求。如果检索NSS数据是很昂贵的
# service nscd reload
这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf决定了高速缓存守护进程的行为。
这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf决定了高速缓存守护进程的行为。
### 清除 dnsmasq dns 缓存 ###
[dnsmasq的是一个轻量级的DNS][2]TFTP和DHCP服务器。它的目的是给局域网提供耦合的DNS和DHCP服务。 dnsmasq的接受DNS查询并从本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也安装了很多便宜的路由器来缓存DNS查询。只需启动dnsmasq的服务来清除DNS缓存
[dnsmasq的是一个轻量级的DNS][2]、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存
$ sudo /etc/init.d/dnsmasq restart
@ -36,8 +35,7 @@ Nscd缓存libc发给名称服务的请求。如果检索NSS数据是很昂贵的
### 清除BIND缓存服务器的dns缓存 ###
A caching BIND server obtains information from another server (a Zone Master) in response to a host query and then saves (caches) the data locally. All you have to do is restart bind to clear its cache:
一台BIND缓存服务器从另一台服务器区域主响应主机的查询而获得信息然后保存缓存)数据到本地。您所要做的就是重新绑定以清除其缓存:
一台BIND缓存服务器从另一台服务器区域主响应主机的查询而获得信息然后保存缓存)数据到本地。您所要做的就是重启BIND以清除其缓存
# /etc/init.d/named restart
@ -49,18 +47,18 @@ A caching BIND server obtains information from another server (a Zone Master) in
# rndc exec
flushname命令刷新所有的连接到一个特定的域名的记录。本例中刷新cyberciti.biz相关域的所有记录
BIND v9.3.0 及其以上版本支持一个清除一个特定域名的所有记录缓存的命令rndc flushname。本例中刷新cyberciti.biz相关域的所有记录
# rndc flushname cyberciti.biz
它同样也可以用来清除BIND View.比如,LAN和WAN的View可以用下面的命令清除:
同样也可以清除BIND View。比如LAN和WAN的View可以用下面的命令清除:
# rndc flush lan
# rndc flush wan
### Mac OS X Unix 用户提示 ###
### Mac OS X Unix 用户提示 ###
使用root用户输入下面的命令:
Mac下用root用户输入下面的命令:
# dscacheutil -flushcache
@ -68,13 +66,13 @@ flushname命令刷新所有的连接到一个特定的域名的记录。本例
$ sudo dscacheutil -flushcache
如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:
如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:
lookupd -flushcache
### /etc/hosts 文件的一个提示 ###
### 关于 /etc/hosts 文件的一个提示 ###
/etc/hosts作为一个静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它:
/etc/hosts作静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它:
# vi /etc/hosts
@ -98,7 +96,7 @@ flushname命令刷新所有的连接到一个特定的域名的记录。本例
172.168.232.51 nfs2.nixcraft.net.in nfs2
192.168.1.101 vm01
### 再看这里: ###
### 参考 ###
相关: 在Windows Vista / XP中用ipconfig 命令[清除 DNS 缓存][3]
@ -106,7 +104,7 @@ flushname命令刷新所有的连接到一个特定的域名的记录。本例
via: http://www.cyberciti.biz/faq/rhel-debian-ubuntu-flush-clear-dns-cache/
译者:[geekpi](https://github.com/译者ID) 校对:[geekpi](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,86 @@
到底开发者需要掌握多少门语言?
================================================================================
![](http://a2.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIyNzYyNjIwNDU2Njk4NDcw.jpg)
> 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言开发者们被迫只有适应。
前不久的世界开发者大会上Apple公布了它的新开发语言[Swift][1]。这是最近大型技术公司们开发的一大波新语言中的最新成员,这些新语言某种程度上都是专门应用于他们自己的平台。
对iOS开发者Apple有Swift而[Facebook 有 Hack][2] —— 一门用于后端开发的语言。与此同时Google已经拥有了它自己的Javascript替代者 Dart以及一门新的通用编程语言Go。
这一波又一波的新语言,给开发者们带来了许多问题。也许其中最严重的问题正如我一位同事[Adriana Lee][3]在Apple发布Swift后所说
> (开发者们到底还得学习多少门语言?)
> ——Adriana Lee (@adra_la) [June 2, 2014][4]
### 计算机语言的通天塔 ###
目前已经存在的[编程语言有数百种][5],同时还有更多的语言正在涌现。其中许多都是被设计用在相对较窄的应用程序范围内,大多数甚至从未走出过项目小组的范围。
与此类似,大技术公司开发的新语言其实也是伴随着公司一起成长的。[通用语言的鼻祖C语言][6]就源于上世纪70年代初的AT&T贝尔实验室。Java目前作为Android app开发的主要语言诞生于上世纪90年代[Sun公司的Microsystems系统][7]。
发展到现在,不同之处在于,公司们拥抱新语言、从而想要延伸的特定商业目标的范围不一样了 —— 这一过程同时建立了一个忠心耿耿的开发者基础他们被牢牢锁定在了某个公司的特定平台上。这类一石二鸟的战略最早可以追溯到Sun对Java的采用当时公司就将其作为了挑战微软PC桌面统治地位的一种手段。事情虽然没有像Sun计划的那样发展下去但在Google转向Android之前Java大体上也算是在企业中间件系统中找到了自己的一席之地。
这么看来Apple的Swift其目标也就很明确了。Swift应该不会辜负公司前期的大肆宣传通过磨平Objective-C那粗糙的毛边看起来它能够成功简化iOS app开发者的开发过程。但是同样还是这些开发者他们却需要学习一门新语言的输入和输出而这些功能很可能在其他地方都不会用到。
### 大公司们为什么要重复造轮子 ###
“不要重复造轮子”这一哲学在绝大多数开发者心中根深蒂固,大公司们对此却并不买账。那他们为何不只是修改下现有语言用于新的用途呢?
答案很简单公司们发明他们自己的语言是因为他们有这个能力。设计一门新语言可能很复杂但对资源要求却并不很高。困难之处也就在对其提供支持包括提供软件资源共享代码库、API、编译器、文档等以及赢得开发者的心意。大公司们在这两方面尤其擅长。
还有一个事实,现有语言通常很难硬塞进如今的复杂代码框架中。举个栗子,[Facebook决定发明的Hack][8]就是一个普遍适用于Web开发的[脚本语言PHP][9]的超集合superset
Facebook的Hack最近已经比较普遍其主要目标就是改进代码的稳定性针对这一目的它强制在程序运行之前对数据类型进行检测。这样的检测确保了一个程序比方说不会将一个整数解析为一个字符串这样的错误如果捕获不到很可能会导致不可预知的后果。在Hack中这些检测会预先执行以便程序员能够在程序上线前早早发现这样的错误。
据Facebook的Hack项目组核心成员Julien Verlaguet透露公司之前尝试过用一门现有语言实现更高效的编程。但是Facebook的大部分代码都是由PHP编写的公司实际上已经建立了一个支持PHP及其分支的软件架构。即使能够让PHP同其他语言编写的代码协同工作实现的难易程度和运行速度都无法满足要求。
“比如说我们尝试用Scala重写PHP代码库”Verlaguet说。“Scala是一门设计优秀的漂亮语言但是它与PHP完全不兼容。每次我需要从Scala的代码库部分调用PHP的时候都会损失性能。我们很愿意使用一门现有语言但是对于我们来说这条路行不通。”
于是Facebook发明了Hack它与PHP一样能够共用公司现有的架构。Verlaguet介绍说Facebook的代码库主体已经从PHP迁移到了Hack同时公司将Hack开源希望独立开发者们能够帮公司找到Facebook以外的用途。
“你仍然可以使用PHP”他说“但是我们希望你有使用Hack的欲望。”
### 谁说了算 ###
公司和开发者之间有一种微妙的平衡。公司可以按照自己的喜好发明语言。但是如果开发者都不愿使用这门语言,那就没人用了,公司以外的人也就没人愿意将自己的职业生涯托付给这家公司。
公司在开发过程中同时使用不同的语言这并不少见。例如你可能用Objective-C开发iOS app但却用Java开发Android app。对开发者来说这从来都不是症结所在因为Objective-C和Java都是通用面向对象语言。它们用途广泛适用于很多场合。
然而Hack、Dart、Go和Swift到目前为止仍然只适用于严格特定公司的编程解决方案往往和公司选择的编程环境相对应。诚然现在下结论可能还太早。比方说Hack就可以用在一些后端的实现中它只是太新了以至于Facebook还没有任何数据供人们如此使用。
不是开发者不能学习多门语言。事实上大多数人已经掌握了多门语言。这好比罗曼斯语由拉丁语演变而成的语言如果你会说西班牙语再去学法语就比那些不会西班牙语的人简单许多。与此类似如果你已经会Java再学Ruby或Perl就简单得多。如果你会PHP基本上就已经学会了Hack。
与此相反学习多门语言更多的是一个习惯问题。如果Java已经解决了你的问题你就不再有动机去学Ruby。如果你用Objective-C编写iOS app感觉很爽你就不会有强烈的意愿去学Swift。
另外对于一些开发者来说封闭生态系统的语言只会使每个人的生活变得更糟。例如自由设计师Jack Watson-Hamblin就告诉我说像Apple这样强势推出Swift其实是在冒险增加程序员的负担同时将开发者社区割裂开来
> 程序员掌握多门语言固然重要但是不断强迫他们紧跟新语言却是行不通的。如果我正在开发一个简单的跨平台app我可不想被迫掌握四门语言再来完成它。如果真的需要我也只想使用一门语言。
Watson-Hamblin就主张说当每家公司都为了自家需要发明自己的语言时程序员的注意力被分散开发的视野也局限于一种这只会拖慢整个开发进程。他说“如果拿公司负责一门语言与负责一个开源社区相比较这两者的区别就好比一家大企业与一个初创小公司的区别”。社区生来就更加灵活适应能力更强。
当然Apple有[许多非常好的理由推出Swift从零开始][10]就像当初Facebook发明Hack的时候一样。我并不是说大公司不会强迫开发者接受这种改变在这方面有些公司一直都很让人讨厌。
“新语言的发明伴随着霸权的支配”Verlaguet说“被迫不停追赶确实令人沮丧但另一方面你又多了一种解决问题的新语言。反过来想想要是全世界的程序员都用同样一门语言做所有事情即使啥都凑合着能干这门语言也一定干得不怎么样”。
题图来自于[Flickr user Ruiwen Chua][11]CC 2.0
--------------------------------------------------------------------------------
via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart
译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://developer.apple.com/swift/
[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ
[4]:https://twitter.com/adra_la/statuses/473537386266112000
[5]:http://en.wikipedia.org/wiki/List_of_programming_languages
[6]:http://en.wikipedia.org/wiki/C_(programming_language)
[7]:http://en.wikipedia.org/wiki/Java_(programming_language)
[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack
[9]:http://en.wikipedia.org/wiki/PHP
[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA
[11]:https://www.flickr.com/photos/ruiwen/3260095534

View File

@ -0,0 +1,188 @@
已经会用Git了不会这十招怎么行
================================================================================
之前我们发了一些教程让你熟悉[Git基础][1]和[在团队合作环境中使用Git][2].我们讨论的这些Git命令足够让一个开发者在Git的世界里生存下去。在这篇教程里我们试着探索如何高效地管理你的时间以及如何充分利用Git提供的特性。
> 注意:这里介绍的命令中有的包含方括号(例如:`git add -p [file_name]`)。在这些例子中,你应该用你自己的数字、标识符等替代方括号里的内容,并且去掉方括号。
### 1. Git自动补全 ###
如果你在命令行环境中运行Git命令每次都手动地逐个输入命令是一件很无聊的事。为此你可以花几分钟时间配置一下Git命令的自动补全功能。
在*nix系统运行下列命令下载自动补全脚本
cd ~
curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
然后,添加下面的行到你的~/.bash_profile文件
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
尽管我之前已经提到过但我还是想再强调一下如果你想使用完整的Git特性你绝bi应该切换到命令行环境。
### 2. 在Git中忽略文件 ###
你是不是对出现在你Git库里面的编译生成文件比如`.pyc`)感到很无语或者你是不是很厌恶不小心将他们添加到了Git直接看这里这里有一个方法可以让你告诉Git忽略所有这些文件和目录。只需要创建一个名字为`.gitignore`的文件里面列出你不想要Git跟踪的文件和目录。可以用感叹号(!)列出例外情况。
*.pyc
*.exe
my_db_config/
!main.pyc
### 3. 谁动了我的代码? ###
当事情出了乱子时立马责怪别人这是人类的天性。如果你的服务器程序不能正常工作了,要找出罪魁祸首是非常简单的--只需要执行`git blame`。这个命令告诉你文件里的每一行的作者是谁,最后改动那一行的提交,以及提交的时间戳。
git blame [file_name]
![git blame demonstration](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946443git-ninja-01.png)
在下面的截图里,你可以看到在一个更大的库里这个命令的输出是什么样的:
![git blame on the ATutor repository](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946441git-ninja-02.png)
### 4. 查看库的历史 ###
在之前的教程里,我们已经看过了如何使用`git log`命令。不管怎样有3个选项你应该知道。
- **--oneline** - 压缩每次的提交信息只保留一个缩减的Hash值和说明文字然后把这些都展示在一行里。
- **--graph** - 这个选项将在左边画出一个文字界面的提交历史图。如果你只有一个分支,用这个选项查看历史时是没什么意义的。
- **--all** - 显示所有分支历史。
这是这3个选项合起来使用的效果
![Use of git log with all, graph and oneline](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946444git-ninja-03.png)
### 5. 不要丢失对某个提交的跟踪 ###
假设你提交了一些不需要的东西然后你进行了hard重置回到之前的状态。后来你发现在这个过程中你丢失了其他一些重要的信息你想要把这些信息找回来或者至少可以查看一下这些信息。这就需要`git reflog`帮忙。
简单的`git log`只能告诉你最近的提交,这个提交的父提交,父提交的父提交,等等。但是`git reflog`是一个HEAD指向的提交的列表。记住这个列表依赖于你自己的本地操作环境它不是库的一部分也不包含在push或者merge中。
如果执行`git log`命令,可以看到提交历史,这是我的库的一部分:
![Project history](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946446git-ninja-04.png)
但是,`git reflog`命令显示了一个被我用hard重置丢掉的提交(`b1b0ee9`-`HEAD@{4}`).
![Git reflog](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946447git-ninja-05.png)
### 6. 暂存文件的一部分更改以便进行一次提交 ###
通常依据特性来提交是一个好的实践方法意思是说每一个提交都只添加一个特性或者修复一个bug。想一下如果你一次修复了两个bug或者添加了两个特性但是都还没有逐个提交该怎么办。这种场景下你可以将他们一起提交。但是有一个更好的办法单独暂存这些文件然后分开提交。
让我们假设你对一个文件做了多个更改,然后想让这些更改分开提交。这时,我们用带`-p`的添加命令。
git add -p [file_name]
我们来试试这种用法。我添加了3个新行到`file_name`但是我只想让第1行和第3行出现在我的提交里。让我们看看`git diff`的输出是什么样的。
![Changes in repo](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946449git-ninja-06.png)
然后,我们看看带`-p`选项的`add`命令会发生什么。
![Running add with -p](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946450git-ninja-07.png)
看起来Git认为所有的更改都是同一个目的的一部分所以把他们分组到同一个块里。这时你可以
- 输入 y 暂存块
- 输入 n 不暂存块
- 输入 e 手动编辑块
- 输入 d 退出或者跳转到下一个文件
- 输入 s 分割块
在我们这个例子中,我们想把这个块分割成更小的部分,然后选择其中一些忽略另外一些。
![Adding all hunks](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946452git-ninja-08.png)
如你所见我们已经逐个添加了第1和第3行忽略了第2行。你可以看到库的状态并且进行一次提交。
![Repository after selectively adding a file](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946454git-ninja-09.png)
### 7. 合并多个提交 ###
为了进行核查或者发起一个合并请求这经常发生在开源项目里对代码进行了修改提交。但在最后代码被接受之前你也许会需要修改你的代码。于是你修改代码但是下一次核查的时候又一次需要进行修改。不知不觉中你就已经有了好几个提交。理论上你应该用rebase命令把他们合并起来。
git rebase -i HEAD~[number_of_commits]
如果你想合并最后的两次提交,你应该运行下面的命令。
git rebase -i HEAD~2
一旦你运行这个命令,你将进入一个交互式界面,它将询问你想要合并哪些提交。你`pick`(拣选)最近的提交然后`squash`(合并)旧的提交。
![Git squash interactive](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946455git-ninja-10.png)
接着你应该提供一个对新提交的说明。这个过程会重写你的提交历史。
![Adding a commit message](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946457git-ninja-11.png)
### 8. 储藏没有提交的更改 ###
假设你正在修复一个bug或者添加一个特性突然你被要求展示一下你的工作成果。你现在的工作还没有完成不够进行一次提交。这时`git stash`命令可以用来急救一下。Stash命令跟踪你所有的更改然后把他们储藏起来以便以后使用。命令如下-
git stash
可以多次储藏更改,查看储藏列表,你可以运行下面的命令:
git stash list
![Stash list](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946458git-ninja-12.png)
如果你想取消储藏,覆盖当前的更改,你可以通过下面的命令使用储藏:
git stash apply
在最后的这个截图里你可以看到每个储藏都有一个标识符是一个唯一的数字尽管在这里我们只有一个储藏。如果你想使用某个储藏你在apply命令后面加上这个唯一的标识符
git stash apply stash@{2}
![After un-stashing changes](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946461git-ninja-13.png)
### 9. 检查丢失的提交 ###
尽管`reflog`是一种检查丢失提交的方法,大型的库里却不太实用。这个时候,应该用`fsck`(文件系统检查)命令。
git fsck --lost-found
![Git fsck results](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946463git-ninja-14.png)
这里你可以看到一个丢失的提交。你可以通过`git show [commit_hash]` 查看提交的更改或者通过运行`git merge [commit_hash]`命令进行恢复。
`git fsck`跟`reflog`命令相比有一个优点。假设你删除了一个远程分支然后clone了这个库。用`fsck`命令你可以找到并且恢复这个删除的远程分支。
### 10. 最佳选择 ###
之前我已经存记下了那些最优雅的Git命令。但是目前为止`cherry-pick`命令是我最喜欢的Git命令因为它直白的名字和实用的功能
最简单的情况下,`cherry-pick`从另一个分支里选出单独的一个提交然后合并到当前分支。如果你正并行工作在两个或者更多的分支上你也许会发现一个存在于所有分支上的bug。如果你解决了一个分支上的这个bug你可以拣选这个对应的提交应用到其他分支上而不会弄乱其他文件或者提交。
让我们来考虑一个可以使用这个命令的场景。我有两个分支,我想拣选`b20fd14: Cleaned junk`这个提交到另一个分支上。
![Before cherry pick](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946465git-ninja-15.png)
我切换到想要应用这个拣选出来的提交的分支,然后运行下面的命令:
git cherry-pick [commit_hash]
![After cherry pick](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946467git-ninja-16.png)
尽管这次我们很干净的用了`cherry-pick`命令,但你应该知道这个命令经常会引起冲突,所以请小心使用。
### 总结 ###
到了这里我们结束了这个能使你Git能力提升一个级别的列表。Git是最好的版本控制器它能完成你能想象到的任何事情。所以经常试着用Git挑战你自己。一不小心你就会学到很多新东西。
--------------------------------------------------------------------------------
via: http://www.sitepoint.com/10-tips-git-next-level/
译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.sitepoint.com/git-for-beginners/
[2]:http://www.sitepoint.com/getting-started-git-team-environment/

View File

@ -0,0 +1,97 @@
Linux 目录导航技巧
================================================================================
目录当行是命令行系统的基础概念.虽然不是什么难以理解的东西,但是知道一些技巧能够丰富你的经验并且提高工作效率.在这篇文章中,我们会讨论这些小技巧。
### 我们已经知道的东西 ###
在开始高级技巧之前,有一些必须知道的基本命令:
- pwd显示当前目录
- cd 改变当前目录
- cd 跟两个点(cd ..)能返回父目录
- cd 跟着相对目录就能直接切换当相对目录下
- cd 跟着绝对目录就能切换到绝对目录下
### 高阶技巧 ###
这节将介绍几个技巧方便你进行目录的切换
### 从任何地方回到home目录 ###
虽然使用cd /home/<你的主目录>, 不是什么大麻烦, 但是有一种方法直接打cd 就能回到你的主目录.
例子:
$ pwd
/usr/include/netipx
$ cd
$ pwd
/home/himanshu
所以无论你在哪个目录下都能这么干然后回到home目录。
**注意**- 如果要切换到某个其它的指定用户的目录下, 就使用 cd ~user_name'
### 用cd - 在目录间切换 ###
假设你的当前工作目录是这样的:
$ pwd
/home/himanshu/practice
如果你想切换到 **/usr/bin/X11** 然后又想回到之前的目录。 你会怎么做? 最直接的 :
$ cd /usr/bin/X11
$ cd /home/himanshu/practice/
虽然这样行得通,但是要记住这些复杂的目录就太笨了。这种情况下使用 cd - 命令就行.
使用 cd -’的第一步和上面的例子是一样的, 你可以 cd 到你想要切换到的<路径>下,但是回到之前的目录用 cd -’就可以。
$ cd /usr/bin/X11
$ cd -
/home/himanshu/practice
$ pwd
/home/himanshu/practice
如果你想再次回到刚刚访问的目录(在这个例子中是/usr/bin/X11),再使用'cd -'就可以。但是这个命令只会记住上一次访问的目录,这是一个缺点。
### 用 pushd 和 popd 来切换目录 ###
![directory navigation](http://linoxide.com/wp-content/uploads/2014/06/pushd-popd.jpg)
如果你对'cd -'非常了解了的话你会发现这个命令只能帮助你在两个目录之间移动但是很多场景下需要在很多目录之间切换。比如你要从A切换到B再到C然后又想回到A。
一般来说你需要打出A的完整路径但是如果这个路径非常复杂将是非常烦人的一件事特别是在你的切换非常频繁的话。
一些场景下可以使用 pushd 还有 popd 命令。 pushd 将一个目录存到内存中,popd 将目录从内存中去除,并且转换到那个目录下。
例如:
$ pushd .
/usr/include/netipx /usr/include/netipx
$ cd /etc/hp/
$ cd /home/himanshu/practice/
$ cd /media/
$ popd
/usr/include/netipx
$ pwd
/usr/include/netipx
使用pushd 命令存储当前的工作目录 (用 .表示) 然后切换到各种各样的目录去。为了返回之前的目录,只要使用 popd命令就行了。
LCTT译注显然pushd和popd 是堆栈式操作你可以push多个目录然后逐一pop出来自己试试吧。
LCTT译注我们之前介绍的[autojump][1],更加智能,不过需要安装一下。)
**注意**- 你也可以使用不带参数的 pushd 来切换到之前存储的目录, 但是不会像 popd 一样去除这个目录。
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/directory-navigations-tips-tricks/
译者:[ggaaooppeenngg](https://github.com/ggaaooppeenngg) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://linux.cn/article-3401-1.html

Some files were not shown because too many files have changed in this diff Show More