mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-13 22:30:37 +08:00
Merge branch 'LCTT/master'
This commit is contained in:
commit
c3eb4f9e7a
@ -23,7 +23,7 @@ Linux有问必答:如何检查Linux系统的最后重启时间
|
||||
|
||||
### 方法三 ###
|
||||
|
||||
你同样可以使用uptime命令来推断系统最后的启动时间。uptime命令会显示当前的时间,同样也会显示系统已经运行的时间。从这些信息中,你就可以计算系统最后启动的时间了
|
||||
你同样可以使用uptime命令来推断系统最后的启动时间。uptime命令会显示当前的时间,同样也会显示系统已经运行的时间。从这些信息中,你就可以计算系统最后启动的时间了
|
||||
|
||||
$ uptime
|
||||
|
@ -0,0 +1,290 @@
|
||||
真的超赞!用systemd命令来管理linux系统!
|
||||
================================================================================
|
||||
|
||||
Systemd是一种新的linux系统服务管理器。
|
||||
|
||||
它替换了init系统,能够管理系统的启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在本文中,我们用的是[安装有 systemd 216 版本的centos 7.0][1],其最新版本[可以从 freedesktop.org 下载得到][2]。
|
||||
|
||||
因为linux操作系统里出现的这一个新人,PID 1被“systemd”占据了,这能通过**pstree**命令看到。
|
||||
|
||||
[root@linoxide ~]# pstree
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/01.systemd_pstree.png)
|
||||
|
||||
那么现在让我们来探索systemd擅长什么,它又有多大的可能性成为sysVinit的新的替代品。
|
||||
|
||||
### 1. 更快启动 ###
|
||||
|
||||
sysvinit一次一个串行地启动进程。
|
||||
|
||||
而Systemd则并行地启动系统服务进程,并且最初仅启动确实被依赖的那些服务,极大地减少了系统引导的时间。
|
||||
|
||||
你可以用下面的命令看到系统引导用时:
|
||||
|
||||
[root@linoxide ~]# systemd-analyze
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/02.systemd_analyze.png)
|
||||
|
||||
使用 **time** 参数也能够显示同样的内容。
|
||||
|
||||
[root@linoxide ~]# systemd-analyze time
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/03.systemd_analyze2.png)
|
||||
|
||||
如果你想以进程初始化所占用时间排序打印出所有正在运行的单元列表,那么**systemd-analyze**命令可以帮助你完成这个任务。
|
||||
|
||||
[root@linoxide ~]# systemd-analyze blame
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/04.systemd_blame.png)
|
||||
|
||||
上面的截屏只显示了小部分进程,你可以就像less分页器那样用箭头滚动列表。
|
||||
|
||||
### 2. systemctl 命令 ###
|
||||
|
||||
systemctl命令是自systemd出现以来被广泛讨论的命令。你可以通过这个命令管理你的整个系统,让我们通过探究这个命令来更进一步。
|
||||
|
||||
#### 2.1 列出单元 ####
|
||||
|
||||
**systemctl**命令可以带上list-units,也可以什么选项都不带来列出所有正在运行的单元。
|
||||
|
||||
[root@linoxide ~]# systemctl
|
||||
|
||||
或
|
||||
|
||||
[root@linoxide ~]# systemctl list-units
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/05.systemd_list_units.png)
|
||||
|
||||
#### 2.2 列出失败的单元 ####
|
||||
|
||||
运行失败的单元可以用带--failed选项的命令显示出来。
|
||||
|
||||
[root@linoxide ~]# systemctl --failed
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/06.systemd_failed.png)
|
||||
|
||||
你可以在这篇文章很多地方看到systemctl的用法。
|
||||
|
||||
### 3. 管理服务 ###
|
||||
|
||||
让我们来看看systemd是怎么管理系统服务的。
|
||||
|
||||
#### 3.1 激活的服务 ####
|
||||
|
||||
所有被激活的服务可以同下面这条命令来查看。
|
||||
|
||||
[root@linoxide ~]# systemctl list-units -t service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/07.systemd_active_services.png)
|
||||
|
||||
#### 3.2 服务状态 ####
|
||||
|
||||
在sysvinit中,我们可以用“**service**”命令来管理服务,但在systemd中,我们用systemctl这个命令。
|
||||
我们可以用下面这个命令来查看服务是否在运行。
|
||||
|
||||
[root@linoxide ~]# systemctl status dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/08.systemd_status.png)
|
||||
|
||||
#### 3.3 启动一个服务 ####
|
||||
|
||||
用下面这条命令来启动服务。
|
||||
|
||||
[root@linoxide ~]# systemctl start dnsmasq
|
||||
|
||||
对应于**service**命令,这个命令不进行输出。但是毋庸置疑,我们可以通过再次查看这个刚刚被启动的服务的status(状态)来确认他是否被成功地启动了。
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/09.systemd_start.png)
|
||||
|
||||
#### 3.4 停止一个服务 ####
|
||||
|
||||
现在聪明的你一定知道怎么在systemd下用命令来关闭服务了吧。
|
||||
|
||||
[root@linoxide ~]# systemctl stop dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/10.systemd_stop.png)
|
||||
|
||||
#### 3.5 重启一个服务 ####
|
||||
|
||||
类似的,重启系统服务是用‘**systemctl restart**’来管理的。
|
||||
|
||||
[root@linoxide ~]# systemctl restart dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/11.systemd_restart.png)
|
||||
|
||||
#### 3.6 重新加载一个服务 ####
|
||||
|
||||
在我们需要重新加载服务的配置文件又不想重启这个服务(例如ssh)时,我们可以用这个命令。
|
||||
|
||||
[root@linoxide ~]# systemctl reload sshd
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/12.systemd_reload.png)
|
||||
|
||||
虽然上述几个命令的语法是可以工作的,但是官方文档建议我们用下面这种语法形式来运行命令(LCTT 译注,即使用在服务名后面跟上“.service”的完整名称):
|
||||
|
||||
[root@linoxide ~]# systemctl status dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/13.systemd_alternate_syntax.png)
|
||||
|
||||
### 4. 管理引导时的服务 ###
|
||||
|
||||
**chkconfig**命令被用来管理系统引导时的服务。同样用systemd也可以管理引导时的系统服务。
|
||||
|
||||
#### 4.1 检查服务引导时是否运行 ####
|
||||
|
||||
这条命令用来确定服务是否是引导时启动的。
|
||||
|
||||
[root@linoxide ~]# systemctl is-enabled dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/14.systemd_is_enabled.png)
|
||||
|
||||
#### 4.2 让服务在引导时运行 ####
|
||||
|
||||
**systemctl**命令是这样来enable(使之在引导时启动)一个服务的。(这相当于sysvinit中的‘**chkconfig on**’)
|
||||
|
||||
[root@linoxide ~]# systemctl enable dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/15.systemd_enable.png)
|
||||
|
||||
#### 4.3 取消服务在引导时运行 ####
|
||||
|
||||
类似的,使服务不在引导时启动用这个命令。
|
||||
|
||||
[root@linoxide ~]# systemctl disable dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/16.systemd_disable.png)
|
||||
|
||||
### 5. 管理远程系统 ###
|
||||
|
||||
所有刚才提到的systemctl命令通常都能被用来管理远程主机,完成这个任务将用到**ssh**来进行通讯。你只需要像这样将远程主机和用户名添加到systemctl命令后。
|
||||
|
||||
[root@linoxide ~]# systemctl status sshd -H root@1.2.3.4
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/17.systemd_remote.png)
|
||||
|
||||
### 6. 管理目标 ###
|
||||
|
||||
Systemd有一个完成与sysVinit的runlevels相似任务的构想。
|
||||
|
||||
sysVinit的runlevels大多是以数字分级的。这里是runlevers在systemd中的对应元素。
|
||||
|
||||
> 0 runlevel0.target, poweroff.target
|
||||
>
|
||||
> 1, s, single runlevel1.target, rescue.target
|
||||
>
|
||||
> 2, 4 runlevel2.target, runlevel4.target, multi-user.target
|
||||
>
|
||||
> 3 runlevel3.target, multi-user.target
|
||||
>
|
||||
> 5 runlevel5.target, graphical.target
|
||||
>
|
||||
> 6 runlevel6.target, reboot.target
|
||||
>
|
||||
> emergency emergency.target
|
||||
|
||||
#### 6.1 改变当前目标 ####
|
||||
|
||||
当前target可以用这个命令切换。
|
||||
|
||||
[root@linoxide ~]# systemctl isolate graphical.target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/18.systemd_isolate.png)
|
||||
|
||||
#### 6.2 列出当前目标 ####
|
||||
|
||||
如果你想查看你正处于哪个target中,你需要列出相应的单元。虽然这样操作可能让你不太爽,但是这就是systemd工作的方式。
|
||||
|
||||
[root@linoxide ~]# systemctl list-units --type=target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/19.systemd_targets.png)
|
||||
|
||||
你可以看到“graphical.target”列在此处,这就是我们刚才切换到的目标。现在,让我们切换runlevel到multi-user.target,然后分析下列命令的输出。
|
||||
|
||||
[root@linoxide ~]# systemctl isolate multi-user.target
|
||||
[root@linoxide ~]# systemctl list-units --type=target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/20.systemd_multi-user.png)
|
||||
|
||||
#### 6.3 列出默认目标 ####
|
||||
|
||||
用这个systemctl命令来查看默认目标。
|
||||
|
||||
[root@linoxide ~]# systemctl get-default
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/21.systemd_get_default.png)
|
||||
|
||||
#### 6.4 改变默认目标 ####
|
||||
|
||||
通过systemctl的set-default命令可以将某个目标设置成默认目标。
|
||||
|
||||
[root@linoxide ~]# systemctl set-default graphical.target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/22.systemd_set_default.png)
|
||||
|
||||
### 7. 记录 systemd 的日志 ###
|
||||
|
||||
journald是systemd独有的日志系统,替换了sysVinit中的syslog守护进程。命令**journalctl**用来读取日志。
|
||||
|
||||
[root@linoxide ~]# journalctl
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/23.systemd_logs.png)
|
||||
|
||||
#### 7.1 查看引导信息 ####
|
||||
|
||||
运行**journalctl -b**命令来查看所有引导日志。
|
||||
|
||||
[root@linoxide ~]# journalctl -b
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/24.systemd_boot.png)
|
||||
|
||||
#### 7.2 即时显示引导日志 ####
|
||||
|
||||
下面这个命令可以实时显示系统日志(类似**tail -f**)。
|
||||
|
||||
[root@linoxide ~]# journalctl -f
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/25.systemd_follow_logs.png)
|
||||
|
||||
#### 7.3 查看特定服务的日志 ####
|
||||
|
||||
你可以像这样运用**journalctl**来查看你只想看到的服务或可执行程序的日志。
|
||||
|
||||
[root@linoxide ~]# journalctl /usr/sbin/dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/26.systemd_specific.png)
|
||||
|
||||
### 8. 电源管理 ###
|
||||
|
||||
systemctl命令也可以用来关机,重启或者休眠。
|
||||
|
||||
要关机、重启、挂起和休眠,分别使用如下命令:
|
||||
|
||||
[root@linoxide ~]# systemctl poweroff
|
||||
|
||||
[root@linoxide ~]# systemctl reboot
|
||||
|
||||
[root@linoxide ~]# systemctl suspend
|
||||
|
||||
[root@linoxide ~]# systemctl hibernate
|
||||
|
||||
### 9. 又及 ###
|
||||
|
||||
**systemd**带来了一整套与操作系统交互的新途径,并且极具特色。举个栗子,你可以用hostnamectl命令来获得你的linux机器的hostname和其它有用的独特信息。
|
||||
|
||||
[root@linoxide ~]# hostnamectl
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/27.systemd_hostnamectl.png)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-systemd-commands/
|
||||
|
||||
作者:[Raghu][a]
|
||||
译者:[szrlee](https://github.com/szrlee)
|
||||
校对:[ wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/raghu/
|
||||
[1]:http://linoxide.com/linux-how-to/install-systemd-centos-redhat/
|
||||
[2]:http://www.freedesktop.org/software/systemd/
|
@ -1,4 +1,4 @@
|
||||
12张Ubuntu 14.10壁纸竞赛获奖壁纸(至今)
|
||||
12张Ubuntu 14.10壁纸竞赛(目前为止的)获奖壁纸
|
||||
================================================================================
|
||||
让我们欣赏一组你在未来几个月会看到一大堆的图片吧。是的,在[Ubuntu 14.10壁纸竞赛获奖者壁纸][1]已经公布了。
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
|
||||
### 让我们瞧瞧这几张获奖图片 ###
|
||||
|
||||
你能在下面看到目前选出的作品。重点是现在目前,比赛的组织者[**Iain Farrell所说的**][3] “…awaiting a couple from people but if they don’t come back to me we’ll have to go without!” .
|
||||
你能在下面看到目前选出的作品。需要强调的是,这是到目前为止的,如比赛的组织者[**Iain Farrell所说的**][3] :“我还在等一些回复,不过如果他们不给我回复就只能不包括他们的了!”
|
||||
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/utopic.jpg)
|
||||
|
||||
@ -68,12 +68,12 @@ via: http://www.omgubuntu.co.uk/2014/09/ubuntu-14-10-wallpaper-contest-winners
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[ZTinoZ](https://github.com/ZTinoZ)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.omgubuntu.co.uk/2014/08/ubuntu-14-10-wallpaper-contest
|
||||
[2]:http://www.omgubuntu.co.uk/2014/08/best-ubuntu-wallpaper-contest-entries-1410
|
||||
[2]:http://linux.cn/article-3745-1.html
|
||||
[3]:https://bugs.launchpad.net/ubuntu/+source/ubuntu-wallpapers/+bug/1354341/comments/2
|
||||
[4]:https://bugs.launchpad.net/ubuntu/+source/ubuntu-wallpapers/+bug/1354341/+attachment/4199899/+files/14.10%20images.zip
|
62
published/The Open Source Witch Hunts Have Returned.md
Normal file
62
published/The Open Source Witch Hunts Have Returned.md
Normal file
@ -0,0 +1,62 @@
|
||||
开源女巫狩猎归来!
|
||||
================================================================================
|
||||
![](http://readwrite.com/files/styles/1400_0/public/fields/shutterstock-open-gate.jpg)
|
||||
|
||||
> 开源软件社区已经做出了改变,就像之前的美好时光。
|
||||
|
||||
开源已经变的温和了,之前我们有过各种不同的思潮,但是最近我们对分享代码和创新却有种奇怪的迷恋。
|
||||
|
||||
幸运的是,这一系列的使用主义注定要结束了。在过去的一段时间里,我们团结在Mozilla身边支持DRM版权保护以及嘲笑Red Hat和OpenStack之间的竞争。开源社区那些年仅有的几个开源软件明星和[Open Core 这种商业模式][1]产生了冲突而被反噬了。
|
||||
|
||||
噢,怎么变成这样了!
|
||||
|
||||
|
||||
### Red Hat 退回到2003年 ###
|
||||
|
||||
Red Hat,开源软件理想主义的典范,在几周前拒绝支持它的竞争对手。Jodi Mardesich[出色的][2]揭露了真相,而Red Hat在努力辩护,这个真相就是:
|
||||
|
||||
Red Hat不想支持它的竞争对手,它的OpenStack的竞争对手也不想这样做。
|
||||
|
||||
在另外世界上这算是新闻吗?
|
||||
|
||||
### Mozilla变成了麻瓜 ###
|
||||
|
||||
Red Hat作为开源软件理想主义的典范代表很容易成为各种带颜色攻击的目标,Mozilla其实是更大的一个目标。
|
||||
|
||||
Mozilla致力于为用户服务,它最近进行了一场自我牺牲似的CEO 下台,同意加入DRM的技术,即纯Firefox浏览器源码可以使用户观看视频。
|
||||
|
||||
人们想看视频,Mozilla倾向于在它的浏览器中观看。
|
||||
|
||||
总是找到别人的思想滑坡的问题,开源软件组织[批评了][3] Mozilla,深切表达了自己对于Mozilla的失望,因为这种“为减轻市场份额的流失而妥协重要原则的决定”令人担忧。
|
||||
|
||||
但是,Mozilla为什么要做这样的傻事呢,为了用户,你懂的。
|
||||
|
||||
抛开道德说教的部分不说,[电子前沿基金会哀叹][4],“开放网络最后的抗争已经失败了”。它对Mozilla投降的做法争论道:“接受DRM会改变这个行业”!DRM的倡导者一再妥协,一个公司又一个公司(PC行业)演变成一个行业,它通过锁定装置,监视器,接受每一个人的管理建立自己的利益关系。
|
||||
|
||||
[Mitchell Bake解释道][5],Mozilla可能并没有投降:“Firefox用户会需要使用另外的浏览器来观看他们自己想看的视频,这会让人怀疑Firfox做一一个产品是否真的有用”。
|
||||
|
||||
嗯,好吧。
|
||||
|
||||
### 回到我们的思想源头 ###
|
||||
|
||||
我们或许希望其它人都按照我们的想法来,但事实上他们却有着不同的考虑。免费的软件让步给更加务实的开源软件,认为只有“不二法门”的想法也逐渐消亡了。
|
||||
|
||||
这种意识在目前还是有用的,但它并不总是方便和舒服。我崇尚开源软件的实用主义和Apache软件基金会,这样有很大的好处提醒GPL组织在意识形态上的危机感。软件自由真的很重要。
|
||||
|
||||
这么多悲观的言论,我自己也感到了恐惧,希望回到一个不断会自我鞭策的免费的开软软件的组织。这使开源软件协作变少而且更难驾驭,但是会变得更有力而且关乎未来。
|
||||
|
||||
(译者注:本文来源于一篇国外的杂文,译者和校对在翻译时感觉颇为吃力,因此肯定有大量谬误和不足,敬请大家谅解,或提出指正。虽然这篇文章说的事情已经过去了一段时间了,但是其反映的问题和潜伏的暗流也许影响更为深远。)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/05/21/open-source-witch-hunt-mozilla-openstack-redhat#feed=/hack&awesm=~oEYDhxfP0Qv5hE
|
||||
|
||||
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://en.m.wikipedia.org/wiki/Open_core
|
||||
[2]:http://readwrite.com/2014/05/16/red-hat-openstack-mirantis-rhel-support
|
||||
[3]:http://www.fsf.org/news/fsf-condemns-partnership-between-mozilla-and-adobe-to-support-digital-restrictions-management
|
||||
[4]:https://www.eff.org/deeplinks/2014/05/mozilla-and-drm
|
||||
[5]:https://blog.mozilla.org/blog/2014/05/14/drm-and-the-challenge-of-serving-users/
|
@ -0,0 +1,38 @@
|
||||
How to Go Hands On With the Utopic Unicorn – Literally!
|
||||
================================================================================
|
||||
**Looking to go hands-on with the Utopic Unicorn ahead of its release? Now you can — [literally][1]!**
|
||||
|
||||
A step-by-step guide to making your own paper Unicorn (to celebrate the upcoming release of the same name, obviously) has been posted online by Canonical. The instructions were offered as part of the company’s presence at the 2014 [deconstruct][2] event held in Brighton, UK in early September.
|
||||
|
||||
![Image: Alejandra Obregon](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/ubuntu-unicorns-750x745.jpg)
|
||||
|
||||
Image: Alejandra Obregon
|
||||
|
||||
The one-day conference for creative professionals and digital culture enthusiasts served as an ideal place for Canonical to showcase an in-progress version of the upcoming Ubuntu Phone, its design and the user interaction benefits they believe it offers.
|
||||
|
||||
Reaction was positive, they say. That will have made the prize of a brand new Ubuntu phone to the maker of the best origami unicorn all the more tempting!
|
||||
|
||||
### Download Origami Unicorn ###
|
||||
|
||||
No prizes are on offer to the rest of us attempting to fold our way to frustration, but a download of the how-to is.
|
||||
|
||||
If you have a spare five hours minutes, why not make one for fun? If you make particularly epic success/fail of it be sure to send us a pic on [Twitter][3] or [Google+][4].
|
||||
|
||||
- [Download ‘Make a Unicorn’ Instructions][5]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/09/unicorn-origami-download-pdf-ubuntu-utopic
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://design.canonical.com/2014/09/canonical-and-ubuntu-at-dconstruct/
|
||||
[2]:http://2014.dconstruct.org/
|
||||
[3]:http://twitter.com/omgubuntu
|
||||
[4]:http://plus.google.com/+omgubuntu
|
||||
[5]:http://design.canonical.com/wp-content/uploads/042_CAN_dConstruct_instructions.pdf
|
@ -1,75 +0,0 @@
|
||||
[su-kaiyao]翻译中
|
||||
|
||||
With Apple Watch Unveiled, Could an Ubuntu Smartwatch Be Next?
|
||||
================================================================================
|
||||
**Apple today confirmed its long-rumoured foray into the wearable computing market with the launch of ‘Apple Watch’.**
|
||||
|
||||
![Ubuntu Smartwatch – good idea?](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/ubuntu-galaxy-gear-smartwatch.png)
|
||||
|
||||
Ubuntu Smartwatch – good idea?
|
||||
|
||||
Backed by a robust set of features, hardware solutions and app partnerships, the wrist mounted device is being heralded by the company as “a new chapter in the relationship people have with technology.”
|
||||
|
||||
But does its arrival, and the uptick in consumer interest it will likely bring, mean Ubuntu should follow with a version of Ubuntu for smartwatches?
|
||||
|
||||
### Big Hand Is On Success ###
|
||||
|
||||
Apple joins the fast growing smart-watch sector at just about the right time. The boundaries of what a wrist-mounted computer can and should do are not yet set in stone. Bad design, poor user interfaces, and weak arguments for the usefulness of wearable technology to mainstream users has seen the hardware category remains sufficiently impressionable — a factor that has allowed Cupertino to take its time with the Apple Watch.
|
||||
|
||||
> ‘More than 22 million smartwatches will be sold this year, say analysts’
|
||||
|
||||
Sales of wearables, including fitness trackers, last year were just shy of 10 million units worldwide. This year the number of devices analysts expect to see shifted will pass 22 million — and that’s without the Apple Watch, which doesn’t hit retail until early 2015.
|
||||
|
||||
It’s easy to see where the growth is going to come from. The IFA 2014 tradeshow held in Berlin at the start of September played host to a swathe of new wearables from major OEMs, including Sony and ASUS. Most are running Google’s newly released Android Wear platform.
|
||||
|
||||
A more mature offering, Android Wear debunks the novelty argument often associated with the form factor to present a consistent and convincing user scenario. Though, as with the new Apple Watch, it is one tightly hinging on an existing smartphone ecosystem.
|
||||
|
||||
Whether it’s a use case a wrist-mounted version Ubuntu can match isn’t (yet) clear.
|
||||
|
||||
#### ‘No Plans for an Ubuntu Smartwatch’ ####
|
||||
|
||||
The versatility of the Ubuntu OS combined with the stringent vision for a multi-device and convergent future has already seen Canonical target smart TVs, tablets and smartphones. Mir, the company’s homegrown display server, was even created to power interfaces on screens of all sizes (though admittedly not 1.5″ ones!).
|
||||
|
||||
At the start of this year then-Canonical community manager Jono Bacon was asked whether there were plans for an Ubuntu watch. Offering his opinion on the subject, Bacon mused: “adding another form factor to the [ubuntu touch] roadmap would only slow things down”.
|
||||
|
||||
As the two year anniversary of the Ubuntu Phone announcement approaches, it’s hard not to agree with him.
|
||||
|
||||
### Tick, Tock, Hedge-Your-Bets O’Clock ###
|
||||
|
||||
But all hope is not lost. In a [press call a few months later][1] Ubuntu founder Mark Shuttleworth mentioned wearable technologies in the same breath as the company’s plans for TVs, tablets and smartphones, saying:
|
||||
|
||||
> “Ubuntu is really unique in that it has this beautiful design on the phone, but it’s also designed at the same time to feed all of those other ecosystems, from wearables to the PC.”
|
||||
|
||||
While far from concrete confirmation, it serves as a pointer; an optimistic hedge in that direction.
|
||||
|
||||
#### Not likely — and here’s why ####
|
||||
|
||||
Canonical is not averse to entering markets with entrenched monopolies. In fact, it’s in the DNA of the company — RHEL on servers, Windows on desktops, Android on smartphones…
|
||||
|
||||
Ubuntu for devices is built as such that it could be expended to and adapted to run on smaller screens, possible even those as small as a watch face. When the common code base is in place for phone, tablet, desktop and TV I’d be surprised if we didn’t see some sort of effort in this direction from the community.
|
||||
|
||||
But reason why I don’t think it’s likely to happen from Canonical’s side, at least not yet, is an echo of Jono Bacon’s personal thoughts earlier this year: time and effort.
|
||||
|
||||
Tim Cook said in his keynote: “*We didn’t take the iPhone and shrink the user interface and strap it on your wrist.*” It’s an obvious statement. Designing a UI and UX model for such a small screen; working through interaction methodologies; complimenting hardware and input models isn’t a simple task.
|
||||
|
||||
Wearable technology is still a nascent market. At this stage Canonical would be wasting development, design and business time in pursuing it. Any benefits would be outweighed by the loss in other, more pressing areas.
|
||||
|
||||
Playing the longer game, waiting it out to see where other efforts succeed and fail, is the harder route, but the one better suited to Ubuntu as it stands today. It’s better for Canonical to focus energies on existing products (which some argue are already arriving late) before throwing newer ones out ahead of them.
|
||||
|
||||
**For an idea of what an Ubuntu smartwatch could be like hit play on the following video which shows an interactive Unity themed skin for the Tizen powered Samsung Galaxy Gear smartwatch.**
|
||||
|
||||
注:youtube视频,发布的时候不行做个链接吧
|
||||
<iframe width="750" height="563" frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/8Zf5dktXzEs?feature=oembed"></iframe>
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/09/ubuntu-smartwatch-apple-iwatch
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year
|
@ -0,0 +1,86 @@
|
||||
What’s wrong with IPv4 and Why we are moving to IPv6
|
||||
================================================================================
|
||||
For the past 10 years or so, this has been the year that IPv6 will become wide spread. It hasn’t happened yet. Consequently, there is little widespread knowledge of what IPv6 is, how to use it, or why it is inevitable.
|
||||
|
||||
![IPv4 and IPv6 Comparison](http://www.tecmint.com/wp-content/uploads/2014/09/ipv4-ipv6.gif)
|
||||
|
||||
IPv4 and IPv6 Comparison
|
||||
|
||||
### What’s wrong with IPv4? ###
|
||||
|
||||
We’ve been using **IPv4** ever since RFC 791 was published in 1981. At the time, computers were big, expensive, and rare. IPv4 had provision for **4 billion IP** addresses, which seemed like an enormous number compared to the number of computers. Unfortunately, IP addresses are not use consequently. There are gaps in the addressing. For example, a company might have an address space of **254 (2^8-2)** addresses, and only use 25 of them. The remaining 229 are reserved for future expansion. Those addresses cannot be used by anybody else, because of the way networks route traffic. Consequently, what seemed like a large number in 1981 is actually a small number in 2014.
|
||||
|
||||
The Internet Engineering Task Force (**IETF**) recognized this problem in the early 1990s and came up with two solutions: Classless Internet Domain Router (**CIDR**) and private IP addresses. Prior to the invention of CIDR, you could get one of three network sizes: **24 bits** (16,777,214 addresses), **20 bits** (1,048,574 addresses) and **16 bits** (65,534 addresses). Once CIDR was invented, it was possible to split networks into subnetworks.
|
||||
|
||||
So, for example, if you needed **5 IP** addresses, your ISP would give you a network with a size of 3 bits which would give you **6 IP** addresses. So that would allow your ISP to use addresses more efficiently. Private IP addresses allow you to create a network where each machine on the network can easily connect to another machine on the internet, but where it is very difficult for a machine on the internet to connect back to your machine. Your network is private, hidden. Your network could be very large, 16,777,214 addresses, and you could subnet your private network into smaller networks, so that you could manage your own addresses easily.
|
||||
|
||||
You are probably using a private address right now. Check your own IP address: if it is in the range of **10.0.0.0 – 10.255.255.255** or **172.16.0.0 – 172.31.255.255** or **192.168.0.0 – 192.168.255.255**, then you are using a private IP address. These two solutions helped forestall disaster, but they were stopgap measures and now the time of reckoning is upon us.
|
||||
|
||||
Another problem with **IPv4** is that the IPv4 header was variable length. That was acceptable when routing was done by software. But now routers are built with hardware, and processing the variable length headers in hardware is hard. The large routers that allow packets to go all over the world are having problems coping with the load. Clearly, a new scheme was needed with fixed length headers.
|
||||
|
||||
Still another problem with **IPv4** is that, when the addresses were allocated, the internet was an American invention. IP addresses for the rest of the world are fragmented. A scheme was needed to allow addresses to be aggregated somewhat by geography so that the routing tables could be made smaller.
|
||||
|
||||
Yet another problem with IPv4, and this may sound surprising, is that it is hard to configure, and hard to change. This might not be apparent to you, because your router takes care of all of these details for you. But the problems for your ISP drives them nuts.
|
||||
|
||||
All of these problems went into the consideration of the next version of the Internet.
|
||||
|
||||
### About IPv6 and its Features ###
|
||||
|
||||
The **IETF** unveiled the next generation of IP in December 1995. The new version was called IPv6 because the number 5 had been allocated to something else by mistake. Some of the features of IPv6 included.
|
||||
|
||||
- 128 bit addresses (3.402823669×10³⁸ addresses)
|
||||
- A scheme for logically aggregating addresses
|
||||
- Fixed length headers
|
||||
- A protocol for automatically configuring and reconfiguring your network.
|
||||
|
||||
Let’s look at these features one by one:
|
||||
|
||||
#### Addresses ####
|
||||
|
||||
The first thing everybody notices about **IPv6** is that the number of addresses is enormous. Why so many? The answer is that the designers were concerned about the inefficient organization of addresses, so there are so many available addresses that we could allocate inefficiently in order to achieve other goals. So, if you want to build your own IPv6 network, chances are that your ISP will give you a network of **64 bits** (1.844674407×10¹⁹ addresses) and let you subnet that space to your heart’s content.
|
||||
|
||||
#### Aggregation ####
|
||||
|
||||
With so many addresses to use, the address space can be allocated sparsely in order to route packets efficiently. So, your ISP gets a network space of **80 bits**. Of those 80 bits, 16 of them are for the ISPs subnetworks, and 64 bits are for the customer’s networks. So, the ISP can have 65,534 networks.
|
||||
|
||||
However, that address allocation isn’t cast in stone, and if the ISP wants more smaller networks, it can do that (although probably the ISP would probably simply ask for another space of 80 bits). The upper 48 bits is further divided, so that ISPs that are “**close**” to one another have similar network addresses ranges, to allow the networks to be aggregated in the routing tables.
|
||||
|
||||
#### Fixed length Headers ####
|
||||
|
||||
An **IPv4** header has a variable length. An **IPv6** header always has a fixed length of 40 bytes. In IPv4, extra options caused the header to increase in size. In IPv6, if additional information is needed, that additional information is stored in extension headers, which follow the IPv6 header and are generally not processed by the routers, but rather by the software at the destination.
|
||||
|
||||
One of the fields in the IPv6 header is the flow. A flow is a **20 bit** number which is created pseudo-randomly, and it makes it easier for the routers to route packets. If a packet has a flow, then the router can use that flow number as an index into a table, which is fast, rather than a table lookup, which is slow. This feature makes **IPv6** very easy to route.
|
||||
|
||||
#### Automatic Configuration ####
|
||||
|
||||
In **IPv6**, when a machine first starts up, it checks the local network to see if any other machine is using its address. If the address is unused, then the machine next looks for an IPv6 router on the local network. If it finds the router, then it asks the router for an IPv6 address to use. Now, the machine is set and ready to communicate on the internet – it has an IP address for itself and it has a default router.
|
||||
|
||||
If the router should go down, then the machines on the network will detect the problem and repeat the process of looking for an IPv6 router, to find the backup router. That’s actually hard to do in IPv4. Similarly, if the router wants to change the addressing scheme on its network, it can. The machines will query the router from time to time and change their addresses automatically. The router will support both the old and new addresses until all of the machines have switched over to the new configuration.
|
||||
|
||||
IPv6 automatic configuration is not a complete solution. There are some other things that a machine needs in order to use the internet effectively: the name servers, a time server, perhaps a file server. So there is **dhcp6** which does the same thing as dhcp, only because the machine boots in a routable state, one dhcp daemon can service a large number of networks.
|
||||
|
||||
#### There’s one big problem ####
|
||||
|
||||
So if IPv6 is so much better than IPv4, why hasn’t adoption been more widespread (as of **May 2014**, Google estimates that its IPv6 traffic is about **4%** of its total traffic)? The basic problem is which comes first, the **chicken or the egg**? Somebody running a server wants the server to be as widely available as possible, which means it must have an **IPv4** address.
|
||||
|
||||
It could also have an IPv6 address, but few people would use it and you do have to change your software a little to accommodate IPv6. Furthermore, a lot of home networking routers do not support IPv6. A lot of ISPs do not support IPv6. I asked my ISP about it, and I was told that they will provide it when customers ask for it. So I asked how many customers had asked for it. One, including me.
|
||||
|
||||
By way of contrast, all of the major operating systems, Windows, OS X, and Linux support IPv6 “**out of the box**” and have for years. The operating systems even have software that will allow IPv6 packets to “**tunnel**” within IPv4 to a point where the IPv6 packets can be removed from the surrounding IPv4 packet and sent on their way.
|
||||
|
||||
#### Conclusion ####
|
||||
|
||||
IPv4 has served us well for a long time. IPv4 has some limitations which are going to present insurmountable problems in the near future. IPv6 will solve those problems by changing the strategy for allocating addresses, making improvements to ease the routing of packets, and making it easier to configure a machine when it first joins the network.
|
||||
|
||||
However, acceptance and usage of IPv6 has been slow, because change is hard and expensive. The good news is that all operating systems support IPv6, so when you are ready to make the change, your computer will need little effort to convert to the new scheme.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/ipv4-and-ipv6-comparison/
|
||||
|
||||
作者:[Jeff Silverman][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/jeffsilverm/
|
@ -1,75 +0,0 @@
|
||||
alim0x translating
|
||||
|
||||
The history of Android
|
||||
================================================================================
|
||||
![The T-Mobile G1](http://cdn.arstechnica.net/wp-content/uploads/2014/04/t-mobile_g1.jpg)
|
||||
The T-Mobile G1
|
||||
Photo by T-Mobile
|
||||
|
||||
### Android 1.0—introducing Google Apps and actual hardware ###
|
||||
|
||||
By October 2008, Android 1.0 was ready for launch, and the OS debuted on the [T-Mobile G1][1] (AKA the HTC Dream). The G1 was released into a market dominated by the iPhone 3G and the [Nokia 1680 classic][2]. (Both of those phones went on to tie for the [best selling phone][3] of 2008, selling 35 million units each.) Hard numbers of G1 sales are tough to come by, but T-Mobile announced the device broke the one million units sold barrier in April 2009. It was way behind the competition by any measure.
|
||||
|
||||
The G1 was packing a single-core 528Mhz ARM 11 processor, an Adreno 130 GPU, 192MB of RAM, and a whopping 256MB of storage for the OS and Apps. It had a 3.2-inch, 320x480 display, which was mounted to a sliding mechanism that revealed a full hardware keyboard. So while Android software has certainly come a long way, the hardware has, too. Today, we can get much better specs than this in a watch form factor: the latest [Samsung smart watch][4] has 512MB of RAM and a 1GHz dual-core processor.
|
||||
|
||||
While the iPhone had a minimal amount of buttons, the G1 was the complete opposite, sporting almost every hardware control that was ever invented. It had call and end call buttons, home, back, and menu buttons, a shutter button for the camera, a volume rocker, a trackball, and, of course, about 50 keyboard buttons. Future Android devices would slowly back away from thousand-button interfaces, with nearly every new flagship lessening the number of buttons.
|
||||
|
||||
But for the first time, people saw Android running on actual hardware instead of a frustratingly slow emulator. Android 1.0 didn't have the smoothness, flare, or press coverage of the iPhone. It wasn't as capable as Windows Mobile 6.5. Still, it was a good start.
|
||||
|
||||
![The default app selection of Android 1.0 and 0.9.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/apps.png)
|
||||
The default app selection of Android 1.0 and 0.9.
|
||||
Photo by Ron Amadeo
|
||||
|
||||
The core of Android 1.0 didn't look significantly different from the beta version released two months earlier, but the consumer product brought a ton more apps, including the full suite of Google apps. Calendar, Email, Gmail, IM, Market, Settings, Voice Dialer, and YouTube were all new. At the time, music was the dominant media type on smartphones, the king of which was the iTunes music store. Google didn't have an in-house music service of its own, so it tapped Amazon and bundled the Amazon MP3 store.
|
||||
|
||||
The most important addition to Android 1.0 was the debut of Google's store, called "Android Market Beta." While most companies were content with calling their app catalog some variant of "app store"—meaning a store that sold apps and only apps—Google had much wider ambitions. It went with the much more general name of "Android Market." The idea was that the Android Market would not just house apps, but everything you needed for your Android device.
|
||||
|
||||
![The first Android Market client. Screenshots show the main page, “my downloads," an app page, and an app permissions page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/market.png)
|
||||
The first Android Market client. Screenshots show the main page, “my downloads," an app page, and an app permissions page.
|
||||
Photo by [Google][5]
|
||||
|
||||
At the time, the Android Market only offered apps and games, and developers weren't even able to charge for them. Apple's App Store had a four-month head start on the Android Market, but Google's big differentiator was that Android's store was almost completely open. On the iPhone, apps were subject to review by Apple and had to meet design and technical guidelines. Potential apps also weren't allowed to duplicate the stock functionality. On the Android Market, developers were free to do whatever they wanted, including replacing the stock apps. The lack of control would turn out to be a blessing and a curse. It allowed developers to innovate on the existing functionality, but it also meant even the trashiest applications were allowed in.
|
||||
|
||||
Today, this client is another app that can no longer communicate with Google's servers. Luckily, it's one of the few early Android apps [actually documented][6] on the Internet. The main screen provided links to the common areas like Apps, Games, Search, and Downloads, and the top section had horizontally scrolling icons for featured apps. Search results and the "My Downloads" page displayed apps in a scrolling list, showing the name, developers, cost (at this point, always free), and rating. Individual app pages showed a brief description, install count, comments and ratings from users, and the all-important install button. This early Android Market didn’t support pictures, and the only field for developers was a description box with a 500-character limit. This made things like maintaining a changelog very difficult, as the only spot to put it was in the description.
|
||||
|
||||
Right out of the gate, the Android Market showed permissions that an app required before installing. This is something Apple wouldn't get around to implementing until 2012, after an iOS app was caught [uploading entire address books][7] to the cloud without the user's knowledge. The permissions display gave a full rundown of what permissions an app was using, although this version railroaded users into agreeing. There was an “OK" button, but no way to cancel other than the back button.
|
||||
|
||||
![Gmail showing the inbox, the inbox with the menu open. ](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail1.01.png)
|
||||
Gmail showing the inbox, the inbox with the menu open.
|
||||
Photo by Ron Amadeo
|
||||
|
||||
The next most important app was probably Gmail. Most of the base functionality was here already. Unviewed messages showed up in bold, and labels displayed as colored tags. Individual messages in the Inbox showed the subject, author(s), and number of replies in a conversation. The trademark Gmail star was here—a quick tap would star or unstar something. As usual for early versions of Android, the Menu housed all the buttons on the main inbox view. Once inside a message, though, things got a little more modern, with "reply" and "forward" buttons as permanent fixtures at the bottom of the screen. Individual replies could be expanded and collapsed just by tapping on them.
|
||||
|
||||
The rounded corners, shadows, and bubbly icons gave the whole app a "cartoonish" look, but it was a good start. Android's function-first philosophy was really coming through here: Gmail supported labels, threaded messaging, searching, and push e-mail.
|
||||
|
||||
![Gmail’s label view, compose screen, and settings on Android 1.0.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail3.png)
|
||||
Gmail’s label view, compose screen, and settings on Android 1.0.
|
||||
Photo by Ron Amadeo
|
||||
|
||||
But if you thought Gmail was ugly, the Email app took it to another level. There was no separate inbox or folder view—everything was mashed into a single screen. The app presented you with a list of folders and tapping on one would expand the contents in-line. Unread messages were denoted with a green line on the left, and that was about it for the e-mail interface. The app supported IMAP and POP3 but not Exchange.
|
||||
|
||||
----------
|
||||
|
||||
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
|
||||
|
||||
[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work.
|
||||
|
||||
[@RonAmadeo][t]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://arstechnica.com/gadgets/2008/10/android-g1-review/
|
||||
[2]:http://en.wikipedia.org/wiki/Nokia_1680_classic
|
||||
[3]:http://en.wikipedia.org/wiki/List_of_best-selling_mobile_phones#2008
|
||||
[4]:http://arstechnica.com/gadgets/2014/04/review-we-wear-samsungs-galaxy-gear-and-galaxy-fit-so-you-dont-have-to/
|
||||
[5]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html
|
||||
[6]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html
|
||||
[7]:http://arstechnica.com/gadgets/2012/02/path-addresses-privacy-controversy-but-social-apps-remain-a-risk-to-users/
|
||||
[a]:http://arstechnica.com/author/ronamadeo
|
||||
[t]:https://twitter.com/RonAmadeo
|
@ -1,3 +1,4 @@
|
||||
Translating by ZTinoZ
|
||||
10 Useful “Squid Proxy Server” Interview Questions and Answers in Linux
|
||||
================================================================================
|
||||
It’s not only to System Administrator and Network Administrator, who listens the phrase Proxy Server every now and then but we too. Proxy Server is now a corporate culture and is the need of the hour. Proxy server now a days is implemented from small schools, cafeteria to large MNCs. Squid (also known as proxy) is such an application which acts as proxy server and one of the most widely used tool of its kind.
|
||||
@ -128,4 +129,4 @@ via: http://www.tecmint.com/squid-interview-questions/
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/avishek/
|
||||
[a]:http://www.tecmint.com/author/avishek/
|
||||
|
@ -1,107 +0,0 @@
|
||||
wangjiezhe translating
|
||||
What are better alternatives to basic command line utilities
|
||||
================================================================================
|
||||
The command line can be scary especially at the beginning. You might even experience some command-line-induced nightmare. Over time, however, we all realize that the command line is actually not that scary, but extremely useful. In fact, the lack of shell is what gives me an ulcer every time I have to use Windows. The reason for the change in perception is that the command line tools are actually smart. The basic utilities, what you are given to work with on any Linux terminal, are very powerful. But very powerful is never enough. If you want to make your command line experience even more pleasant, here are a few applications that you can download to replace the default ones, and will provide you with far more features than the originals.
|
||||
|
||||
### dfc ###
|
||||
|
||||
As an LVM user, I really like to keep an eye on my hard drive memory usage. I also never really understood why in Windows we have to open the file explorer to know this basic information. Hopefully on Linux, we can use the command.
|
||||
|
||||
$ df -h
|
||||
|
||||
![](https://farm4.staticflickr.com/3858/14768828496_c8a42620a3_z.jpg)
|
||||
|
||||
which gives you the size, usage, free space, ratio, and mount point of every volume on your computer. Notice that you have to pass in the "-h" argument to get all the data in human readable format (gigabytes instead of kilobytes). But you can replace completely df with [dfc][1], which can, without any additional arguments, get you everything that df showed, and throw in a usage graph for each device, and a color code, which makes it a lot easier to read.
|
||||
|
||||
![](https://farm6.staticflickr.com/5594/14791468572_a84d4b6145_z.jpg)
|
||||
|
||||
As a bonus, you can sort the volumes using the argument "-q", define the units that you want to see with "-u", and even export to csv or html format with "-e"
|
||||
|
||||
### dog ###
|
||||
|
||||
Dog is better than cat. At least that is what this program declares. You have to give it credit for once. Everything that the cat command does, [dog][2] does it better. Beyond just outputting some text stream to the console, dog is capable of filtering that stream. You can for example find all images in a web page by using the syntax:
|
||||
|
||||
$ dog --images [URL]
|
||||
|
||||
![](https://farm6.staticflickr.com/5568/14811659823_ea8d22d045_z.jpg)
|
||||
|
||||
Or all the links with:
|
||||
|
||||
dog --links [URL]
|
||||
|
||||
![](https://farm4.staticflickr.com/3902/14788690051_7472680968_z.jpg)
|
||||
|
||||
Besides, dog commands can also do other smaller tasks, like convert to upper or lower case, use different encoding, display the line numbers, and deal with hexadecimal. In short, dog is a must-have to replace cat.
|
||||
|
||||
### advcp ###
|
||||
|
||||
One of the most basic command in Linux is the copy command: cp. It is probably as basic as cd. Yet it cruelly lacks feedback. You can enable the verbose mode to see which files are being copied in real time, but if one of the files is very big, you will be left waiting in front of your screen with no idea of what is really happening behind the scenes. An easy way to fix that is to add a progress bar: what advcp (short for advanced cp) does! Available as a [patched version][3] of the [GNU coreutils][4], advcopy provides you with the acp and amv commands, which are "advanced" versions of cp and mv. Use the syntax:
|
||||
|
||||
$ acp -g [file] [copy]
|
||||
|
||||
to copy a file to another location, and display a progress bar.
|
||||
|
||||
![](https://farm6.staticflickr.com/5588/14605117730_fe611fc234_z.jpg)
|
||||
|
||||
I also advise using an alias in your .barshrc or .zshrc
|
||||
|
||||
alias cp="acp -g"
|
||||
alias mv="amv -g"
|
||||
|
||||
### The Silver Searcher ###
|
||||
|
||||
Behind this atypical name, [the silver searcher][5] is a utility designed as a replacement for grep and [ack][6]. Intended to be faster than ack, and capable of ignoring files unlike grep, the silver searcher scrolls through your text file looking for the piece that you want. Among other features, it can spit out a colored output, follow symlink, use regular expressions, and even ignore some patterns.
|
||||
|
||||
![](https://farm4.staticflickr.com/3876/14605308117_f966c77140_z.jpg)
|
||||
|
||||
The developers' website provides us with some benchmark statistic on the search speed which, if they are still true, are quite impressive. And cherry on the cake: you can include the utility in Vim in order to call it with a simple shortcut. In two words, smart and fast.
|
||||
|
||||
### plowshare ###
|
||||
|
||||
All fans of the command line like to use wget or one of its alternatives to download things from the internet. But if you use a lot of file sharing websites, like mediafire or rapidshare, you will be glad to know that there is an equivalent to wget dedicated to those websites, which is called [plowshare][7]. Once you install it, you can download files with:
|
||||
|
||||
$ plowdown [URL]
|
||||
|
||||
or upload them with:
|
||||
|
||||
$ plowup [website name] [file]
|
||||
|
||||
given that you have an account for that file sharing website.
|
||||
|
||||
Finally, it is possible to gather information, such as a list of links contained in a shared folder with:
|
||||
|
||||
$ plowlist [URL]
|
||||
|
||||
or the filename, size, hash, etc, with:
|
||||
|
||||
$ plowprobe [URL]
|
||||
|
||||
plowshare is also a good alternative to the slow and excruciating jDownloader for those of you who are familiar with these services.
|
||||
|
||||
### htop ###
|
||||
|
||||
If you use top command regularly, chances are you will love [htop][8] command. Both top and htop offer a real-time view of running processes, but htop boasts of a number of user-friendly features lacking in top command. For example, with htop, you can scroll process list vertically or horizontally to see full command lines of every process, and can do basic process management (e.g., kill, (re)nice) using mouse clicks and arrow keys (without entering numeric PIDs).
|
||||
|
||||
![](https://farm6.staticflickr.com/5581/14819141403_6f2348590f_z.jpg)
|
||||
|
||||
To conclude, these kinds of tools, which efficiently replace basic command line utilities, are like little pearl of usefulness. They are not always easy to find, but once you've got one, you always wonder how you survived for so long without it. If you know any other utility fitting this description, please share in the comments.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/07/better-alternatives-basic-command-line-utilities.html
|
||||
|
||||
作者:[Adrien Brochard][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/adrien
|
||||
[1]:http://projects.gw-computing.net/projects/dfc
|
||||
[2]:http://archive.debian.org/debian/pool/main/d/dog/
|
||||
[3]:http://zwicke.org/web/advcopy/
|
||||
[4]:http://www.gnu.org/software/coreutils/
|
||||
[5]:https://github.com/ggreer/the_silver_searcher
|
||||
[6]:http://xmodulo.com/2014/01/search-text-files-patterns-efficiently.html
|
||||
[7]:https://code.google.com/p/plowshare/
|
||||
[8]:http://hisham.hm/htop/
|
@ -1,133 +0,0 @@
|
||||
A Pocket Guide for Linux ssh Command with Examples
|
||||
================================================================================
|
||||
If you have been in the IT world for quite some time you probably have heard about SSH, how great a tool it is and all its cool security features. In this tutorial you will learn how to use SSH in a few minutes and login to your remote computers seamlessly and securely.
|
||||
|
||||
If you have no clue what SSH is you can visit [Wikipedia][1] before proceeding.
|
||||
|
||||
### Basic Usage ###
|
||||
|
||||
The simplest usage of SSH is where you specify a user and the hostname. The hostname could be an IP address or a domain name an in the following format.
|
||||
|
||||
$ ssh user@hostname
|
||||
|
||||
For example to login to a Raspberry Pi on my LAN, I would simply type the command in the terminal as follows:
|
||||
|
||||
$ ssh pi@10.42.0.47
|
||||
|
||||
Where pi is the user and 10.42.0.47 is the IP of the Raspberry Pi on my LAN. Change this accordingly to reflect your LAN configuration or your remote computer’s IP address.
|
||||
|
||||
![basic ssh](http://linoxide.com/wp-content/uploads/2014/08/basic-ssh.png)
|
||||
|
||||
If you have logged in successfully then the rest of the guide shall be a breeze for you.
|
||||
|
||||
### Using A Different Port ###
|
||||
|
||||
By default ssh uses port 22, but for various reasons you may want to connect to another port.
|
||||
|
||||
$ ssh -p 10022 user@hostname
|
||||
|
||||
This will connect to ssh via port 10022 instead of port 22.
|
||||
|
||||
### Execute Commands Remotely ###
|
||||
|
||||
At times its convenient to execute a command on the remote host and get the output and continue working on the local machine. Well SSH has catered for this need,
|
||||
|
||||
$ ssh pi@10.42.0.47 ls -l
|
||||
|
||||
This command for example will list the contents of the home directory and return the prompt to you. Cool? Try it out with other commands as well.
|
||||
|
||||
![remote command](http://linoxide.com/wp-content/uploads/2014/08/remote-command.png)
|
||||
|
||||
### Mounting remote filesystems ###
|
||||
|
||||
Another great tool based on ssh is sshfs. With sshfs you can mount remote filesystems and have the remote files on the local machine.
|
||||
|
||||
$ sshfs -o idmap=user user@hostname:/home/user ~/Remote
|
||||
|
||||
For example this command can be used as:
|
||||
|
||||
$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi
|
||||
|
||||
This will mount pi’s home directory to a folder on the local machine called Pi.
|
||||
|
||||
For more details on sshfs [look at our sshfs tutorial][2].
|
||||
|
||||
### X11 Forwarding ###
|
||||
|
||||
Suppose now you want to run a GUI program on your remote computer? SSH had you in mind! Login to the remote machine with the basic SSH command but -X option. This will allow X11 forwarding. After you login you might not see any difference, but once you invoke a GUI based program you notice the difference.
|
||||
|
||||
$ ssh -X pi@10.42.0.47
|
||||
|
||||
$ pistore
|
||||
|
||||
Now you may want to do other stuff on the command line while running the GUI program. Simply suffix the command with &.
|
||||
|
||||
$ pistore&
|
||||
|
||||
![X11 forwarding](http://linoxide.com/wp-content/uploads/2014/08/X11-forwarding.png)
|
||||
|
||||
### Escape Sequences ###
|
||||
|
||||
There are various escape sequences provided by SSH. To view them, SSH to any remote machine then type tilde(~) followed by a question mark. You will see a couple of other supported escape sequences. In this example you can the output of **~#** and **~C**.
|
||||
|
||||
![escape sequences](http://linoxide.com/wp-content/uploads/2014/08/escape-sequences.png)
|
||||
|
||||
### Edit SSH Configuration ###
|
||||
|
||||
If you need to change SSH configuration, open the file **/etc/ssh/sshd_config** with your favourite text editor and edit whatever you need to. For example we might need to change the banner. In your text editor find the following line:
|
||||
|
||||
#Banner none
|
||||
|
||||
Uncomment the line by deleting the # then add a path to the file with the message you want displayed. The line should now read as:
|
||||
|
||||
Banner /etc/issue
|
||||
|
||||
In this /etc/ssh/sshd_config file you will also find the options of changing the port number, idle logout timeout e.t.c . These are fairly straight forward, but refer to the ssh manual for anything that might not be familiar before attempting to make changes.
|
||||
|
||||
### Generate SSH Key Pair ###
|
||||
|
||||
To generate a new key pair run the command as follows:
|
||||
|
||||
$ ssh-keygen -t dsa
|
||||
|
||||
You will be asked for a passphrase then the key pair will be generated. This command will also give you the key’s randomart image.
|
||||
|
||||
![generate key pair](http://linoxide.com/wp-content/uploads/2014/08/generate-key-pair.png)
|
||||
|
||||
### Finding A Hostkey ###
|
||||
|
||||
Now before you add that key pair it does no harm to see if it exists already.
|
||||
|
||||
$ ssh-keygen -F 10.42.0.47
|
||||
|
||||
![find hostkey](http://linoxide.com/wp-content/uploads/2014/08/find-hostkey.png)
|
||||
|
||||
### Removing A Hostkey ###
|
||||
|
||||
Sometimes its necessary to remove a key pair you had generated, for example when the host has changed or perhaps when you need to remove keys that are no longer used.
|
||||
|
||||
$ ssh-keygen -R 10.42.0.47
|
||||
|
||||
This is much more convenient than opening **~/.ssh/known_hosts**
|
||||
and removing the keys manually.
|
||||
|
||||
![remove hostkey](http://linoxide.com/wp-content/uploads/2014/08/remove-hostkey.png)
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
With the above commands you will be able to use SSH with ease. There is more to explore and your imagination is your limitation.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/pocket-guide-linux-ssh-command/
|
||||
|
||||
作者:[Bobbin Zachariah][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/bobbin/
|
||||
[1]:http://en.wikipedia.org/wiki/Secure_Shell
|
||||
[2]:http://linoxide.com/how-tos/sshfs-mount-remote-directories/
|
@ -1,3 +1,4 @@
|
||||
wangjiezhe translating
|
||||
6 Interesting Funny Commands of Linux (Fun in Terminal) – Part II
|
||||
================================================================================
|
||||
In our past following articles, we’ve shown some useful articles on some funny commands of Linux, which shows that Linux is not as complex as it seems and can be fun if we know how to use it. Linux command line can perform any complex task very easily and with perfection and can be interesting and joyful.
|
||||
@ -96,11 +97,11 @@ That’s all for now. I’ll be here again with another interesting article. Til
|
||||
via: http://www.tecmint.com/linux-funny-commands/
|
||||
|
||||
作者:[Avishek Kumar][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[wangjiezhe](https://github.com/wangjiezhe)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/avishek/
|
||||
[1]:http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/
|
||||
[2]:http://www.tecmint.com/play-with-word-and-character-counts-in-linux/
|
||||
[2]:http://www.tecmint.com/play-with-word-and-character-counts-in-linux/
|
||||
|
@ -1,283 +0,0 @@
|
||||
(translating by szrlee)
|
||||
Awesome ! systemd Commands to Manage Linux System
|
||||
================================================================================
|
||||
Systemd is the new system and service manager for Linux. It is a replacement for init system and can manage system startup and services. It starts up and supervises the entire system. In article we are using [centos 7.0 installed with systemd 216 version][1] and the latest version is [available for download from freedesktop.org][2].
|
||||
|
||||
With new player in town, PID 1 is occupied by “systemd” and can be seen from pstree command as well:
|
||||
|
||||
[root@linoxide ~]# pstree
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/01.systemd_pstree.png)
|
||||
|
||||
Lets explore what systemd is capable of and what possibilities we have with the new replacement for sysVinit.
|
||||
|
||||
### 1. Faster startup ###
|
||||
|
||||
The sysvinit starts the processes serially, one at a time. Systemd starts services in parallel and starts only those services which are actually required, reducing the boot time significantly.
|
||||
You can get the boot process duration with the following command:
|
||||
|
||||
[root@linoxide ~]# systemd-analyze
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/02.systemd_analyze.png)
|
||||
|
||||
The command systemd-analyze time also shows the same information.
|
||||
|
||||
[root@linoxide ~]# systemd-analyze time
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/03.systemd_analyze2.png)
|
||||
|
||||
If you want to print a list of all running units, the blame option to systemd-analyze command can provide you with that, ordered by the time taken to initialize.
|
||||
|
||||
[root@linoxide ~]# systemd-analyze blame
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/04.systemd_blame.png)
|
||||
|
||||
The above screen shows only a small number of processes, you can scroll through the list with arrows just like in less pager.
|
||||
|
||||
### 2. The systemctl command ###
|
||||
|
||||
The systemctl command is the most talked command that comes with systemd. You can manage a whole lot of your system with this command. Let’s explore this command before going any further:
|
||||
|
||||
#### 2.1 List Units ####
|
||||
|
||||
systemctl command without any option lists all the running units. The list-units switch also does the same.
|
||||
|
||||
[root@linoxide ~]# systemctl
|
||||
|
||||
or
|
||||
|
||||
[root@linoxide ~]# systemctl list-units
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/05.systemd_list_units.png)
|
||||
|
||||
#### 2.2 Listing failed units ####
|
||||
|
||||
The failed units can be listed with --failed switch.
|
||||
|
||||
[root@linoxide ~]# systemctl --failed
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/06.systemd_failed.png)
|
||||
|
||||
You will see the use of systemctl command at many places in this article.
|
||||
|
||||
### 3. Managing services ###
|
||||
|
||||
Let us now see how services can be managed with systemd.
|
||||
|
||||
#### 3.1 Active services ####
|
||||
|
||||
All the active services can be checked with the following command:
|
||||
|
||||
[root@linoxide ~]# systemctl list-units -t service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/07.systemd_active_services.png)
|
||||
|
||||
#### 3.2 Service status ####
|
||||
|
||||
In the sysvinit, we could use the “service” command to manage the services, but with systemd, the systemctl command is used to manage services. In ordwer to see whether a service is running or not, we can use the systemctl command like this:
|
||||
|
||||
[root@linoxide ~]# systemctl status dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/08.systemd_status.png)
|
||||
|
||||
#### 3.3 Start a service ####
|
||||
|
||||
To start a service, again we use the systemctl command as:
|
||||
|
||||
[root@linoxide ~]# systemctl start dnsmasq
|
||||
|
||||
As opposed to service command, this command does not give any output. But of course, we can check the status of the service once again to confirm that its started successfully:
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/09.systemd_start.png)
|
||||
|
||||
#### 3.4 Stopping a service ####
|
||||
|
||||
Now you are smart enough and already know the command to stop a service with systemd:
|
||||
|
||||
[root@linoxide ~]# systemctl stop dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/10.systemd_stop.png)
|
||||
|
||||
#### 3.5 Restart a service ####
|
||||
|
||||
Similarly, restarting a service is managed using ‘systemctl restart ‘:
|
||||
|
||||
[root@linoxide ~]# systemctl restart dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/11.systemd_restart.png)
|
||||
|
||||
#### 3.6 Reload a service ####
|
||||
|
||||
In case we need to reload the configuration of service (say ssh), without restarting it, we can use the command:
|
||||
|
||||
[root@linoxide ~]# systemctl reload sshd
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/12.systemd_reload.png)
|
||||
|
||||
Although all of the above syntax are working, the official documentation suggests that these command be run with following syntax:
|
||||
|
||||
[root@linoxide ~]# systemctl status dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/13.systemd_alternate_syntax.png)
|
||||
|
||||
### 4. Managing services at boot ###
|
||||
|
||||
The chkconfig command was used to manage services at boot. The same command systemd is used with systemd to manage services at boot.
|
||||
|
||||
#### 4.1 Checking service status at boot ####
|
||||
|
||||
In order to check if a service is enabled on boot or not:
|
||||
|
||||
[root@linoxide ~]# systemctl is-enabled dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/14.systemd_is_enabled.png)
|
||||
|
||||
#### 4.2 Enable a service at boot ####
|
||||
|
||||
systemctl command can be used like this to enable a service at boot (this corresponds to sysvinit ‘chkconfig on’)
|
||||
|
||||
[root@linoxide ~]# systemctl enable dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/15.systemd_enable.png)
|
||||
|
||||
#### 4.3 Disable a service at boot ####
|
||||
|
||||
Similarly, the services can be disabled at boot with systemctl command:
|
||||
|
||||
[root@linoxide ~]# systemctl disable dnsmasq.service
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/16.systemd_disable.png)
|
||||
|
||||
### 5. Managing Remote systems ###
|
||||
|
||||
Typically, all of the ablve systemctl commands can be used to manage a remote host with systemctl command itself. This will use ssh for communication with the remote host. All you need to do is add the user and host to systemctl command like this:
|
||||
|
||||
[root@linoxide ~]# systemctl status sshd -H root@1.2.3.4
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/17.systemd_remote.png)
|
||||
|
||||
### 6. Managing targets: ###
|
||||
|
||||
Systemd has concept of targets having similar purpose to runlevels in sysVinit.
|
||||
The runlevels in sysVinit were mostly numeric (0,1,2,…). Here are the runlevels in sysVinit with their systemd counterparts:
|
||||
|
||||
> 0 runlevel0.target, poweroff.target
|
||||
>
|
||||
> 1, s, single runlevel1.target, rescue.target
|
||||
>
|
||||
> 2, 4 runlevel2.target, runlevel4.target, multi-user.target
|
||||
>
|
||||
> 3 runlevel3.target, multi-user.target
|
||||
>
|
||||
> 5 runlevel5.target, graphical.target
|
||||
>
|
||||
> 6 runlevel6.target, reboot.target
|
||||
>
|
||||
> emergency emergency.target
|
||||
|
||||
#### 6.1 Changing current target ####
|
||||
|
||||
The current target(runlevel) can be changed with the command:
|
||||
|
||||
[root@linoxide ~]# systemctl isolate graphical.target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/18.systemd_isolate.png)
|
||||
|
||||
#### 6.2 List current target ####
|
||||
|
||||
If you want to see what target you are in, you need to list all the corresponding units. It might not feel at home with this new way, but its the way systemd works.
|
||||
|
||||
[root@linoxide ~]# systemctl list-units --type=target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/19.systemd_targets.png)
|
||||
|
||||
You can see “graphical.target” listed here. This is what we changed our target into. Now let’s change the runlevel again to multi-user.target and then analyze this output:
|
||||
|
||||
[root@linoxide ~]# systemctl isolate multi-user.target
|
||||
[root@linoxide ~]# systemctl list-units --type=target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/20.systemd_multi-user.png)
|
||||
|
||||
#### 6.3 List default target ####
|
||||
|
||||
To list the default target, we use systemctl command like this:
|
||||
|
||||
[root@linoxide ~]# systemctl get-default
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/21.systemd_get_default.png)
|
||||
|
||||
#### 6.4 Change default target ####
|
||||
|
||||
The default target can be set with set-default command with systemctl:
|
||||
|
||||
[root@linoxide ~]# systemctl set-default graphical.target
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/22.systemd_set_default.png)
|
||||
|
||||
### 7. Logging in systemd ###
|
||||
|
||||
The systemd has its own logging system called journald. It replaces the syslog daemon from sysVinit. The command journalctl is used to read the logs.
|
||||
|
||||
[root@linoxide ~]# journalctl
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/23.systemd_logs.png)
|
||||
|
||||
#### 7.1 Boot messages ####
|
||||
|
||||
To see all boot messages, run the command “journalctl -b”.
|
||||
|
||||
[root@linoxide ~]# journalctl -b
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/24.systemd_boot.png)
|
||||
|
||||
#### 7.2 Follow logs ####
|
||||
|
||||
The following command follows the system logs in real time (similar to tail -f).
|
||||
|
||||
[root@linoxide ~]# journalctl -f
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/25.systemd_follow_logs.png)
|
||||
|
||||
#### 7.3 Service specific logs ####
|
||||
|
||||
To check logs specific to a particular service or executable, use journalctl like this:
|
||||
|
||||
[root@linoxide ~]# journalctl /usr/sbin/dnsmasq
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/26.systemd_specific.png)
|
||||
|
||||
### 8. Power management ###
|
||||
|
||||
The systemctl command can be used to put the system down, or reboot or hibernate.
|
||||
|
||||
To poweroff, reboot, suspend and hibernate, use the following commands respectively:
|
||||
|
||||
[root@linoxide ~]# systemctl poweroff
|
||||
|
||||
[root@linoxide ~]# systemctl reboot
|
||||
|
||||
[root@linoxide ~]# systemctl suspend
|
||||
|
||||
[root@linoxide ~]# systemctl reboot
|
||||
|
||||
### 9. Bonus ###
|
||||
|
||||
The systemd brings out the whole new approach to interacting with your operating system. The systemd is so full of features. For example, you can get the hostname and other useful features about your Linux machine, you can use hostnamectl command
|
||||
|
||||
[root@linoxide ~]# hostnamectl
|
||||
|
||||
![](http://linoxide.com/wp-content/uploads/2014/08/27.systemd_hostnamectl.png)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-systemd-commands/
|
||||
|
||||
作者:[Raghu][a]
|
||||
译者:[szrlee](https://github.com/szrlee)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/raghu/
|
||||
[1]:http://linoxide.com/linux-how-to/install-systemd-centos-redhat/
|
||||
[2]:http://www.freedesktop.org/software/systemd/
|
@ -1,61 +0,0 @@
|
||||
Mount Google drive in Ubuntu 14.04 LTS
|
||||
================================================================================
|
||||
Google has not released its **official linux client** for accessing its drive from the ubuntu. But open source community has developed unofficial package called '**grive-tools**'.
|
||||
|
||||
Grive is a Google Drive (**online storage service**) client for GNU/Linux systems.It allows the **synchronization** of all your files on the cloud with a directory of your choice and the upload of new files to Google Drive.
|
||||
|
||||
### Installation Steps of grive-tools ###
|
||||
|
||||
Step:1 Add grive-tools PPA using below Command :
|
||||
|
||||
# sudo add-apt-repository ppa:thefanclub/grive-tools
|
||||
|
||||
Step:2 Update the list
|
||||
|
||||
#sudo apt-get update
|
||||
|
||||
Step:3 Install grive-tools
|
||||
|
||||
# sudo apt-get install grive-tools
|
||||
|
||||
### Steps to Access Google Drive ###
|
||||
|
||||
**Step:1** Once the installation is completed , search the application on the **Unity Dash** by typing **Grive**, and open it.
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/access-grive-setup.png)
|
||||
|
||||
**Step:2** Sign in to google drive , you will be asked to give the permissions to access google drive
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/gdrive.png)
|
||||
|
||||
When we click on **Next**, a new broswer will open with **Google login page**
|
||||
|
||||
Log in to your Google Account and Click on **Accept** , as shown below :
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/thrid-party-grive.png)
|
||||
|
||||
**Step:3** You will be provided a **google code** , copy this code and paste it into the **Grive Setup box**.
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/gdrive-code.png)
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/code-in-grive.png)
|
||||
|
||||
When we Click on Next , it will start syncing your google drive with ' **Google Drive**' folder under your's **home directory**. Below window will appear when the installation is completed.
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/grive-installation-completed.png)
|
||||
|
||||
Google Drive folder created under **user's home directory**
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/google-drive-folder.png)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxtechi.com/mount-google-drive-in-ubuntu/
|
||||
|
||||
作者:[Pradeep Kumar ][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.linuxtechi.com/author/pradeep/
|
@ -1,3 +1,4 @@
|
||||
johnhoow translating...
|
||||
Use LaTeX In Ubuntu 14.04 and Linux Mint 17 With Texmaker
|
||||
================================================================================
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/texmaker_Ubuntu.jpeg)
|
||||
@ -42,4 +43,4 @@ via: http://itsfoss.com/install-latex-ubuntu-1404/
|
||||
[1]:http://www.latex-project.org/
|
||||
[2]:http://www.xm1math.net/texmaker/index.html
|
||||
[3]:http://www.xm1math.net/texmaker/download.html#linux
|
||||
[4]:http://itsfoss.com/remarkable-markdown-editor-linux/
|
||||
[4]:http://itsfoss.com/remarkable-markdown-editor-linux/
|
||||
|
@ -1,38 +0,0 @@
|
||||
How To Recover Default Openbox Config Files On Crunchbang
|
||||
================================================================================
|
||||
[CrunchBang][1] is a Debian GNU/Linux based distribution offering a great blend of speed, style and substance. Using the nimble Openbox window manager, it is highly customizable and provides a modern, full-featured GNU/Linux system without sacrificing performance.
|
||||
|
||||
As Crunchbang is highly customizable, users tweak it to their liking as much as they can. All this is done via text files (config). As a “Crunchbanger” myself, I recently messed up with my **menu.xml** config file, which is responsible for the menu shown below.
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/curnchbang_menu_xml.png)
|
||||
|
||||
Which removed every code from the menu configuration file. Since I wasn’t having a backup (It’s good to backup config files too) I have to search for the default configuration that comes with Crunchbang out of the box. And here’s how I got it fixed thanks to Crunchbang forums.
|
||||
|
||||
It is very interesting to know all default configs were pre-backed up for you and can be found at
|
||||
|
||||
/etc/skel/.config/
|
||||
|
||||
So for any default config you just copy them over and restart the appropriate application.
|
||||
|
||||
I will use Openbox **menu.xml** as an example here:
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/curnchbang_menu_xml_etc.png)
|
||||
|
||||
cp -r /etc/skel/.config/openbox/menu.xml ~/.config/openbox/menu.xml
|
||||
|
||||
Then restart openbox.
|
||||
|
||||
openbox --restart
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/recover-default-openbox-config-files-crunchbang/
|
||||
|
||||
作者:[Enock Seth Nyamador][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.unixmen.com/author/seth/
|
||||
[1]:http://crunchbang.org/
|
@ -1,3 +1,4 @@
|
||||
johnhoow translating...
|
||||
Install UberWriter Markdown Editor In Ubuntu 14.04
|
||||
================================================================================
|
||||
Quick tutorial to show you **how to install UberWriter markdown editor in Ubuntu 14.04** for free via official PPA.
|
||||
@ -57,4 +58,4 @@ via: http://itsfoss.com/install-uberwriter-markdown-editor-ubuntu-1404/
|
||||
[3]:http://johnmacfarlane.net/pandoc/
|
||||
[4]:apt://uberwriter
|
||||
[5]:http://itsfoss.com/remarkable-markdown-editor-linux/
|
||||
[6]:http://itsfoss.com/install-latex-ubuntu-1404/
|
||||
[6]:http://itsfoss.com/install-latex-ubuntu-1404/
|
||||
|
@ -1,3 +1,4 @@
|
||||
translating by cvsher
|
||||
Linux Performance Monitoring with Vmstat and Iostat Commands
|
||||
================================================================================
|
||||
This is our on-going series of commands and performance monitoring in **Linux**. **Vmstat** and **Iostat** both commands are available on all major **Unix-like (Linux/Unix/FreeBSD/Solaris)** Operating Systems.
|
||||
@ -242,4 +243,4 @@ via: http://www.tecmint.com/linux-performance-monitoring-with-vmstat-and-iostat-
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/admin/
|
||||
[1]:http://sebastien.godard.pagesperso-orange.fr/download.html
|
||||
[1]:http://sebastien.godard.pagesperso-orange.fr/download.html
|
||||
|
@ -0,0 +1,72 @@
|
||||
伴随苹果手表的揭幕,Ubuntu智能手表会成为下一个吗?
|
||||
===
|
||||
|
||||
**今天,苹果借助‘苹果手表’的发布,证实了其进军穿戴式计算设备市场的长期传言**
|
||||
|
||||
![Ubuntu Smartwatch – good idea?](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/ubuntu-galaxy-gear-smartwatch.png)
|
||||
|
||||
Ubuntu智能手表 - 好的主意?
|
||||
|
||||
拥有一系列稳定功能,硬件解决方案和应用合作伙伴关系的支持,手腕穿戴设备被许多公司预示为“人与技术关系的新篇章”。
|
||||
|
||||
它的到来,以及用户兴趣的提升,有可能意味着Ubuntu需要遵循一个为智能手表定制的Ubuntu版本。
|
||||
|
||||
### 大的方面还是成功的 ###
|
||||
|
||||
苹果在正确时间加入了快速发展的智能手表部门。约束手腕穿戴电脑功能的界限并不是一成不变。失败的设计,不良的用户界面以及主流用户使用穿戴技术功能的弱参数化,这些都见证了硬件种类保持着高效的影响力 - 一个准许Cupertino把时间花费在苹果手表上的因素。
|
||||
|
||||
> ‘分析师说:超过2200万的智能手表将在今年销售’
|
||||
|
||||
去年全球范围内可穿戴设备的销售数量(包括健身追踪器)仅仅1000万。今年,分析师希望设备数量的改变可以超过2200万 - 不包括苹果手表,因为其直到2015年初才开始零售。
|
||||
|
||||
很容易就可以看出增长的来源。今年九月初柏林举办的IFA 2014展览会,展示了一系列来自主要制造商们的可穿戴设备,包括索尼和华硕。大多数搭载着Google最新发布的安卓穿戴系统。
|
||||
|
||||
一个更加成熟的表现:安卓穿戴设备打破了与形式因素保持一致的新奇争论,进而呈现出一致并令人折服的用户方案。和新的苹果手表一样,它紧密地连接在一个现存的智能手机生态系统上。
|
||||
|
||||
可能它只是一个使用案例,Ubuntu手腕穿戴系统是否能匹配它还不清楚。
|
||||
|
||||
#### 目前还没有Ubuntu智能手表的计划 ####
|
||||
|
||||
Ubuntu操作系统的通用性,结合以为多装置设备和趋势性未来定制的严格版本,已经产生了典型目标智能电视,平板电脑和智能手机。Mir,公司的本土显示服务器,被用来运转所有尺寸屏幕上的接口(虽然不是公认1.5"的)
|
||||
|
||||
今年年初,Canonical社区负责人Jono Bacon被询问是否有制作Ubuntu智能手表的打算。Bacon提供了他对这个问题的看法:“增加另一个形式因素到[Ubuntu触摸设备]路线只会减缓其余的东西”。
|
||||
|
||||
在Ubuntu电话发布两周年之际,我们还是挺赞同他的想法的。
|
||||
|
||||
滴答,滴答,对冲你的赌注点(实在不懂什么意思...)
|
||||
|
||||
但是并不是没有希望的。在一个[几个月之后的电话采访][1]中,Ubuntu创始人Mark Shuttleworth提及到可穿戴技术和智能电视,平板电脑,智能手机一样,都在公司计划当中。
|
||||
|
||||
> “Ubuntu因其在电话中的完美设计变得独一无二,但是它同时也被设计成满足其余生态系统的样子,比如从穿戴设备到PC机。”
|
||||
|
||||
然而这还没得到具体的证实,它更像一个指针,在这个方向是给我们提供一个乐观的指引。
|
||||
|
||||
### 不可能 — 这就是原因所在 ###
|
||||
|
||||
Canonical并不反对利用牢固的专利进军市场。事实上,它的重要性犹如公司的DHA — 犹如服务器上的RHEL,桌面上的Windows,智能手机上的安卓...
|
||||
|
||||
设备上的Ubuntu系统被制作成可以在更小的屏幕上扩展和适应性运行。甚至很有可能在和手表一样小的屏幕上运行。当普通的代码基础已经在手机,平板电脑,桌面和TV上准备就绪,我想如果我们没有看到来自社区这一方向上的努力,我会感到奇怪。
|
||||
|
||||
但是我之所以不认为它会从规范社区发生,至少目前还没有,是今年早些时候Jono Bacon个人思想的共鸣:时间和努力。
|
||||
|
||||
Tim Cook在他的主题演讲中说道:“*我们并没有追随iPhone,也没有缩水用户界面,将其强硬捆绑在你的手腕上。*”这是一个很明显的陈述。为如此小的屏幕设计UI和UX模型;通过交互原则工作;对硬件和输入模式的恭维,都不是一件容易的事。
|
||||
|
||||
可穿戴技术仍然是一个新兴的市场。在这个阶段,Canonical将会浪费发展,设计以及进行中的业务。在一些更为紧迫的地区,任何利益的重要性将要超过损失。
|
||||
|
||||
玩一局更久的游戏,等待直到看出那些努力在何地成功和失败,这是一条更难的路线。但是更适合Ubuntu的就是今天。在新产品出现之前,让Canonical把力量用在现存的产品上是更好的选择(这是一些已经来迟的理论)
|
||||
|
||||
想更进一步了解什么是Ubuntu智能手表,点击下面的[视频][2]。它展示了一个互动的主体性皮肤Tizen(它已经支持Samsung Galaxy Gear智能手表)。
|
||||
|
||||
---
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/09/ubuntu-smartwatch-apple-iwatch
|
||||
|
||||
作者:[Joey-Elijah Sneddon][a]
|
||||
译者:[su-kaiyao](https://github.com/su-kaiyao)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由[LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:https://plus.google.com/117485690627814051450/?rel=author
|
||||
[1]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year
|
||||
[2]:https://www.youtube.com/embed/8Zf5dktXzEs?feature=oembed
|
@ -1,62 +0,0 @@
|
||||
开源女巫狩猎归来!
|
||||
================================================================================
|
||||
![](http://readwrite.com/files/styles/1400_0/public/fields/shutterstock-open-gate.jpg)
|
||||
|
||||
> 开源软件社区已经做出了改变,就像之前的美好时光。
|
||||
|
||||
开源软件已经变的温和了,之前我们有的那些不纯洁的想法,可是随后我们却奇怪的和别人分享自己的代码与创作。
|
||||
|
||||
幸运的是,这种务实主义要结束了。在过去的几周当中,我们团结在Mozilla身边支持DRM版权保护以及嘲笑Red Hat和OpenStack之间的竞争。社区那些年如数家珍的开源软件明星和[Open Core][1]产生了冲突而被反噬了.
|
||||
|
||||
多么怀念啊。
|
||||
|
||||
|
||||
### 2003年的Red Hat ###
|
||||
|
||||
Red Hat,开源软件理想主义的典范,在几周前拒绝支持它的竞争对手。Jodi Mardesich做了[非凡的工作][2]却受到了指控以及Red Hat的回击。但是真实情况是:
|
||||
|
||||
Red Hat不想支持它的竞争对手OpenStack
|
||||
|
||||
在另外一边这难道算是新闻吗?
|
||||
|
||||
|
||||
### Mozilla变成了麻瓜 ###
|
||||
|
||||
Red Hat作为开源软件理想主义的典范代表很容易成为各种带颜色攻击的目标,Mozilla其实是更大的一个目标。
|
||||
|
||||
Mozilla承诺为用户服务的罪过,它最近进行了一场自我牺牲似的行动违背CEO的策略同意加入DRM的技术,即纯Firefox浏览器源码可以使用户观看视频。
|
||||
|
||||
人们想看视频,Mozilla倾向于在它的浏览器中观看。
|
||||
|
||||
最新消息,这一次失败,开源软件组织[批评了][3] Mozilla,深切表达了自己对于Mozilla的失望,因为这种决定妥协的态度会导致浏览器份额的降低。
|
||||
|
||||
但是,Mozilla为什么要做这样的傻事呢,为了用户,你懂的。
|
||||
|
||||
说教部门不甘示弱,[电子前沿基金会感叹][4]到开放网络最后的抗争已经失败了。它对Mozilla失败的做法争论道:“接受DRM会改变这个行业”!DRM的倡导者一再妥协,一个公司又一个公司(PC行业)演变成一个行业,它通过锁定装置,监视器,接受每一个人的管理建立自己的利益关系。
|
||||
|
||||
[Mitchell Bake解释道][5],Mozilla可能并没有投降:“Firefox用户会需要使用另外的浏览器来观看他们自己想看的视频,这让人怀疑Firfox做一一个产品是否真的有用”。
|
||||
|
||||
Um, yes.
|
||||
|
||||
### 回到我们的思想源头 ###
|
||||
|
||||
However much we may want to force others to live by our absolutist ideals, the reality is that others may have different 我们或许很专制的意图其他的东西活着,事实上他们却有着不同的优先度。免费的软件让步给开源软件,更加严格,更加固定“正确的方式”去获得授权。
|
||||
|
||||
这种意识在目前还是有用的,但它并不总是方便和愉悦。我崇尚开源软件的实用主义,Apache软件基金会,这样有很大的好处提醒GPL组织在意识形态上的危机感。软件自由真的很重要。
|
||||
|
||||
这么多悲观的言论,我自己也感到了恐惧,希望回到一个不断会自我鞭策的免费的开软软件的组织。这使开源软件协作变少而且更难驾驭,但是会变得更有力而且关乎未来。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2014/05/21/open-source-witch-hunt-mozilla-openstack-redhat#feed=/hack&awesm=~oEYDhxfP0Qv5hE
|
||||
|
||||
译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://en.m.wikipedia.org/wiki/Open_core
|
||||
[2]:http://readwrite.com/2014/05/16/red-hat-openstack-mirantis-rhel-support
|
||||
[3]:http://www.fsf.org/news/fsf-condemns-partnership-between-mozilla-and-adobe-to-support-digital-restrictions-management
|
||||
[4]:https://www.eff.org/deeplinks/2014/05/mozilla-and-drm
|
||||
[5]:https://blog.mozilla.org/blog/2014/05/14/drm-and-the-challenge-of-serving-users/
|
@ -0,0 +1,73 @@
|
||||
The history of Android
|
||||
================================================================================
|
||||
![T-Mobile G1](http://cdn.arstechnica.net/wp-content/uploads/2014/04/t-mobile_g1.jpg)
|
||||
T-Mobile G1
|
||||
T-Mobile供图
|
||||
|
||||
### 安卓1.0——谷歌系app和实体硬件的引入 ###
|
||||
|
||||
到了2008年10月,安卓1.0已经准备好发布,这个系统在[T-Mobile G1][1](又以HTC Dream为人周知)上初次登台。G1进入了被iPhone 3G和[Nokia 1680 classic][2]所主宰的市场。(这些手机并列获得了2008年[销量最佳手机][3]称号,各自卖出了350万台。)G1的销量数字已难以获得,但T-Mobile宣称截至2009年4月该设备的销量突破了100万台。无论从哪方面来说这在竞争中都处于落后地位。
|
||||
|
||||
G1拥有单核528Mhz的ARM 11处理器,一个Adreno 130的GPU,192MB内存,以及多达256MB的存储空间供给系统以及应用使用。它有一块3.2英寸,320x480分辨率的显示屏,被布置在一个含有实体全键盘的滑动结构之上。所以尽管安卓软件的确走过了很长的一段路,硬件也是的。时至今日,我们可以在厂商的一个手表中得到比这更好的参数:最新的[三星智能手表][4]拥有512MB内存以及1GHz的双核处理器。
|
||||
|
||||
当iPhone有着最少数量的按键的时候,G1确实完全相反的,按键几乎支持每个硬件控制。它有拨通和挂断按钮,home键,后退,以及菜单键,一个相机快门键,音量控制键,一个轨迹球,当然,还有50个键盘按钮。未来安卓设备将会慢慢离开按键多多的界面设计,几乎每部新旗舰都在减少按键的数量。
|
||||
|
||||
但是这是第一次,人们见到了运行在实机上的安卓,而不是跑在一个令人沮丧的慢吞吞的模拟器上。安卓1.0没有iPhone那样顺滑流畅,闪亮耀眼,或拥有那么多的新闻报道。它也不像Windows Mobile 6.5那样才华横溢。但这仍然是个好的开始。
|
||||
|
||||
![安卓1.0和0.9的默认应用列表。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/apps.png)
|
||||
安卓1.0和0.9的默认应用列表。
|
||||
Ron Amadeo供图
|
||||
|
||||
安卓1.0的核心与两个月前发布的beta版本相比看起来并没有什么引人注目的不同,但消费者产品带来了不少应用,包括一套完整的谷歌系应用。日历,电子邮件,Gmail,即时通讯,市场,设置,语音拨号,以及YouTube都是全新登场。那时候,音乐是智能手机上占据主宰地位的媒体类型,其王者是iTunes音乐商店。谷歌没有自家的音乐服务,所以它选择了亚马逊并绑定了亚马逊MP3商店。
|
||||
|
||||
安卓最重要的新增是谷歌商店的首次登场,叫做“安卓市场Beta”。与此同时大部分公司满足于将它们的软件目录称作一些不同的“应用商店”——意思是一个出售应用的商店,并且只出售应用——谷歌明显有着更大的野心。它搭配了一个更为通用的名字,“安卓市场”。这个名字的想法是安卓市场不仅仅拥有应用,还拥有一切你的安卓设备所需要的东西。
|
||||
|
||||
![第一个安卓市场客户端。截图展示了主页,“我的下载”,一个应用页面,以及一个应用权限页面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/market.png)
|
||||
第一个安卓市场客户端。截图展示了主页,“我的下载”,一个应用页面,以及一个应用权限页面。
|
||||
[Google][5]供图
|
||||
|
||||
那时候,安卓市场只提供应用和游戏,开发者们甚至还不能为它们收费。苹果的App Store相对与安卓市场有4个月的先发优势,但是谷歌的主要差异化在于安卓的商店几乎是完全开放的。在iPhone上,应用受制于苹果的审查,必须遵循设计和技术指南。潜在的新应用不允许在功能上复制已有应用。在安卓市场,开发者可以自由地做任何想做的,包括开发替代已有的应用。控制的缺失会转变成祝福同时也是诅咒。它允许开发者革新已有的功能,但同时意味着甚至是毫无价值的垃圾应用也被允许进入市场。
|
||||
|
||||
现在,这个客户端是又一个不再能够和谷歌服务器通讯的应用。幸运的是,它也是在因特网上被[真正记录][6]的为数不多的早期安卓应用之一。主页提供了通向一般区域的连接,像应用,游戏,搜索,以及下载,顶部有横向滚动显示的特色应用图标。搜索结果和“我的下载”页面以滚动列表的方式显示应用,显示应用名,开发者,费用(在那时都是免费的),以及评分。单独的应用页面展示了一个简短的描述,安装数,用户评论和评分,以及最重要的安装按钮。早期的安卓市场不支持图片,开发者唯一能使用的区域是应用描述,还有着500字的限制。这使得类似维护一个更新日志变的十分困难,因为只有描述的位置可以供其使用。
|
||||
|
||||
就在安装之前,安卓市场显示了应用所需要的权限。这是苹果直至2012年之前都避免做的,那年一个iOS应用被发现在用户不知情的情况下[将完整的通讯录上传][7]到云端。权限显示给出了一个完整的应用用到的权限列表,尽管这个版本强迫用户同意应用权限。界面有个“OK”按钮,但是除了后退按钮没有办法取消。
|
||||
|
||||
![Gmail展示收件箱,打开菜单的收件箱。 ](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail1.01.png)
|
||||
Gmail展示收件箱,打开菜单的收件箱。
|
||||
Ron Amadeo供图
|
||||
|
||||
下一个重要的应用也许就是Gmail。大多数基本的功能此时已经准备好了。未读邮件以加粗显示,标签是个有颜色的标记。在收件箱中每封独立邮件显示着主题,发件人,以及一个会话中的回复数。Gmail加星标志也在这里——快速点击即可给邮件加星或取消。一如往常,对于早期版本的安卓,菜单里有收件箱视图应有的所有按钮。但是,一旦打开了一封邮件,界面看起来就更加的现代了,“回复”和“转发”按钮永久固定在了屏幕底部。各个独立回复可以点击它们来展开和收缩。
|
||||
|
||||
圆角,阴影,以及气泡图标给了整个应用“卡通”的外表,但是这是个好的开始。安卓的功能第一哲学真正从此开始:Gmail支持标签,邮件会话,搜索,以及邮件推送。
|
||||
|
||||
![Gmail在安卓1.0的标签视图,写邮件界面,以及设置。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail3.png)
|
||||
Gmail在安卓1.0的标签视图,写邮件界面,以及设置。
|
||||
Ron Amadeo供图
|
||||
|
||||
但是如果你认为Gmail很丑,电子邮件应用又拉低了下限。它没有分离的收件箱或文件夹视图——所有东西都糊在一个界面。应用呈现给你一个文件夹列表,点击一个文件夹会以内嵌的方式展开内容。未读邮件左侧有条绿色的线指示,这就是电子邮件应用的界面。这个应用支持IMAP和POP3,但是没有Exchange。
|
||||
|
||||
----------
|
||||
|
||||
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
|
||||
|
||||
[Ron Amadeo][a] / Ron是Ars Technica的评论编缉,专注于安卓系统和谷歌产品。他总是在追寻新鲜事物,还喜欢拆解事物看看它们到底是怎么运作的。
|
||||
|
||||
[@RonAmadeo][t]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/
|
||||
|
||||
译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://arstechnica.com/gadgets/2008/10/android-g1-review/
|
||||
[2]:http://en.wikipedia.org/wiki/Nokia_1680_classic
|
||||
[3]:http://en.wikipedia.org/wiki/List_of_best-selling_mobile_phones#2008
|
||||
[4]:http://arstechnica.com/gadgets/2014/04/review-we-wear-samsungs-galaxy-gear-and-galaxy-fit-so-you-dont-have-to/
|
||||
[5]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html
|
||||
[6]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html
|
||||
[7]:http://arstechnica.com/gadgets/2012/02/path-addresses-privacy-controversy-but-social-apps-remain-a-risk-to-users/
|
||||
[a]:http://arstechnica.com/author/ronamadeo
|
||||
[t]:https://twitter.com/RonAmadeo
|
@ -0,0 +1,108 @@
|
||||
基本的命令行工具有哪些更好的替代品
|
||||
================================================================================
|
||||
命令行听起来有时候会很吓人, 特别是在刚刚接触的时候. 你甚至可能做过有关命令行的噩梦. 然而渐渐地, 我们都意识到命令行实际上并不是那么吓人, 反而是非常有用. 实际上, 没有命令行正是每次我使用 Windows 时让我感到崩溃的地方. 这种感觉上的变化是因为命令行工具实际上是很智能的. 你在任何一个 Linux 终端上所使用的基本工具功能都是很强大的, 但还远说不上是足够强大. 如果你想使你的命令行生涯更加愉悦, 这里有几个程序你可以下载下来替换原来的默认程序, 它还可以给你提供比原始程序更多的功能给你提供比原始程序更多的功能.
|
||||
|
||||
### dfc ###
|
||||
|
||||
作为一个 LVM 使用者, 我非常喜欢随时查看我的硬盘存储器的使用情况. 我也从来没法真正理解为什么在 Windows 上我们得打开资源管理器来查看电脑的基本信息. 在 Linux 上, 我们可以使用如下命令:
|
||||
|
||||
$ df -h
|
||||
|
||||
![](https://farm4.staticflickr.com/3858/14768828496_c8a42620a3_z.jpg)
|
||||
|
||||
该命令可显示电脑上每一分卷的大小, 已使用空间, 可用空间, 已使用空间百分比和挂载点. 注意, 我们必须使用 "-h" 选项使得所有数据以可读形式显示(使用 GiB 而不是 KiB). 但你可以使用 [dfc][1] 来完全替代 df, 它不需要任何额外的选项就可以得到 df 命令所显示的内容, 并且会为每个设备绘制彩色的使用情况图, 因此可读性会更强.
|
||||
|
||||
![](https://farm6.staticflickr.com/5594/14791468572_a84d4b6145_z.jpg)
|
||||
|
||||
另外, 你可以使用 "-q" 选项将各分卷排序, 使用 "-u" 选项规定你希望使用的单位, 甚至可以使用 "-e" 选项来获得 csv 或者 html 格式的输出.
|
||||
|
||||
### dog ###
|
||||
|
||||
Dog 比 cat 好, 至少这个程序自己是这么宣称的, 你应该相信它一次. 所有 cat 命令能做的事, [dog][2] 都做的更好. 除了仅仅能在控制台上显示一些文本流之外, dog 还可以对其进行过滤. 例如, 你可以使用如下语法来获得网页上的所有图片:
|
||||
|
||||
$ dog --images [URL]
|
||||
|
||||
![](https://farm6.staticflickr.com/5568/14811659823_ea8d22d045_z.jpg)
|
||||
|
||||
或者是所有链接:
|
||||
|
||||
dog --links [URL]
|
||||
|
||||
![](https://farm4.staticflickr.com/3902/14788690051_7472680968_z.jpg)
|
||||
|
||||
另外, dog 命令还可以处理一些其他的小任务, 比如全部转换为大写或小写, 使用不同的编码, 显示行号和处理十六进制文件. 总之, dog 是 cat 的必备替代品.
|
||||
|
||||
### advcp ###
|
||||
|
||||
一个 Linux 中最基本的命令就是复制命令: cp. 它几乎和 cd 命令地位相同. 然而, 它的输出非常少. 你可以使用 verbose 模式来实时查看正在被复制的文件, 但如果一个文件非常大的话, 你看着屏幕等待却完全不知道后台在干什么. 一个简单的解决方法是加上一个进度条: 这正是 advcp (advanced cp 的缩写) 所做的! advcp 是 [GNU coreutils][4] 的一个 [补丁版本][3], 它提供了 acp 和 amv 命令, 即"高级"的 cp 和 mv 命令. 使用语法如下:
|
||||
|
||||
$ acp -g [file] [copy]
|
||||
|
||||
它把文件复制到另一个位置, 并显示一个进度条.
|
||||
|
||||
![](https://farm6.staticflickr.com/5588/14605117730_fe611fc234_z.jpg)
|
||||
|
||||
我还建议在 .bashrc 或 .zshrc 中设置如下命令别名:
|
||||
|
||||
alias cp="acp -g"
|
||||
alias mv="amv -g"
|
||||
|
||||
(译者注: 原文给出的链接已貌似失效, 我写了一个可用的安装脚本放在了我的 [gist](https://gist.github.com/b978fc93b62e75bfad9c) 上, 用的是 AUR 里的 [patch](https://aur.archlinux.org/packages/advcp))
|
||||
|
||||
### The Silver Searcher ###
|
||||
|
||||
[the silver searcher][5] 这个名字听起来很不寻常(银搜索...), 它是一款设计用来替代 grep 和 [ack][6] 的工具. The silver searcher 在文件中搜索你想要的部分, 它比 ack 要快, 而且能够忽略一些文件而不像 grep 那样.(译者注: 原文的意思貌似是 grep 无法忽略一些文件, 但 grep 有类似选项) the silver searcher 还有一些其他的功能, 比如彩色输出, 跟随软连接, 使用正则式, 甚至是忽略某些模式.
|
||||
|
||||
![](https://farm4.staticflickr.com/3876/14605308117_f966c77140_z.jpg)
|
||||
|
||||
作者在开发者主页上提供了一些搜索速度的统计数字, 如果它们仍然是真的的话, 那是非常可观的. 另外, 你可以把它整合到 Vim 中, 用一个简洁的命令来调用它. 如果要用两个词来概括它, 那就是: 智能, 快速.
|
||||
|
||||
### plowshare ###
|
||||
|
||||
所有命令行的粉丝都喜欢使用 wget 或其他对应的替代品来从互联网上下载东西. 但如果你使用许多文件分享网站, 像 mediafire 或者 rapidshare, 你一定很乐意了解一款专门为这些网站设计的对应的程序, 叫做 [plowshare][7]. 安装成功之后, 你可以使用如下命令来下载文件:
|
||||
|
||||
$ plowdown [URL]
|
||||
|
||||
或者是上传文件:
|
||||
|
||||
$ plowup [website name] [file]
|
||||
|
||||
如果你有那个文件分享网招的账号的话.
|
||||
|
||||
最后, 你可以获取分享文件夹中的一系列文件的链接:
|
||||
|
||||
$ plowlist [URL]
|
||||
|
||||
或者是文件名, 大小, 哈希值等等:
|
||||
|
||||
$ plowprobe [URL]
|
||||
|
||||
对于那些熟悉这些服务的人来说, plowshare 还是缓慢而令人难以忍受的 jDownloader 的一个很好的替代品.
|
||||
|
||||
### htop ###
|
||||
|
||||
如果你经常使用 top 命令, 很有可能你会喜欢 [htop][8] 命令. top 和 htop 命令都能对正在运行的进程提供了实时查看功能, 但 htop 还拥有一系列 top 命令所没有的人性化功能. 比如, 在 htop 中, 你可以水平或垂直滚动进程列表来查看每个进程的完整命令名, 还可以使用鼠标点击和方向键来进行一些基本的进程操作(比如 kill, (re)nice 等), 而不用输入进程标识符.
|
||||
|
||||
![](https://farm6.staticflickr.com/5581/14819141403_6f2348590f_z.jpg)
|
||||
|
||||
总的来说, 这些十分有效的基本命令行的替代工具就像那些有用的小珍珠一样, 它们并不是那么容易被发现, 但一旦你找到一个, 你就会惊讶你是如何忍受这么长没有它的时间. 如果你还知道其他的与上面描述相符的工具, 请在评论中分享给我们.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/07/better-alternatives-basic-command-line-utilities.html
|
||||
|
||||
作者:[Adrien Brochard][a]
|
||||
译者:[wangjiezhe](https://github.com/wangjiezhe)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/adrien
|
||||
[1]:http://projects.gw-computing.net/projects/dfc
|
||||
[2]:http://archive.debian.org/debian/pool/main/d/dog/
|
||||
[3]:http://zwicke.org/web/advcopy/
|
||||
[4]:http://www.gnu.org/software/coreutils/
|
||||
[5]:https://github.com/ggreer/the_silver_searcher
|
||||
[6]:http://xmodulo.com/2014/01/search-text-files-patterns-efficiently.html
|
||||
[7]:https://code.google.com/p/plowshare/
|
||||
[8]:http://hisham.hm/htop/
|
@ -0,0 +1,132 @@
|
||||
Linux 下 SSH 命令实例指南
|
||||
================================================================================
|
||||
如果你已经接触计算机比较长时间, 应该对 SSH 这个了不起的工具及其安全特性有所耳闻吧. 本教程可以让你在短时间内掌握通过 SSH 安全便利地连接到远程计算机的技术.
|
||||
|
||||
如果你对 SSH 还没什么概念, 可以先访问 [维基百科][1] 进行了解.
|
||||
|
||||
### 基本用法 ###
|
||||
|
||||
最简单的 SSH 命令只需要提供用户名和主机名参数即可. 主机名可以是 IP 地址或者域名. 命令格式如下:
|
||||
|
||||
$ ssh user@hostname
|
||||
|
||||
比如要登录到局域网内我的一个树莓派系统, 只需要简单的在命令行输入如下命令:
|
||||
|
||||
$ ssh pi@10.42.0.47
|
||||
|
||||
命令中的 pi 和 10.42.0.47 分别是我的树莓派系统的用户名和局域网 IP 地址. 实际使用时主机名需要改成你的目标主机(局域网内或者远程)的 IP 地址.
|
||||
|
||||
![basic ssh](http://linoxide.com/wp-content/uploads/2014/08/basic-ssh.png)
|
||||
|
||||
如果你能够成功登陆, 那么下面的内容对你来说就轻而易举了.
|
||||
|
||||
### 使用其他端口 ###
|
||||
|
||||
SSH 默认连接到目标主机的 22 端口上, 但是由于各种原因你可能需要连接到其他端口.
|
||||
|
||||
$ ssh -p 10022 user@hostname
|
||||
|
||||
如上命令就是通过添加参数 -p 指定端口号为 10022.
|
||||
|
||||
### 远程执行命令 ###
|
||||
|
||||
有时需要很方便地在远程主机执行一条命令并显示到本地, 然后继续本地工作. SSH 就能满足这个需求:
|
||||
|
||||
$ ssh pi@10.42.0.47 ls -l
|
||||
|
||||
比如上面这个命令就会枚举远程主机的主目录内容并在本地显示. 是不是很酷? 你可以尝试下其他命令看看.
|
||||
|
||||
![remote command](http://linoxide.com/wp-content/uploads/2014/08/remote-command.png)
|
||||
|
||||
### 挂在远程文件系统 ###
|
||||
|
||||
有一个很赞的基于 SSH 的工具叫 sshfs. sshfs 可以让你在本地直接挂载远程主机的文件系统.
|
||||
|
||||
$ sshfs -o idmap=user user@hostname:/home/user ~/Remote
|
||||
|
||||
比如下面这条命令:
|
||||
|
||||
$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi
|
||||
|
||||
该命令就将远程主机 pi 用户的主目录挂载到本地主目录下的 Pi 文件夹.
|
||||
|
||||
要详细了解可以参考 [sshfs 入门教程][2].
|
||||
|
||||
### X11 图形界面 ###
|
||||
|
||||
假如现在你想要在远程主机运行一个图形界面的程序, SSH 已经帮你想到了! 用前面提到的 SSH 基本命令加上参数 -X 连接到远程主机即可开启 X11 转发功能. 登录后你可能觉得没什么差别, 但是当你运行一个图形界面程序后就会发现其中的不同的.
|
||||
|
||||
$ ssh -X pi@10.42.0.47
|
||||
|
||||
$ pistore
|
||||
|
||||
如果你想在运行图形界面程序的同时做些别的事情, 只需要简单地在命令末尾加一个 & 符号.
|
||||
|
||||
$ pistore&
|
||||
|
||||
![X11 forwarding](http://linoxide.com/wp-content/uploads/2014/08/X11-forwarding.png)
|
||||
|
||||
### 转义字符 ###
|
||||
|
||||
SSH 提供了多样的转义字符功能. 用 SSH 连接到任意一台远程主机然后输入 ~? 你就可以看到支持的转义字符和功能说明列表. 以下例子展示了 **~#** 和 **~C** 的效果.
|
||||
|
||||
![escape sequences](http://linoxide.com/wp-content/uploads/2014/08/escape-sequences.png)
|
||||
|
||||
### 配置 SSH ###
|
||||
|
||||
如果你需要改变 SSH 的配置, 请用你喜好的文本编辑器打开 **/etc/ssh/sshd_config** 进行编辑. 比如你想改变登陆的标语, 在配置文件中找到下面这行:
|
||||
|
||||
#Banner none
|
||||
|
||||
删除 # 字符(取消该行的注释), 将 none 替换为包含你期望显示内容的文件地址. 修改后该行应该类似这样:
|
||||
|
||||
Banner /etc/issue
|
||||
|
||||
在配置文件 **/etc/ssh/sshd_config** 中你还可以找到端口号, 空闲超时时间等配置项. 配置项大都比较容易理解, 但是保险起见在你修改一些不是很确定的配置项时最好参考下 SSH 的帮助文档.
|
||||
|
||||
### 构建 ssh 密钥对 ###
|
||||
|
||||
运行以下命令创建密钥对:
|
||||
|
||||
$ ssh-keygen -t dsa
|
||||
|
||||
此命令会要求你输入密码(可以留空), 然后就会生成密钥并会显示一张该密钥对应的随机图.
|
||||
|
||||
![generate key pair](http://linoxide.com/wp-content/uploads/2014/08/generate-key-pair.png)
|
||||
|
||||
### 寻找主机密钥 ###
|
||||
|
||||
在你准备添加密钥之前不妨先用以下命令看看是否已经添加了对应主机的密钥了.
|
||||
|
||||
$ ssh-keygen -F 10.42.0.47
|
||||
|
||||
![find hostkey](http://linoxide.com/wp-content/uploads/2014/08/find-hostkey.png)
|
||||
|
||||
### 删除主机密钥 ###
|
||||
|
||||
某些情况下, 比如主机地址更改或者不再使用某个密钥, 你就可能需要删除某个密钥.
|
||||
|
||||
$ ssh-keygen -R 10.42.0.47
|
||||
|
||||
用以上命令就可删除. 这比手动在 **~/.ssh/known_hosts** 文件中删除要方便很多.
|
||||
|
||||
![remove hostkey](http://linoxide.com/wp-content/uploads/2014/08/remove-hostkey.png)
|
||||
|
||||
### 总结 ###
|
||||
|
||||
通过以上的内容你应该可以很轻松的使用 SSH 了. SSH 还有很多功能值得你去发掘, 这就要看你的想象力了.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/pocket-guide-linux-ssh-command/
|
||||
|
||||
作者:[Bobbin Zachariah][a]
|
||||
译者:[henryfour](https://github.com/henryfour)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/bobbin/
|
||||
[1]:http://en.wikipedia.org/wiki/Secure_Shell
|
||||
[2]:http://linoxide.com/how-tos/sshfs-mount-remote-directories/
|
@ -0,0 +1,61 @@
|
||||
Google drive和Ubuntu 14.04 LTS的胶合
|
||||
================================================================================
|
||||
Google尚未发布其**官方Linux客户端**,以用于从Ubuntu访问其drive。然开源社区却业已开发完毕非官方之软件包‘**grive-tools**’。
|
||||
|
||||
Grive乃是Google Drive(**在线存储服务**)的GNU/Linux系统客户端,允许你**同步**所选目录到云端,以及上传新文件到Google Drive。
|
||||
|
||||
### grive-tools安装步骤 ###
|
||||
|
||||
步骤:1 使用下列命令添加grive-tools PPA:
|
||||
|
||||
# sudo add-apt-repository ppa:thefanclub/grive-tools
|
||||
|
||||
步骤:2 更新列表
|
||||
|
||||
#sudo apt-get update
|
||||
|
||||
步骤:3 安装grive-tools
|
||||
|
||||
# sudo apt-get install grive-tools
|
||||
|
||||
### 访问Google Drive的步骤 ###
|
||||
|
||||
**步骤:1** 安装完了,通过输入**Grive**在**Unity Dash**搜索应用,并打开之。
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/access-grive-setup.png)
|
||||
|
||||
**步骤:2** 登入google drive,你将被问及访问google drive的权限。
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/gdrive.png)
|
||||
|
||||
点击**下一步**时,新的浏览器中讲打开**Google登录页**
|
||||
|
||||
登入你的Google帐号,并点击**接受**,如下所示:
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/thrid-party-grive.png)
|
||||
|
||||
**步骤:3** 下面将提供给你一个 **google代码**,复制并粘贴到**Grive设置框**内。
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/gdrive-code.png)
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/code-in-grive.png)
|
||||
|
||||
点击下一步后,将会开始同步google drive到你**家目录**下的‘**Google Drive**’文件夹。完成后,将出现如下窗口。
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/grive-installation-completed.png)
|
||||
|
||||
Google Drive folder created under **user's home directory**
|
||||
|
||||
![](http://www.linuxtechi.com/wp-content/uploads/2014/09/google-drive-folder.png)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxtechi.com/mount-google-drive-in-ubuntu/
|
||||
|
||||
作者:[Pradeep Kumar ][a]
|
||||
译者:[GOLinux](https://github.com/GOLinux)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.linuxtechi.com/author/pradeep/
|
@ -0,0 +1,38 @@
|
||||
如何在Crunchbang下回复Openbox的默认配置
|
||||
================================================================================
|
||||
[CrunchBang][1]是一个很好地融合了速度、风格和内容的基于Debian GNU/Linux的发行版。使用了灵活的Openbox窗口管理器,高度定制化并且提供了一个现代、全功能的GNU/Linux系统而没有牺牲性能。
|
||||
|
||||
Crunchbang是高度自定义的,用户可以尽情地地把它调整成他们想要的样子。这一切都通过文本文件(配置)。我作为一个Crunchbang用户,我最近搞乱了我的**menu.xml**配置文件,它负责下面的菜单显示。
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/curnchbang_menu_xml.png)
|
||||
|
||||
其中从菜单配置文件中去除了所有代码。由于我没有备份(最好备份配置文件)。我不得不搜索Crunchbang开箱即用的默认配置。这里就是我如何修复的过程,要感谢Crunchbang论坛。
|
||||
|
||||
了解所有为你预备份的默认配置是很有趣的,你可以在这里找到:
|
||||
|
||||
/etc/skel/.config/
|
||||
|
||||
因此对于任何默认配置,你只需复制他们并重启适当的程序。
|
||||
|
||||
我在这里使用Openbox的**menu.xml**作为示例:
|
||||
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/curnchbang_menu_xml_etc.png)
|
||||
|
||||
cp -r /etc/skel/.config/openbox/menu.xml ~/.config/openbox/menu.xml
|
||||
|
||||
接着重启openbox。
|
||||
|
||||
openbox --restart
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/recover-default-openbox-config-files-crunchbang/
|
||||
|
||||
作者:[Enock Seth Nyamador][a]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.unixmen.com/author/seth/
|
||||
[1]:http://crunchbang.org/
|
@ -1,12 +1,13 @@
|
||||
[Quick Tip] How To List All Installed Packages On Linux Distributions
|
||||
2q1w2007翻译中
|
||||
[小贴士] 怎么在Linux发行版下列出所有安装了的包
|
||||
================================================================================
|
||||
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/linux-790x536.png)
|
||||
|
||||
To list all installed package on a Linux system depends on which distribution you are running and the package management mode used.
|
||||
列出所有安装了的包的方法取决于你用什么发行版以及包管理器。
|
||||
|
||||
In this tutorial, we are going to look at commands on some of the notable and popularly used distros.
|
||||
在这个教程里,我们将提供主流发行版的命令。
|
||||
|
||||
**NOTE**: You can pipe the less command OR redirected to a text file using the redirection operator (>). Below are examples
|
||||
**注意**: 你可以用管道筛选或者用重定向符(>)来把结果重定向到一个文件。例子如下。
|
||||
|
||||
example | less
|
||||
|
||||
@ -38,14 +39,14 @@ In this tutorial, we are going to look at commands on some of the notable and po
|
||||
|
||||
dpkg -l
|
||||
|
||||
Good day.
|
||||
祝你有好的一天。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.unixmen.com/quick-tip-list-installed-packages-linux-distributions/
|
||||
|
||||
作者:[Enock Seth Nyamador][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
译者:[2q1w2007](https://github.com/2q1w2007)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -0,0 +1,54 @@
|
||||
2q1w2007翻译中
|
||||
QuiteRSS: Linux桌面的RSS阅读器
|
||||
================================================================================
|
||||
[QuiteRSS][1]是一个自由而[开源][2]的RSS/Atome阅读器。它可以运行在Windows , Linux和Mac上运行。它用C++/QT编写,所以它会有更好的未来。
|
||||
|
||||
QuiteRSS的界面让我想起Lotus Notes mail,会有很多RSS信息排列在大小合适的方块上,你可以通过标签分组。需要查找东西时,只需在下面板上打开RSS信息。
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/QuiteRSS_Ubuntu.jpeg)
|
||||
|
||||
除了上述功能,它还有一个广告屏蔽器,一个报纸输出视图,通过URL特性导入RSS等众多功能。你可以在[这里][3]查找到完整的功能列表。
|
||||
|
||||
### 在 Ubuntu 和 Linux Mint 上安装 QuiteRSS ###
|
||||
|
||||
QuiteRSS在Ubuntu 14.04 和 Linux Mint 17中可用。你可以很简单的通过以下命令行安装:
|
||||
|
||||
sudo apt-get install quiterss
|
||||
|
||||
如果你想安装最新的稳定版本,你可以用官方的[QuiteRSS PPA][4]:
|
||||
|
||||
sudo add-apt-repository ppa:quiterss/quiterss
|
||||
sudo apt-get update
|
||||
sudo apt-get install quiterss
|
||||
|
||||
上面的命令在所有基于Ubuntu的发行版像 Linux Mint, Elementary OS, Linux Lite, Pinguy OS 都应该好用。在其他Linux发行版和平台上,你可以从 [下载页][5]获得源码来安装.
|
||||
|
||||
### 卸载 QuiteRSS ###
|
||||
|
||||
用下方命令卸载 QuiteRSS:
|
||||
|
||||
sudo apt-get remove quiterss
|
||||
|
||||
如果你用了PPA,你还需要从源列表中把仓库删除:
|
||||
|
||||
sudo add-apt-repository --remove ppa:quiterss/quiterss
|
||||
|
||||
QuiteRSS是一个不错的开源RSS阅读器,尽管我更喜欢[Feedly][6]。尽管现在 Feedly 还没有Linux桌面程序,但是你依然可以在网页浏览器中使用。我希望你会认为QuiteRSS值得一试。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/quiterss-rss-reader-desktop-linux/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[2q1w2007(https://github.com/2q1w2007)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/Abhishek/
|
||||
[1]:http://quiterss.org/
|
||||
[2]:http://itsfoss.com/category/open-source-software/
|
||||
[3]:http://quiterss.org/en/about
|
||||
[4]:https://launchpad.net/~quiterss/+archive/ubuntu/quiterss/
|
||||
[5]:http://quiterss.org/en/download
|
||||
[6]:http://feedly.com/
|
Loading…
Reference in New Issue
Block a user