Skip to content Skip to main navigation Skip to footer

Linux

Linux:在Ubuntu中使用CTRL-ALT-BACKSPACE重启X

升级到Ubuntu 11.04后,经常离开较长时间后,机器会自动休眠,然后导致屏幕显示黑屏,只能显示一个鼠标指针。这个时候键盘虽然未锁死,但是也没有办法进行任何有效的操作——只能强制断电重启。

尝试用CTRL-ALT-BACKSPACE来重启X-Windows,却发现在Ubuntu中现在已经禁用了这个快捷键。可以通过如下方法来打开这个功能:

从Ubuntu 9.04开始,Ubuntu为了避免误按这个快捷键,默认将其屏蔽了。不过,如果你需要这个快捷键,可以通过X keymap(XKB)来配置打开这个功能(以前是通过X-Windows的“DontZap”选项设置的)。

设置方法如下:

打开“控制中心”的“键盘”(不是“键盘快捷键”),在“布局”选项卡里,选择“选项”:

显示如下:

将“Key sequence to kill the X server”下的“Control + Alt + Backspace”选项选中即可。

这样就可以使用这个快捷键来在意外情形下来重启X-Windows了。

 

 

 

Linux:【推荐】10个既绚又实用的JQuery特效教程

导读:作者Aamir Baigdesignersdare.com分享了一篇文章《10 Must See jQuery Latest Tutorials-Beginners and Advance Level》,文中对初学者和资深学者分别提供了不同级别的教程,使用JQuery做出的既炫丽又实用的效果,现将本文摘译,以下是文章内容:

此篇文章是JQuery高级教程,但对初学者学习JQuery也有一定的帮助。

首先让我们先对初学者谈谈如何开始学习JQuery。对于初学者学习JQuery来说是一个很不错的简短教程。

初学者教程:

让我们开始为初学者讲解JQuery的初步知识。在本教程中,您将学到如何下载JQuery库、添加项目、开发简单的程序、加载页面警告消息弹出窗口。

第一步:下载JQuery库

首先点击链接http://code.jquery.com/jquery-1.4.2.min.js下载JQuery库,保存在本地文件中。

第二步:在网页中添加JQuery库

在页面中添加Query库代码,代码如下:

  1. script> 

第三步:添加警告窗口JQuery代码

在页面中添加页面上加载警告窗口代码,代码如下:


$(document).ready(function() {}函数调用已经准备就绪。在这个函数中添加了JavaScript函数显示警告信息。这个是一个非常简单的例子,添加后在屏幕上提示信息“jQuery tutorial for beginners Example(JQuery初学者示例教程)”。

点击查看示例:http://designersdare.com/jquery-tutorial/jquery-tutorial.html

中级和高级用户使用的JQuery教程

1.JQuery随机背景滚动效果教程

 

使用JQuery做出的动画背景,这是一个简单但很实用的简短教程。点击查看示例

2.JQuery制作聚光灯教程

聚光灯效果随着鼠标的移动而突显图像。点击查看示例

3.JQuery下拉菜单效果教程

简单实用、易于定制的下拉菜单。点击查看示例

4.JQuery教程设计

在此处列出教程中有价值的标题:

如何寻找元素?

1.简单的幻灯片模板

2.简单的消失效果

3.过渡效果

4.可折叠标签

5.动画悬停效果

6.全部模块可点击

7.可折叠模板

8.类似WordPress的后台评论

9.图片画廊

10.不同样式的链接类型

5.如何添加图片放大镜效果

非常专业、有趣的教程,创建属于自己的放大图片效果。

6.跨浏览器blockquote使用CSS和JQuery

网页设计师们经常使用Blockqoutes在自己的作品中。本教程可以教您如何在页面上引用

标签。

7.处理大量元素的控件提示

有很多的JQuery控件提示工具,其中有一些是非常实用的,供大家参考。

8.JQuery创建分页系统

本教程提供如何为您的网站创建一个分页系统。点击查看示例

9.JQuery的AJAX标签

在网页上自由创建您自己想要的标签。使您的网页脚本更加快速、安全。

10.漂亮的滑动导航:CSS、JQuery教程

我将告诉您如何创建出滑动效果的菜单和导航,当您的鼠标移到导航区域,导航自动滑出,鼠标离开导航自动隐藏。点击查看示例

(张祺/译)

 

转自http://sd.csdn.net/a/20110620/300134.html

Linux:Sina App Engine与Google App Engine区别对比

新浪推出了自己的云计算服务平台,和Google一样,都叫App Engine。根据NIST对于云计算的定义,Google App Engine属于PaaS平台型服务,那么它具体提供什么样的服务,新浪推出的Sina App Engine和Google的又有哪些区别呢?

背景

云计算服务在Google、Amazon等公司成功产品的引领下,正在商业化的道路上大步向前。在NIST的定义中,有三种云计算服务模型。

  • Software as a Service (SaaS):软件即服务模型,用户直接使用构建在云端的软件。例如,Google Docs, Salesforce.com
  • Platform as a Service (PaaS):平台即服务模型,用户使用云平台所支持的语言和工具,开发应用并部署在云平台。例如,Google App Engine, Force.com
  • Infrastructure as a Service (IaaS):基础架构即服务模型,提供处理器、存储、网络等(虚拟)硬件资源给用户,用户可任意安装软件和开发环境,包括安装操作系统。例如,Amazon EC2, Joyent

可见,三种模型从应用到平台再到架构,越来越底层,用户得到的可操作性和灵活性也越来越大。

Google App Engine是什么?

Google App Engine(GAE) 提供一整套开发组件来让用户轻松地在本地构建和调试网络应用,之后能让用户在Google强大的基础设施上部署和运行网络应用程序。配置可随应用的访问量 和数据存储需要的增长轻松扩展,使用 GAE,将不再需要维护服务器:只需上传你的应用程序,它便可立即为你的客户提供服务。

简单来说,这和虚拟主机服务类似,只是运行环境不同。虚拟主机支持的是ASP, JSP, PHP等网页应用,而GAE现支持Java、Python和Google自家开发的Go这三种语言开发的应用程序,并为这三种语言提供基本相同的功能和API。

GAE提供大量的免费使用额度和灵活的资费标准。多达 500 MB 的存储空间,以及可支持每月约 500 万页面浏览量的足够的 CPU 和带宽,完全免费。选择付费服务则可按需提高相应配置。

功能支持

  • 网址抓取(URL Fetch):访问互联网上的资源,抓取检索数据。
  • 邮件(Mail): GAE可以利用基于Gmail的基础设施来发送电子邮件。
  • Memcache缓存:高性能的内存缓存保障,对于那些不需要持久性存储和事务功能的数据(例如临时数据或从数据存储区复制到缓存以进行高速访问的数据)很有用。
  • 图像操作(Image Manipulation):使用该 API,您可以对 JPEG 和 PNG 格式的图像进行缩放、裁剪、旋转和翻转,还能使用预先定义的算法提升图片的质量。
  • 计划任务和任务队列(Scheduled Tasks & Task Queues):允许将任务计划为按指定间隔运行,这些任务通常称为Cron job。另外可以通过在一个队列插入任务(以Web Hook的形式)来实现后台处理,GAE会根据调度方面的设置来安排这个队列里面的任务执行。

管理界面GAE与Google帐户集成,进行登录管理和用户认证。登录控制台http://appengine.google.com/

GAE管理平台

GAE管理平台

Sina App Engine是什么?

Sina App Engine(SAE),是由新浪公司开发和运营的开放云计算平台。SAE为App开发者提供稳定、快捷、透明、可控的服务化的平台,并且减少开发者的开发和维护成本。和GAE一样,他们都属于PaaS平台型云计算服务。

SAE通过Web Service Pool,提供以PHP+HTTP为基础的计算中心,这对于一个普通网站来说完全足够了。这样一来,大量草根站长就可以使用SAE来当做虚拟主机免费空间,希望开放注册后新浪能够有足够技术和经济实力支撑住整个平台。

与传统主机托管服务相比而言,传统托管面向的是硬件软件设备,使用者得到的也是设备的使用权;而SAE面向的服务,使用者得到的是服务的使用权。开发者可以在其上通过在线调试、日志分析、协作共享等功能进行web开发。

最重要的是SAE提供的完整的分布式web服务的解决方案,具有高可靠性,开发者只需专注于应用的功能开发,而不必担心故障宕机、服务扩容,甚至不 用关心主辅同步和读写分离,因为所有这些SAE都已经为用户完整提供。与虚拟主机采用固定计费的方式不同,SAE采用预充值方式,“所付即所用,所付仅所 用”,按需付费更加灵活和节省成本,web服务的一切损耗均提供报表查询和账单汇总,用户一目了然。SAE可以为运营节约成本,包括运维成本。

使用SAE云计算,省钱+高效+可靠。由此可以预见,国内的虚拟主机商可能将因此面临不小的冲击。

功能支持

  • PHP运行环境
  • MySQL:分布式数据库服务,通过RDC提供
  • Memcache:分布式缓存服务
  • Storage:文件存储服务
  • Cron:定时服务
  • Image:图像处理服务
  • FetchURL:网页抓取服务
  • Mail:邮件服务
  • TaskQueue:异步轻量级任务队列
  • DeferredJob:异步大任务延迟队列
  • Counter:计数器服务

从上面可以看到,Sina App Engine提供了大部分Google App Engine支持的功能,另外SAE选择PHP作为首选支持语言,并支持MySQL数据库。这主要是因为PHP语言在目前国内Web开发的比重最大。未来 SAE会考虑支持更多的Web开发语言,如Python、Java等。

在SAE上的所有服务都具有大型分布式系统的高可靠性、高扩展性、易维护性等优点。目前SAE的内核(即Runtime)和大部分服务之间的通讯是 采用HTTP REST方式,SAE平台理论上可以对接各种服务,对接的第三方服务和内部服务一样可以通过在线管理平台进行管理、查看统计配额、计费等。

管理界面登录http://sae.sina.com.cn,可以通过Web在线管理平台对应用进行管理。目前可以使用新浪微博帐号登录,并支持OAuth。

SAE在线管理平台

SAE在线管理平台

SAE和GAE的比较

  Sina App Engine Google App Engine
云计算模型 PaaS PaaS
支持语言 PHP Java、Python、Go
数据库支持 MySQL 最大5GB 暂不支持
每个帐号可拥有app数量 10个 10个
单app存储限额 最多10GB,单文件不大于4M 1GB免费,无最大上限
代码大小 每帐户不超过100M,单app总代码不超过50M 单app不超过150MB
绑定域名 需另行申请,备案 支持
免费额度 各项服务通过扣除虚拟货币“云豆”实现限额。每日免费发放200云豆(实名认证后1000云豆) 每日6.5 CPU-hours,流入流出带宽各1GB,存储1GB。具体额度
超过免费限额的收费标准 1元=100云豆,暂未支持支付 流入带宽:0.1美元/GB流出带宽:0.12美元/GBCPU 时间:0.1美元/CPU小时存储:0.15美元/GB 每月

现在国内的企业都在嚷嚷着云计算,不过一直都是雷声 大,雨点小,多数仅仅是属于概念炒作而已。而Sina App Engine的出现却让人眼前一亮,这个平台如果能够完善下去,的确可以成为中国云计算服务的典范。

注册Sina App Engine:http://sae.sina.com.cn/注册Google App Engine:https://appengine.google.com/

Linux:InnoDB还是MyISAM 再谈MySQL存储引擎的选择

  两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁。而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用。

  我作为使用MySQL的用户角度出发,Innodb和MyISAM都是比较喜欢的,但是从我目前运维的数据库平台要达到需求:99.9%的稳定性,方便的扩展性和高可用性来说的话,MyISAM绝对是我的首选。

  原因如下:

  1、首先我目前平台上承载的大部分项目是读多写少的项目,而MyISAM的读性能是比Innodb强不少的。

  2、MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。

  3、从平台角度来说,经常隔1,2个月就会发生应用开发人员不小心 update一个表where写的范围不对,导致这个表没法正常用了,这个时候MyISAM的优越性就体现出来了,随便从当天拷贝的压缩包取出对应表的文 件,随便放到一个数据库目录下,然后dump成sql再导回到主库,并把对应的binlog补上。如果是Innodb,恐怕不可能有这么快速度,别和我说 让Innodb定期用导出xxx.sql机制备份,因为我平台上最小的一个数据库实例的数据量基本都是几十G大小。

  4、从我接触的应用逻辑来说,select count(*) 和order by 是最频繁的,大概能占了整个sql总语句的60%以上的操作,而这种操作Innodb其实也是会锁表的,很多人以为Innodb是行级锁,那个只是 where对它主键是有效,非主键的都会锁全表的。

  5、还有就是经常有很多应用部门需要我给他们定期某些表的数 据,MyISAM的话很方便,只要发给他们对应那表的frm.MYD,MYI的文件,让他们自己在对应版本的数据库启动就行,而Innodb就需要导出 xxx.sql了,因为光给别人文件,受字典数据文件的影响,对方是无法使用的。

  6、如果和MyISAM比insert写操作的话,Innodb还达不到MyISAM的写性能,如果是针对基于索引的update操作,虽然MyISAM可能会逊色Innodb,但是那么高并发的写,从库能否追的上也是一个问题,还不如通过多实例分库分表架构来解决。

  7、如果是用MyISAM的话,merge引擎可以大大加快应用部门的开发速度,他们只要对这个merge表做一些select count(*)操作,非常适合大项目总量约几亿的rows某一类型(如日志,调查统计)的业务表。

  当然Innodb也不是绝对不用,用事务的项目如模拟炒股项目,我就是用Innodb的,活跃用户20多万时候,也是很轻松应付了,因此我个人也是很喜欢Innodb的,只是如果从数据库平台应用出发,我还是会首选MyISAM。

  另外,可能有人会说你MyISAM无法抗太多写操作,但是我可以通 过架构来弥补,说个我现有用的数据库平台容量:主从数据总量在几百T以上,每天十多亿 pv的动态页面,还有几个大项目是通过数据接口方式调用未算进pv总数,(其中包括一个大项目因为初期memcached没部署,导致单台数据库每天处理 9千万的查询)。而我的整体数据库服务器平均负载都在0.5-1左右。

Linux:用 Ubuntu 搭建一个 Ruby on Rails 本地开发环境

想要开发 Ruby on Rails 应用吗?虽然已经有一些(初级的)Ruby on Rails 教程了,但是似乎在如何搭建一个简洁而更新的本地开发环境方面还有些不甚确定的地方。这个教程将引导你通过几个步骤来搭建一个基于 Ubuntu 的 Ruby on Rails 本地开发环境。而这个教程的即将发布的第二部分,将帮助你搭建一个 Ubuntu VPS。当前你暂时知道 VPS 是虚拟私有服务器的意思就可以了,让我们先将注意力转回到如何搭建本地开发环境中。

Bf Frontpage in Set Up An Ubuntu Local Development Machine For Ruby On Rails

Ruby On Rails? Ubuntu?

什么是 Ruby on Rails?什么是 Ubuntu 呢?简单的说,Ruby on Rails 是一个 Web 开发框架,它可以让你使用 Ruby 语言开发 Web 应用。如其官方网站所述:“Ruby on Rails 是一个开源的 Web 开发框架,它可以提高程序员的编程乐趣和开发效率,它让你通过惯例优于配置的方式写出优美的代码。”而 Ubuntu,是一个“着重于可用性方面的 Debian Linux衍生发行版。”它是这些年最流行的 Linux 发行版。更妙的是,Ruby on Rails 和 Ubuntu 都是开源的,也就是说,它们完全免费!

Bf Ubuntu-300x79 in Set Up An Ubuntu Local Development Machine For Ruby On Rails

简述

在本教程中,我们使用 Ruby Version Manager (RVM)脚本来安装 Ruby on Rails 和 RubyGems,并使用 RubyGems 来安装 Rails 和 Capostrano。这个机器同时也提供版本控制功能,这是通过 Git 和 PostgreSQL 数据库来实现的。本教程需要一个新安装的 Ubuntu 机器和互联网连接,不过大多数的(Debian 和 Ubuntu 衍生版的)Linux 也应该可以。

在本教程写作时,所用的最新版本是:Ubuntu 10.10、Ruby 1.9.2 和 Rails 3.0.7。本教程也在 Ubuntu 10.04 和即将发布(译注:现已发布)的 Ubuntu 11.04 上测试通过。

在本教程中,我们需要大量使用 Linux 命令行。因此,我在文末附了一篇文中所用到的 Linux 命令的简短词汇表。

更新系统

那么让我们开始吧。首先以管理员身份(或通过 sudo )登录到你的机器,并打开一个终端窗口。下面的命令都需要在该窗口输入。美元符号$就是命令提示符,在其后直接输入命令并按回车即可。

前三个命令将更新软件包列表、升级当前安装的软件包、安装新的软件包并删除冲突的软件包。这样你的机器就会保持最新状态。最后的命令是重启机器,在大量更新了软件包后重启是一个不错的做法。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ sudo reboot

为安装 RVM 做准备

机器重启后,再次登录并打开一个终端窗口。RVM 脚本需要先安装好 Curl 和 Git。Curl 是一个使用多种协议(如 HTTP 或 FTP)进行数据传输的工具。而“Git 是一个免费的开源分布式版本控制系统,适用于从小型项目到非常大的项目,兼顾了速度和效率。”Git是多数 Ruby on Rails 开发者所选择的版本控制系统。

$ sudo apt-get install curl
$ sudo apt-get install git-core

Bf Git in Set Up An Ubuntu Local Development Machine For Ruby On Rails

配置Git

Git 会在 RVM 脚本中使用,我们也在在本教程的第二部分中使用它。安装之后,我们需要花一点时间来配置它。配置很容易:只要提供一个用户名和邮件地址即可。

$ git config --global user.name "Your Name"
$ git config --global user.email your-email@address.com

如:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@mail.com

安装 RVM

现在我们可以安装 RVM 了。RVM 的意思是 Ruby 版本管理器,“是一个命令行工具,让你容易的安装、管理和使用多个 Ruby 环境及其相应的 Gem 包。”下列命令来安装这个脚本。RVM 将安装在你当前登录用户的主目录里。

$ bash <

Bf Rvm in Set Up An Ubuntu Local Development Machine For Ruby On Rails

切换到主目录,然后修改用户的 bash 设置文件,以确保每次用户登录时候 RVM 脚本都会载入。我们使用 Nano 来编辑 bash 设置文件。Nano 是一个简单的命令行的文本编辑器,以后我们还会使用到它。

$ cd
$ nano .bashrc

在你的 bash 设置文件末尾加入以下行。编辑之后,按下 CTRL + O 保存,然后按 CTRL + X 退出 Nano。如果你希望不保存而退出 Nano,按下 CTRL + X 然后按 N。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

用以下命令行在当前登录中手动重新载入设置文件,也可以另外打开一个新的终端窗口自动载入。这样 rvm 命令就可以用了。

$ source .bashrc

你可以通过下列命令来检查 RVM 脚本是否可以工作。

$ type rvm | head -1

如果一切正常,命令将返回“rvm is a function”(rvm 是函数)。否则,可以访问 RVM 网站的“Troubleshooting your install”栏目找找解决办法。

为安装 Ruby 和 RubyGems 做准备

在从源代码编译和安装 Ruby 和 RubyGems 时,RVM 可以很方便的查看之间的软件包依赖关系。

$ rvm notes

可以列出标准版的 Ruby 所需的依赖包,和安装它们的命令。有些包也许已经安装好了。

$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev

使用 RVM 安装 Ruby 和 RubyGems

首先,我们要安装 Ruby,“一个动态的、开源的简单而高效的编程语言。它的优雅语法便于阅读并很容易编写。”

然后我们要安装 RubyGems,这是一个“首选的 Ruby 软件包系统。它提供了一个分发 Ruby 程序和库的标准格式,一个易于使用的管理 Gem 包的安装工具,一个在任何装有 RubyGems 的机器上提供 Gem 软件包的 Gem 服务器,和发布 Gem 软件包的标准方式。”

Bf Ruby in Set Up An Ubuntu Local Development Machine For Ruby On Rails

像上面的 RVM 命令描述的,RVM 也有一个命令可以看到哪个版本的 Ruby 可安装。通过以下命令查看哪些 Ruby 版本可以安装:

$ rvm list known

安装标准版的 Ruby,由于需要从源代码编译,所以需要一些时间。

$ rvm install 1.9.2

使用安装好的 Ruby 前,需要设置该版本为默认版本。

$ rvm --default use 1.9.2

检查一下 Ruby 和 RubyGems 的版本,来确保正确安装。

$ ruby -v
$ gem -v

如有必要,手动更新一下 RubyGems 和其他需要更新的 Gem 。

$ gem update --system
$ gem update

使用 RubyGems 安装 Rails

Rails 全部都打包在 Rails Gem 中。安装它是这个教程中最容易的部分。使用 RubyGems 来安装它,即 gem 命令。安装完成后,检查其版本来确保正确安装。

$ gem install rails
$ rails -v

Bf Rails-252x300 in Set Up An Ubuntu Local Development Machine For Ruby On Rails

使用 RubyGems 安装 Capistrano

Capistrano 是 “一个在多个服务器上运行脚本的开源工具。它的主要用途是分发 Web 应用。它自动将应用的新版本分发到一个或多个 Web 服务器上,包括执行相关的支持任务,如修改数据库。”使用 RubyGems 安装 Capistrano ,并检查其版本来确保正确安装。

$ gem install capistrano
$ cap -V

安装 PostgreSQL

PostgreSQL 是 “一个复杂的对象-关系数据库系统,支持绝大多数的 SQL 结构,如子查询、事务和用户定义的类型和函数。”安装 PostgreSQL 及其相关软件包。这些相关软件是稍后要安装的 pg Gem所需要的,pg Gem用于连接 PostgreSQL 和 Ruby on Rails。

$ sudo apt-get install postgresql libpq-dev

Bf Postgresql in Set Up An Ubuntu Local Development Machine For Ruby On Rails

配置 PostgreSQL

安装好之后,使用增强安全的 pSQL 来配置 PostgreSQL。pSQL 是一个 PostgreSQL 的交互终端,用于管理数据库任务。默认情况下,pSQL 登录时不需要口令。我们将修改认证模式并重新载入 PostgreSQL 配置。但在这之前,要给PostgreSQL的管理用户 postgres 指定一个口令。登录到 pSQL,给 postgres 指定一个安全的密码,然后退出 pSQL。

$ sudo -u postgres psql
# \password postgres
# \q

现在,将认证模式从 ident 修改为 md5。这将确保登录 pSQL 需要密码,且密码是加密存储的。需要修改的两行位于配置文件的末尾附近。修改后,重新载入 PostgreSQL 的配置。

$ sudo nano /etc/postgresql/8.4/main/pg_hba.conf
$ sudo /etc/init.d/postgresql reload

大多数的 PostgreSQL 的其它配置都存储在另外的配置文件中。那些配置也可以优化,不过不在本教程的范围内。让我们将注意力转回来,如果对其他配置做了修改,也需要重新载入以生效。

$ sudo nano /etc/postgresql/8.4/main/postgresql.conf

现在,本地开发环境已经安装完成!

测试设置

为了确认一切都正常,让我们开发一个非常小的应用,来了解一下 Ruby on Rails。这个过程包括以下步骤:

  • 为测试应用创建一个数据库用户
  • 为测试应用创建一个数据库
  • 使用 PostgreSQL 数据库创建一个测试应用
  • 安装测试应用需要的 Gem
  • 配置测试应用的数据库连接
  • 生成测试应用的简单框架
  • 迁移框架的数据库到测试应用的数据库
  • 启动内建的 Web 服务器
  • 用浏览器访问测试应用
  • 停止内建的 Web 服务器

当以上测试都顺利完成后,我们再进行如下步骤:

  • 删除测试应用的数据库
  • 删除测试应用的数据库用户
  • 删除测试应用

这些测试都在本地测试环境中进行。在VPS中测试的约定如下(数据库用户名和数据库名来自测试应用名):Box 1.1

    应用名称:test_app    数据库用户名:test_app    数据库用户密码:apple    数据库名:test_app_development

首先,使用 createuser 命令来创建测试应用的数据库用户。我们用 PostgreSQL 的管理用户 postgres 来操作,-P 参数表示交互输入密码。 “>”符号是提问的提示符。

$ sudo -u postgres createuser -P
> Enter name of role to add: test_app
> Enter password for new role: apple
> Enter it again: apple
> Shall the new role be a superuser? (y/n) n
> Shall the new role be allowed to create databases? (y/n) n
> Shall the new role be allowed to create more new roles? (y/n) n
> Password: your-postgres-user-password

然后,创建一个测试应用的数据库用户为属主的数据库。虽然我们可以使用 Rake 来创建数据库,但是我们要使用 PostgreSQL ,所以让我们学习一下基本的 PostgreSQL 管理吧。使用 createdb 命令并通过 -O 选项指定数据库用户名。这里,还会提示输入PostgreSQL 的管理用户的密码。

$ sudo -u postgres createdb -O test_app test_app_development
> Password: your-postgres-user-password

现在,数据库已经建好,可以创建实际的 Ruby on Rails 应用了。切换到你的主目录,创建一个名为 test_app 的 Rails 应用,并使用 PostgreSQL 作为数据库后端。-d 选项允许你指定首选的数据库类型。

$ cd
$ rails new test_app -d postgresql

进入到 Rails 应用目录,使用 Bundler 安装需要的 Gem。Bundler 会处理“一个应用在整个生命周期内跨越多个机器的依赖关系”,并且“只支持 Rails 3。”

$ cd test_app
$ bundle install

使用 Nano 修改数据库配置文件,在开发数据库配置中添加密码:“apple”。按照约定和Box 1.1中的设置,数据库名和数据库用户已经设置好了。

$ nano config/database.yml

现在生成一个基本的框架。这将创建一个 User 模型及其控制器。输入包括 name 和 email 字段,它们将存储在数据库中。

$ rails generate scaffold User name:string email:string

使用 Rake 迁移框架到开发数据库中。Rake 是 Ruby Make 的缩写。它是一个“简单的 Ruby 构建程序,类似于 Make,”允许你创建并迁移数据库。

$ rake db:migrate

现在,需要在浏览器中检查应用是否工作。启动内建的服务器,并用浏览器访问 http://localhost:3000/,特别是,要看看显示的测试应用的环境数据。再访问一下 http://localhost:3000/users,可以创建、编辑、查看和删除一些用户。

$ rails server

如果一切都看起来正常,就可以停止内建服务器了。

$ 按下 CTRL+C

当所有的工作都完成,你就可以删除这个测试应用的数据库及数据库用户了。使用 dropdb 来删除数据库。

$ sudo -u postgres dropdb test_app_development
> Password: your-postgres-user-password

使用 dropuser 来删除数据库用户。

$ sudo -u postgres dropuser
> Enter name of role to drop: test_app
> Password: your-postgres-user-password

最后,切换到你的主目录,删除全部的测试应用目录。主要就恢复到一个干净的本地开发环境了,可以用于开发 Ruby on Rails 应用了。

$ cd
$ rm -r test_app

将在稍后发布的教程的第二部分中,我们将帮助你通过几个步骤来建立一个 Ubuntu VPS,它用于运行(多个)Ruby on Rails 应用。

Linux 命令行参考

本教程中相关的 Linux 命令按照字母顺序列在下方。Linux 命令通常的格式是: 命令 -选项 参数,如:rm -r test_app。更多的细节,可以参考它们的帮助页面,可以用 man [命令]来查看。

  • sudo [command] 用于以管理员身份执行命令。
  • apt-get dist-upgrade 用于当前发行版的升级,它会自动处理依赖关系。
  • apt-get install [package] 用于安装软件包
  • apt-get update 用于更新软件包的索引。
  • apt-get upgrade 用于更新当前已经安装的软件包
  • bash <
  • cd [location] 切换目录,如没有参数则切换到用户主目录。
  • nano [file] 编辑文件。
  • reboot 重启机器。
  • rm -r [directory] 递归地删除目录(及其子目录)。
  • source [script] 手动强制 bash 读取一个脚本。
  • type [command] 显示 shell 中执行的命令类型。

参考链接

深入学习

VIA http://coding.smashingmagazine.com/2011/06/21/set-up-an-ubuntu-local-development-machine-for-ruby-on-rails/

Linux:5 款最好的 Linux 桌面发行版

2011 年已经过半,在前面的这一年半以来,Linux 桌面发行版发生了很多的事情,各大发行版争先恐后的发行了新的版本,Linux 桌面发行版的环境https://dn-linuxcn.qbox.me/data/attachment/album/201106/29/1618405f3x236pz2vv31v4.jpg已经发生了很多改变。这里我给大家推荐我认为的 5 款 Linux 桌面发行版。我不记得我是从什么时侯开始使用 Linux 的了,已经是很早的时侯了。我是一个从 Unix 桌面转向 Linux 桌面的用户,从最开始的 Unix 的 Bourne shell 字符界面到图形桌面,从 Open Deathtrap 到 Solaris’s Looking Glass。在过去的十多年间,我已经使用了几乎所有的重要的 Linux 桌面版本的发行版,我相信我介绍给大家的这些发行版应该具有一定的代表性,当然了,在其他作者写的类似的推荐 Linux 桌面发行版的文章中,这些版本的 Linux 桌面发行版也上榜率非常高,可能您已经砍过类似的很多的文章了。

我用 Linux 桌面发行版并不是因为它是开源的或者因为它和 Mac 和 Micorosoft 是竞争关系,我使用它是因为它更加适合作为一个技术工作者、作为一个实用主义者的使用。不过,从开源的角度来说,我觉得总比使用一个盗版更能让我心理上宽慰一些,不过如果需要做一个大型项目,很多时侯我还是会选择商业软件,这样会更有保障一些。这就是为什么我非常艰难的选择 Adobe Flash Player 作为 Flash 视频播放器,因为就目前的情况来看,它确实是更好的工具,同时我也使用商业的音视频编辑器。因为使用其他开源的编码格式如 Ogg Theora ,这是一个非常庞大的过程,并且会让其他播放者感到困扰,或许 HTML5 的解决方案会解决这些问题,但是我们现在还需要等待。

我非常喜欢开源操作系统,他们很容易使用,也让你更了解计算机的运行机制,这样我就可以让他们更符合我的工作需要,一般来说,我喜欢 KDE 和 GNOME 作为我的桌面环境。

下面就来看看我喜欢的 Linux 桌面发行版列表吧:

5) SystemRescueCD

这第一个呢,它本身并不是一个 Linux 桌面环境。而我在这里提到他是因为不论你使用那种桌面,你都有可能会需要到它。我建议我们每个人都有一份 SystemRescueCD 。SystemRescueCD 是一个可以从 CD-ROM 、USB 启动的 Linux 系统,它的作用是在我们的系统发生故障的时侯,可以用它来修复系统并且保护我们的数据。它的磁盘和文件系统修复工具能让硬盘起死回生。

它几乎支持所有的文件系统,包括 Linux 、Unix 、Windows 文件系统。我还没有遇到过只要硬盘还能转而它读取不出数据的情况。我已经成功的从 Windows 系统中获取了引导区的数据和通常我们认为硬盘已经报废的硬盘的数据。

这不只是一个零时救急工具,作为一个技术玩家,我们一定要有一份这个版本的 Linux 发行版。

4) OpenSUSE 11.4

https://dn-linuxcn.qbox.me/data/attachment/album/201106/29/161844u4fmqj3aj7j9ga73.png

我很爱使用的 OpenSUSE,我非常希望我能说我爱 OpenSUSE 11.4 ,但是我不能。哈。我最喜欢它的 KDE 4.6 接口。

我不是一个纯粹的 OpenSUSE 桌面粉丝,我更喜欢用它来作为服务器操作系统。虽然说作为服务器操作系统 Red Hat Enterprise Linux (RHEL) 和 CentOS 可能在服务器方面的表现会更加抢眼一些,但是 OpenSUSE 对于管理服务器上的软件,升级补丁方面的方法更加让我喜欢。所以我在作为 Web 服务器和其他对外访问的服务器上使用 Red Hat Enterprise Linux (RHEL) 和 CentOS ,但是我在所有的内部网上都使用 OpenSUSE Linux 服务器。

3) MEPIS 11

https://dn-linuxcn.qbox.me/data/attachment/album/201106/29/161850ax7ghi5pzmzvkcop.png

一直以来,我对 MEPIS 都情有独钟。它是一份基于 Debina 的发行版,它使用 KDE 桌面。我思考了很长时间,最后我找出我对它情有独钟的原因,那就是——它从来没有给我添过任何麻烦。在使用其他版本的 Linux 桌面发行版的时侯,你总会遇到一些问题,而在使用 MEPIS 的时侯,我没有遇到过我解决不了的问题。我越来越认为,在各个 Linux 桌面发行版都越来越稳定的趋势下,MEPIS 仍然是最最稳定的一个。

唯一让我不能把它排在我推荐的 Linux 桌面发行版第一位的原因是因为他是由一个人发起的发行版。一个人制作的发行版意味着这个发行版非常有个性,同时意味着如果您是一个经验丰富的 Linux 用户,那么您可能会非常喜欢它,也能管理它的方方面面;如果您是一个 Linux 初学者,或者您已经有一定的知识,但是您没有太多把握掌控他们,那么我不建议您使用 MEPIS。如果您确定知道您自己要的是什么,那么试试它吧。不管怎么说,MEPIS 是一个伟大的发行版。

2) Ubuntu的11.04

https://dn-linuxcn.qbox.me/data/attachment/album/201106/29/161857tu8emufqa8zanede.png

对于让这个发行版排到第二的位置,可能会让人感到意外,也可能会在您的意料之中。很多人不喜欢它的 Unity interface ,我也不喜欢它,它太单一了对于我来说。

那么为什么还能让它排第二呢?因为 Linux 桌面用户的使用量在桌面计算机中已经突破了 1% 的使用量。而 Ubuntu 在其中起了很大的作用,它的界面统一,使用方法具体,这样能够吸引大量的 Windows 和 Mac 用户,我认为这样做是对的。

不管出于什么原因,如果它能给 Linux 带来更多的用户,那么我绝对的支持它。

1) Mint 11

https://dn-linuxcn.qbox.me/data/attachment/album/201106/29/1619099smcccwyppsmwdsc.png

是的,它是基于 Gnome 的,但是,它是基于 Gnome 2.32 的,而不是 Gnome 3.0 的,这其中的区别很大。它的界面容易使用,我还可以根据我的需要来调整它,从而解放我的双手。

它还有基于 Ubuntu 的版本。这意味着,它有最新的最热门的应用程序。对于我来说,如果您是一个经验丰富的 Linux 用户,而且您不介意非使用 KDE 桌面,Mint 是当前最好的 Linux 桌面发行版。

不管怎么样,我们只要知道每一个伟大的发行版都会对 Linux 的发展起着推动作用,都会让 Linux 进步。上面是我对现在一些 Linux 桌面发行版的看法,在您心目中那个发行版是您的最喜欢的呢?

来源:https://linux.cn/article-171-1.html

Linux:如何查看 Linux 系统安装的时间

  我们 SUN 实验室每台服务器上架后都需要填写一个表格,这个表格包括详细的机器硬件配置、操作系统版本和安装时间、网络配置、机器名、MAC 地址和 IP、安装的软件和用途、安全级别和策略、联系人、上架时间、机柜号等。昨天有位管理员忘了填写操作系统的安装时间,跑来问怎么查看 Linux 系统的安装日期和时间(过了2个月谁还记得啊)。  有个办法是查看 lost+found 目录状态,因为这个目录一般很少用到,改动最少(很可能无任何改动),而其他目录比如 /bin, /home 等因为经常升级系统、创建用户等操作会修改目录状态.vPSee 在自己的一台 VPS 结点服务器上验证了一下,这台服务器是去年3月10日安装的系统,中途升级系统重启一次,然后连续满负荷跑了342天没有重启:

$ stat /lost+found/  File: `/lost+found/’  Size: 16384         Blocks: 32         IO Block: 4096   directoryDevice: 805h/2053d    Inode: 11          Links: 2Access: (0700/drwx——)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2010-03-11 02:40:20.000000000 -0800Modify: 2010-03-10 19:14:34.000000000 -0800Change: 2010-03-10 19:14:34.000000000 -0800

  还有一种办法是查看 bin, daemon, sys, adm 等这些帐号的建立时间,这些帐号是在系统安装的时候创建的,所以这些帐号的创建时间基本上就是 Linux 系统的安装时间:

# passwd -S binbin LK 2010-03-10 0 99999 7 -1 (Alternate authentication scheme in use.)# passwd -S daemondaemon LK 2010-03-10 0 99999 7 -1 (Alternate authentication scheme in use.)

  上面这个看帐号创建时间的方式有局限性,不同的 Linux 发行版安装的时候处理 bin, daemon 这些系统帐号的方式不同,有的是直接从安装光盘拷贝这些帐号和相关文件,有的是安装脚本自动创建。只有安装脚本自动创建的发行版本才能根据帐号的创建时间来判断系统的安装时间。

来自:http://www.vpsee.com/2011/06/how-to-find-out-a-linux-system-installation-date/

Linux:Linux下的七个类Dropbox同步工具推荐

【51CTO精选译文】不少51CTO读者朋友们都询问过Linux平台下的Dropbox替代软件的问题,而目前国内的几家,金山快盘、 Dbank、Everbox、酷盘、微盘这几个产品,目前对Linux的支持还非常有限。很多Linux桌面用户又不能像系统管理员那样自己配置 rsync进行远程同步,因此一个顺手的Linux桌面端同步工具是很有帮助的。

TechDrivein网站近日推荐了Linux平台上的七个Dropbox的替代软件,下面将为大家一一介绍。

SparkleShare

sparkleshare dropbox alternative

免费开源,使用方式和Dropbox差不多,在home路径下的SparkleShare文件夹里进行同步。可以设置多个远程服务器。

PPA安装方式:

mkdir -p ~/.ssh
sudo add-apt-repository ppa:warp10/sparkleshare
sudo apt-get update
sudo apt-get install sparkleshare libwebkit1.1-cil git-core

SpiderOak

SpiderOak backup dropbox alternative

SpiderOak也是个支持Windows、Mac和Linux备份同步的工具,据说加密做的比Dropbox好。免费存储空间2GB,之后每100GB的价格为每月10美元。SpiderOak的部分组件是开源的,开发商称不久后客户端将完全开源。

下载地址:https://spideroak.com/download/

Ubuntu One

ubuntuone

这个不用多介绍,是Ubuntu的提供商Canonical自己的云服务。默认2GB免费空间,现在甚至还有一个Windows版的Ubuntu One客户端(目前在Beta版)。Ubuntu One的问题在于其是专有软件,而且对GNOME之外的平台支持不太好。

Windows版下载地址:https://one.ubuntu.com/windows/beta

Wuala

<wuala for ubuntu client dropbox alternative

Wuala同样也支持Mac、Windows和Linux平台。免费存储空间1GB。Wuala也是专有软件。

下载地址:http://www.wuala.com/en/download/linux

Minus

Minus desktop app for Linux

Minus使用起来非常简单:你可以直接将各种文件扔到任务栏上,就可以直接上传到Minus上。

下载地址:http://min.us/pages/tools

ZumoDrive

zumodrive online storage dropbox alternative

ZumoDrive支持Windows、Mac、Linux、iOS、Android和Palm webOS等平台,免费存储空间为2GB,扩展到10GB到500GB的价格从每月2.99美元到79.99美元。

下载地址:https://www.zumodrive.com/download/zumodrive

TeamDrive

teamdrive dropbox alternative ubuntu

TeamDrive也是一个Windows、Mac和Linux平台上的专有软件,默认提供2GB免费存储空间。TeamDrive的不同之处在于一个类似WPS在线协作的功能:一个OpenOffice.org的协作插件。

TeamDrive下载:http://www.teamdrive.com/download.html

TeamDrive插件下载:http://www.teamdrive.com/addons.html

原文地址

译文:http://os.51cto.com/art/201106/271757.htm

Linux:10 个你从未用过的 Linux 命令

这也许需要几年甚至是几十年,才能真正掌握 Linux shell 命令。这里有 10 个你从来没有听说或使用过的命令。他们在没有特定的顺序。我最喜欢的是 mkfifo。1、pgrep, 替代:

# ps -ef | egrep '^root ' | awk '{print $2}'
1
2
3
4
5
20
21
38
39
...

你还可以这样:

# pgrep -u root
1
2
3
4
5
20
21
38
39
...

2、pstree,在tree 格式中列出进程,当有webSphere或重任务应用时非常有用。

# pstree
init-+-acpid
|-atd
|-crond
|-cups-config-dae
|-cupsd
|-dbus-daemon-1
|-dhclient
|-events/0-+-aio/0
| |-kacpid
| |-kauditd
| |-kblockd/0
| |-khelper
| |-kmirrord
| `-2*[pdflush]
|-gpm
|-hald
|-khubd
|-2*[kjournald]
|-klogd
|-kseriod
|-ksoftirqd/0
|-kswapd0
|-login---bash
|-5*[mingetty]
|-portmap
|-rpc.idmapd
|-rpc.statd
|-2*[sendmail]
|-smartd
|-sshd---sshd---bash---pstree
|-syslogd
|-udevd
|-vsftpd
|-xfs
`-xinetd

3、bc 是个任意精度计算器语言,它可以Shell脚本执行平方根操作,expr 不支持平方根。

# ./sqrt
Usage: sqrt number
# ./sqrt 64
8
# ./sqrt 132112
363
# ./sqrt 1321121321
36347
Here is the script:
# cat sqrt
#!/bin/bash
if [ $# -ne 1 ]
then
echo 'Usage: sqrt number'
exit 1
else
echo -e "sqrt($1)\nquit\n" | bc -q -i
fi

4、split, 你需要将大的文件分解称若干小部分?split是你的命令,下面是将250MB文件分解为2M的块儿,所有开始于LF_前缀。

# ls -lh largefile
-rw-r--r-- 1 root root 251M Feb 19 10:27 largefile
# split -b 2m largefile LF_
# ls -lh LF_* | head -n 5
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_aa
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ab
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ac
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ad
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ae
# ls -lh LF_* | wc -l
126

5、nl 数字线,在没发现nl之前,一直用脚本来实现。

# head wireless.h
/*
* This file define a set of standard wireless extensions
*
* Version : 20 17.2.06
*
* Authors : Jean Tourrilhes - HPL
* Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
*/#ifndef _LINUX_WIRELESS_H
# nl wireless.h | head
1 /*
2 * This file define a set of standard wireless extensions
3 *
4 * Version : 20 17.2.06
5 *
6 * Authors : Jean Tourrilhes - HPL
7 * Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
8 */9 #ifndef _LINUX_WIRELESS_H

6、mkfifo 是最酷的一个,你一定知道如何创建管道 输送grep的结果到LESS,可能甚至perl。但是你知道如何使2个命令通过1个命名管道沟通?看下图,创建管道,开始写到它。

https://dn-linuxcn.qbox.me/data/attachment/album/201107/07/1320125hjjonek5r2zekbf.png

然后读取它:

https://dn-linuxcn.qbox.me/data/attachment/album/201107/07/132013i8bz7azno61x1xbh.png

7、ldd, 想知道java链接到哪个Linux线程库?

# ldd /usr/java/jre1.5.0_11/bin/java
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00bd4000)
libdl.so.2 => /lib/libdl.so.2 (0x00b87000)
libc.so.6 => /lib/tls/libc.so.6 (0x00a5a000)
/lib/ld-linux.so.2 (0x00a3c000)

8、col, 想保存帮助页面为纯文本?

# PAGER=cat
# man less | col -b > less.txt

9、xmlwf, 需要知道一个XML文档或许是配置文件是否合理?

# curl -s 'http://bashcurescancer.com' > bcc.html
# xmlwf bcc.html
# perl -i -pe 's@@@g' bcc.html
# xmlwf bcc.html
bcc.html:104:2: mismatched tag

10、lsof 列出打开文件,你可以用它做很多很cool的事情,比如查找哪个接口是开放的?

# lsof | grep TCP
portmap 2587 rpc 4u IPv4 5544 TCP *:sunrpc (LISTEN)
rpc.statd 2606 root 6u IPv4 5585 TCP *:668 (LISTEN)
sshd 2788 root 3u IPv6 5991 TCP *:ssh (LISTEN)
sendmail 2843 root 4u IPv4 6160 TCP badhd:smtp (LISTEN)
vsftpd 9337 root 3u IPv4 34949 TCP *:ftp (LISTEN)
cupsd 16459 root 0u IPv4 41061 TCP badhd:ipp (LISTEN)
sshd 16892 root 3u IPv6 61003 TCP badhd.mshome.net:ssh->kontiki.mshome.net:4661 (ESTABLISHED)
Note: OpenBSD 101 pointed out that “lsof -i TCP” a better way to obtain this same information. Thanks!Or find the number of open files a user has. Very important for running big applications like Oracle, DB2, or WebSphere:
# lsof | grep ' root ' | awk '{print $NF}' | sort | uniq | wc -l
179

原文:http://bashcurescancer.com/10-linux-commands-youve-never-used.html

译文:http://www.oschina.net/news/19435/10-linux-commands-youve-never-used

Linux:对于MeeGo你所需了解的……

MeeGo是英特尔和诺基亚合作的产物。在2010年巴塞罗纳举办的世界移动大会上首次发布,该项目结合英特尔的Moblin和诺基亚的Maemo两个系统,可以工作在更广泛的设备上,包括上网本、智能手机和车载娱乐系统。

sc010.jpg MeeGo将会支持何种设备?除了以上提到的设备,MeeGo的最终目标是支持更多入门级的桌面电脑、netttop、平板电脑、智能电视以及IPTV机顶盒。MeeGo目前最新的版本是什么?目前MeeGo最新的版本是1.2,称为MeeGo Harmattan,被业界猜测就是Maemo 6系统。去年与英特尔建立合作关系时,诺基亚已经在开发Harmattan系统了。而在今年初宣布抛弃MeeGo之后,就继续以Maemo 6为基础进行开发,并加入了为MeeGo而设计的Handset UX(用户界面)。MeeGo的起源?meego_nb_500x375.jpg Intel Mobilin是设计用在上网本之上,因为英特尔感到微软的Windows 7操作系统并不能很好的支持他们的Atom系列处理器。而把Maemo和Moblin合并所构成新系统将会支持更宽泛的设备。同时,此项计划也包括了对Qt的支持。QT能使开发者设计的程序能轻松地跨平台移植,包括Windows,Mac OS X和Linux。当AMD加入MeeGo阵营之后事情似乎有了转机,这个总部在森尼维耳的芯片制造商走上了前台并可能因为其即将上市的APU(Accelerated Processing Units)而给MeeGo带来市场机遇。可是,当诺基亚宣布将停止开发基于MeeGo的智能手机时,MeeGo这艘大船似乎又撞到的冰山。原本诺基亚的最新MeeGo手机定于2011世界移动大会上发布,但正如我们所知道的,诺基亚N9只不过是在CommunicAsia 2011大会上亮了相。诺基亚同时还宣布N9将是第一款也是最后一款智能手机。哪些智能手机使用MeeGo系统?目前,商业化智能手机中只有诺基亚N9搭载MeeGo系统。诺基亚将不会继续制造基于Meego系统的手机,因为他们将集中精力和资源开发基于Windows Phone7系统的智能手机。还有一个N950!不过,诺基亚只制造了250台并且仅提供给开发者使用,不会在市场上销售。我们将来是否可以在市场上看到新款的MeeGo智能手机还要看有没有新的生产商加入。到目前为止,还没有一家知名厂商致力于开发新的MeeGo手机。或许一切都会改变,但似乎基于MeeGo的手机市场前景并不特别看好。b003.jpg 为什么要购买MeeGo智能手机?如果你只是想有所不同,不想使用运行Android、黑莓或iOS系统的智能手机,那么这会是一个很好的理由。另外一个原因是,MeeGo系统非常容易上手,据我们对诺基亚N9的体验,应该比较适合初次使用智能手机的用户。需要注意的是,除非有更多的智能手机加入MeeGo阵营,否则开发者可能不会有热情去开发此平台的应用,那就意味着你拥有一台智能手机但你却感到它并不智能。哪些智能手机可以升级到MeeGo?meego_ss_b200x150.jpg 如果是诺基亚N900,那么你非常幸运。不过,这是为开发者而设计的特殊版本,称为MeeGo 1.2 Community Edition,而且和诺基亚N9的系统并不相仿。需要注意的是此版本同时也不被诺基亚支持,对手机所做的任何行为需要自己负责。MeeGo支持哪些硬件?MeeGo支持宽泛的处理器,包括Intl Atom和ARMv7平台。同时也支持Qt,使开发者可以轻易的跨平台移植应用程序。还支持各种通信模块包括GSM,GPRS和HSPA+。NFC功能也将在MeeGo1.3中被包括进来。上网本和桌面版的MeeGo系统也将会支持Adobe Flash。MeeGo将来会怎样?英特尔似乎并不会马上放弃MeeGo,而AMD也会继续参与此项目的开发工作。Amino Communications公司已有基于MeeGo的TV产品。此外,还有一个运行MeeGo的平板电脑产品称为WebTab。我们颇为确信的是Meego作为上网本和平板电脑的操作系统将不会遭遇中途夭折。一种可能的情况是,将来除了N9之外的其它新款Meego智能手机可能会受到市场冷落。

Linux:可以在 Linux 下使用的五款剧本编辑器

写剧本这个事情,简单了说我们并不需要什么特殊的工具,只要能写文字就可以。不过作为剧本来说,是有一些特性的,我们在写作的时侯如果这些特性能够更加方便的添加在我们的剧本上,那么无疑会让我们有更多的精力来专注于剧本本身。其实在 Windows、Mac 下,可用来写剧本的工具也不是很多,那么在 Linux 下就更少了。不过有很多在线的工具是不分平台的,是我们都可以用的。

在这里给大家介绍五款可以在 Linux 下使用的五款剧本编辑器:

1、Celtx

如果您是一个 Linux 用户,并且正打算以编剧作为您的工作的话,那么 Celtx 是您的首选工具了。它是一个免费跨平台的软件。使用 Celtx ,您可以快速的以剧本行业标准编制剧本。它具有修订模式,索引,定稿等功能。它不只是一个专门用来编写剧本的工具,它还是一个前期媒体制作软件,能够创建和组织纪录片,播放音视频,播放播客,播放漫画等等。Celtx 发展迅速,或许将来会成为这个行业的标准软件。

https://dn-linuxcn.qbox.me/data/attachment/album/201107/07/184108lf7hsxh2fn62q2s6.png

Celtx 界面简单,容易上手使用。导向功能可以让您一步一步的开始您的需求。根据您的选择,Celtx 会提供不同的模板。Celtx 具有丰富的插件,不过有很多是收费的,可以从它们的官方网站购买。

官方网站:http://www.celtx.com/

2、Scrivener

Scrivener 是一个专门为作家设计的文字处理程序。写小说是它的使命,其中包含了一些剧本的功能,可以创建格式化和编辑剧本。Scrivener 还支持导出行业标准方案的脚本。最开始 Scrivener 是 Mac 下的一款软件,不过现在已经发布了 Linux 和 Windows 下的免费试用版本。Scrivener 的最新版本售价为 45 美元。

官方网站:http://www.literatureandlatte.com/scrivener.php

3、Adobe Story (web-based)

adobe story

点击查看完整大图

Adobe Story 是一个基于 Flash 的编剧工具,它可以运行在大多数浏览器中。所以任何 Linux 用户都可以通过浏览器来使用它。Adobe Story 设计精美,使用简单,界面优良。您只需要创建一个 Adobe 账户,然后就可以使用了,您会看到几个示例的脚本,您可以查看这些脚本或者从这些脚本开始新建一个。朴素的界面让您将更多的精力都放在创作上而不必因为其他的干扰破坏您的思路。当然了,Adobe 也提供桌面安装版的 Adobe Story。

官方网站: http://story.adobe.com/

4、Scripped (web-based)

Scripped 也是一个在线的剧本编辑器,支持几乎所有的浏览器。它允许用户创建剧本,共同合作编辑,制作舞台剧和漫画剧本,具有行业标准的剧本模板。作者可以在社区分享它们的剧本,同时具有 Vault 功能用来保护剧本的内容。Scripped 虽然是一个在线工具,但是它支持离线功能,使工作更加方便。Scripped 是一个收费软件,终生使用的专业版售价为 90 美元,按月付费用户为每月 10 美元,可以有一个月的免费试用期。如果拿它来和前面的 Adobe Story 和 Scrivener 来比较的话,即便它是收费的,我还是建议您使用它。

官方网站: http://www.scripped.com/

5、Google Docs or LibreOffice

如果您是一 个“Google Docs” 用户的话,那么您可以尝试使用专业编剧 Gdocs 模板库中的模板。在 Google Docs ,点击左上角的 “Create New ” 按钮,从下拉菜单中选择 “From Templat” 从模板新建,然后在 Gdocs 模板库中搜索 “screenplay” ,会有大量的模板供您选择,您可以选择一个您中意的。

如果您是一个 LibreOffice 用户的话,在 LibreOffice 中有一个 “Screenwright(下载)” 的模板,它具有专业编剧的许多功能,你可以从这个模板开始您的创作。

关于剧本软件:

好莱坞定制了剧本标准、编剧标准的草案,您的剧本如果符合这些标准的话,对于您的剧本的进一步发展会非常有利。当然了,世界上许多大导演最喜欢的方法还是纸和笔,斯皮尔伯格就是其中之一。

用什么样的软件或者什么样的方法更适合您,您就选择那种方法,软件和纸笔都是死的,怎么样灵活运用它们才是关键。

来源:https://linux.cn/article-183-1.html

Linux:Linux 文件权限的设置技巧

  Windows系统其实和Linux系统有相似的地方,Windows系统文件、目录的属性有只读、隐藏,而Linux也一样。

  Linux中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。

  所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:Access Control List)为计算机提供更好的访问控制,它的作用是限制包括root用户在内的所有用户对文件、资源或者套接字的访问。下面就来教大家简单的设置方法。

  步骤1 检查系统核心

  首先检查你的Linux系统的核心是否有支持ACL的功能。因为Linux系统并不是每一个版本的核心都有支持ACL的功能,而最简单的方法就是检查系统目前的核心能否支持:

[root@mail /]# cat /boot/config-kernel-version | grep -i ext3
CONFIG_EXT3_FS=m
CONFIG_EXT3_IDEX=y
CONFIG_EXT3_FS_XATTR_SHARING=y
CONFIG_EXT3_FS_XATTR_USER=y
CONFIG_EXT3_FS_XATTR_TRUSTED=y
CONFIG_EXT3_FS_ACL=y

  此时如果能看到上面的几项则表示已经编译到核心中,ext3文件系统已支持ACL功能,这些功能在编译核心选项中都可以找到。如果编译时找不到,可以到ACL的官方网站来安装Kernel(acl.bestbits.at/)。

  步骤2 挂载分区

  你可以用下列的方式挂载分区并启用ACL:

#mount -t ext3 -o acl /dev/sda1 /fs1

  你也可以直接写在/etc/fstab文件中,这样就可以在开机后支持ACL功能:

#vi /etc/fstab

  步骤3 设置ACL权限

  ACL常常针对个别用户来进行设置,下面是多个不同的例子:

  例如需要创建test1、test2、test3三个用户,可以先用root身份登录系统,然后执行以下命令分别创建三个用户名和密码:

[root@mail root]#adduser test1
[root@mail root]#adduser test2
[root@mail root]#adduser test3
[root@mail root]#passwd test1
[root@mail root]#passwd test2
[root@mail root]#passwd test3

  然后mount一个ext3文件到目录/fs1:

[root@mail root]#mount -t ext3 -o acl /dev/sda1 /fs1

  再将test1 建立的文件设置读写的权限给test2 :

[root@mail root]#chmod -R 777 /fs1

  让所有的用户都能增加文件到目录的权限:

  先用test1登录系统,执行命令:

[test1@mail test1]# cd /fs1
[test1@mail fs1]# echo "Create by test1" > test1.txt
[test1@mail fs1]# chmod go-r test1.txt
[test1@mail fs1]# ll test1.txt
-rw------- 1 test1 test1 17 Jul 14 22:11 test1.txt

  而如下操作则可以让除了test1有读写的权限外其他人没有读写test1.txt的权限(root除外),先用test2 登录系统后执行以下命令:

[test2@mail test2]# cd /fs1
[test2@mail fs1]# cat test1.txt
cat : test1.txt Permission denied

  接着用test1登录系统,执行如下命令:

[test1@mail fs1]# setfacl -m u:test2:rw test1.txt

  这样就修改权限允许test2 有这个文件的读写权限。再看一下它的文件属性的变化:

[test1@mail fs1]# ll
-rw-rw-r--+ 1 test1 test1 10 Feb 16 13:52 test1.txt

  会看到后面多了一个“+”,表示这个文件使用ACL的属性设置,再用命令getfacl来看ACL的文件属性设置:

[test1@mail fs1]# getfacl test1.txt
# file: test1.txt
# owner: test1
# group: test1
user::rw-
user:test2:rw-
group::rw-
mask::rw-
other::r--

  可以看到 test2 有权限读写这个文件。

  我们再用test2登录系统执行以下命令,看看发生了什么?

[test2@mail test2]# cd /fs1
[test2@mail fs1]# cat test1.txt
Create by test1

  原来test2可以读取test1.txt文件了。

[test2@mail fs1]# echo "Modify by test2" >> test1.txt
[test2@mail fs1]# cat test1.txt
Create by test1
Modify by test2

  现在test2也可以修改test1.txt文件了。

  接着用test3 登录系统:

[test3@mail test3]# cd /fs1
[test3@mail fs1]# cat test1.txt
cat : test1.txt Permission denied

  嘿嘿,除了test1、test2外没有其他用户有读写test1.txt的权限(root 除外)。

  看着虽然有点晕,其实命令就是这么一两条,主要是把各种情况给大家讲清楚,这样,大家在使用Linux中才会发现,比起脆弱的Windows的权限防护,Linux实在是做得相当不错!

Linux:将Ubuntu的Unity界面换成经典的Gnome的简单方法

经常听到有人说不习惯Ubuntu11.04的Unity界面,怀念以前的Gnome2.x界面,特别是一些用过11.04以前版本的新手,我根据我的一点摸索经验,告诉有需要的朋友将Unity界面变为Gnome2.x界面的简单方法,希望有所帮助。

首先,点击右上角的电源管理按钮(就是平时用来关机、注销的那个按钮),在下拉菜单上选择“系统设置”。

然后,在显示出来的“系统设置”面板左边的分类上点选“系统”类,使其定位在“系统”设置区域。

然后,选择“系统”设置选项中的“登录窗口”选项,在弹出的“登录窗口”设置上点击“解锁”,按提示输入管理员密码。

解锁后,在最下面的“选择 Ubuntu 作为默认会话”中间的“Ubuntu”下拉框中选择“Ubuntu经典”或”Ubuntu经典(无特效)”其中一个,然后关闭“登录窗口”设置,注销系统再登入,你就会看到经典的Gnome2.x界面了。

Linux:Ubuntu10.10 通过 USB 蓝牙上网实例

  ubuntu系统安装界面也许没有GUI,但反正您也只要用到一次,因为我们会通过网络来升级您的系统和应用程序。您根本不需要重新安装系统,只要您想,就可以把它升级到每个新的发行版。所以现在使用ubuntu系统的用户越来越多。下文介绍了Ubuntu10.10通过USB蓝牙上网实例。  某一天在Ubuntu 10.10中不小心把无线设置调整了一上(通过NetworkManager Applet),第二天上网就有问题了, 于是临时性地想通过USB蓝牙上网,没想到事情也是异常的顺利。下面说说过程。  PS: 其实关于无线的问题,现在是好了, 但我都不确定怎么就好了。当时是到处找教程,这里改一下,那里改一下,看连接信息都是好的-包括DNS,但就是上不了网。后来拔了无线路由的网线,直接用ADSL网线,再接回去又好了。莫名其妙中。你需要:  1. USB蓝牙 (我不确定我之前是否装过驱动,印象中没有)  2. 手机蓝牙  3. 开通手机GPRS  当我通过System > Preferences > Bluetooth 打开Ubuntu的蓝牙管理器后,就去配对蓝牙设备,过程中有一个选项“是否通过手机DUN上网” (大概意思),选上, 然后一路设置下来就可以连接上网(通过cmnet-Internet)。Ubuntu太赞了!上图。

https://dn-linuxcn.qbox.me/data/attachment/album/201109/08/1012400crj0cbbo2viwvcm.png

https://dn-linuxcn.qbox.me/data/attachment/album/201109/08/101241irqfxibeaabcf7h7.png

  希望你也能在Ubuntu中通过蓝牙利用手机GPRS上网,另一种意义上的无线上网。

Linux:手动释放linux内存cache

总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑。而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下。最后,还附上我对这方法的意见,欢迎各位一同讨论。当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。

一、通常情况

先来说说free命令:

# free -m
total used free shared buffers cached
Mem: 249 163 86 0 10 94
-/+ buffers/cache: 58 191
Swap: 511 0 511

其中:

total 内存总数used 已经使用的内存数free 空闲的内存数shared 多个进程共享的内存总额buffers Buffer Cache和cached Page Cache 磁盘缓存的大小-buffers/cache (已用)的内存数:used – buffers – cached+buffers/cache(可用)的内存数:free + buffers + cached可用的memory=free memory+buffers+cached

有了这个基础后,可以得知,我现在used为163MB,free为86MB,buffer和cached分别为10MB,94MB。那么我们来看看,如果我执行复制文件,内存会发生什么变化。

# cp -r /etc ~/test/
# free -m
total used free shared buffers cached
Mem: 249 244 4 0 8 174
-/+ buffers/cache: 62 187
Swap: 511 0 511

在我命令执行结束后,used为244MB,free为4MB,buffers为8MB,cached为174MB,天呐,都被cached吃掉了。别紧张,这是为了提高文件读取效率的做法。为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。那么有人说过段时间,linux会自动释放掉所用的内存。等待一段时间后,我们使用free再来试试,看看是否有释放?

# free -m
total used free shared buffers cached
Mem: 249 244 5 0 8 174
-/+ buffers/cache: 61 188
Swap: 511 0 511

似乎没有任何变化。(实际情况下,内存的管理还与Swap有关)那么我能否手动释放掉这些内存呢?回答是可以的!

二、手动释放缓存

/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。操作如下:

# cat /proc/sys/vm/drop_caches
0

首先,/proc/sys/vm/drop_caches的值,默认为0。

# sync

手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

# echo 3 > /proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
3

将/proc/sys/vm/drop_caches值设为3

# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511

再来运行free命令,会发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB。那么有效的释放了buffer和cache。有关/proc/sys/vm/drop_caches的用法在下面进行了说明

/proc/sys/vm/drop_caches (since Linux 2.6.16)Writing to this file causes the kernel to drop clean caches,dentries and inodes from memory, causing that memory to become free.To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches.Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync first

三、我的意见

上述文章就长期以来很多用户对Linux内存管理方面的疑问,给出了一个比较“直观”的回复,我更觉得有点像是核心开发小组的妥协。对于是否需要使用这个值,或向用户提及这个值,我是有保留意见的。从man可以看到,这值从2.6.16以后的核心版本才提供,也就是老版的操作系统,如红旗DC 5.0、RHEL 4.x之前的版本都没有;若对于系统内存是否够用的观察,我还是原意去看swap的使用率和si/so两个值的大小;用户常见的疑问是,为什么free这么小,是否关闭应用后内存没有释放?但实际上,我们都知道这是因为Linux对内存的管理与Windows不同,free小并不是说内存不够用了,应该看的是free的第二行最后一个值:-/+ buffers/cache: 58 191,这才是系统可用的内存大小。实际项目中告诉我们,如果因为是应用有像内存泄露、溢出的问题,从swap的使用情况是可以比较快速可以判断的,但free上面反而比较难查看。相反,如果在这个时候,我们告诉用户,修改系统的一个值,“可以”释放内存,free就大了。用户会怎么想?不会觉得操作系统“有问题”吗?所以说,我觉得既然核心是可以快速清空buffer或cache,也不难做到(这从上面的操作中可以明显看到),但核心并没有这样做(默认值是0),我们就不应该随便去改变它。一般情况下,应用在系统上稳定运行了,free值也会保持在一个稳定值的,虽然看上去可能比较小。当发生内存不足、应用获取不到可用内存、OOM错误等问题时,还是更应该去分析应用方面的原因,如用户量太大导致内存不足、发生应用内存溢出等情况,否则,清空buffer,强制腾出free的大小,可能只是把问题给暂时屏蔽了。我觉得,排除内存不足的情况外,除非是在软件开发阶段,需要临时清掉buffer,以判断应用的内存使用情况;或应用已经不再提供支持,即使应用对内存的时候确实有问题,而且无法避免的情况下,才考虑定时清空buffer。(可惜,这样的应用通常都是运行在老的操作系统版本上,上面的操作也解决不了)。而生产环境下的服务器可以不考虑手工释放内存,这样会带来更多的问题。记住内存是拿来用的,不是拿来看的。

不像windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读。这也就是windows为什么常常提示虚拟空间不足的原因,你们想想多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存。硬盘怎么会快过内存,所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少。如果常常swap用很多,可能你就要考虑加物理内存了,这也是linux看内存是否够用的标准哦。当然这仅代表我个人意见,也欢迎大家来交流讨论。

Linux:在Ubuntu下安装谷歌输入法

注:本文仅适用于采用ibus输入法框架的情况

检查系统上是否已经安装了cmake,gcc,cpp,g++软件包,没有的话则运行下述命令进行安装。

# sudo apt-get insall cmake,gcc,cpp,g++

下载并解压libgooglepinyin,ibus-googlepinyin。下载页面在这里: 

http://code.google.com/p/libgooglepinyin/downloads/list

先安装libgooglepinyin,在shell中执行下述各行命令

# cd libgooglepinyin
# mkdir build; cd build
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr
# make
# sudo make install

再安装ibus-googlepinyin,在shell中执行下述各行命令

# cd ibus-googlepinyin
# mkdir build; cd build
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr
# make
# sudo make install

特别需要注意的是,如果没有安装g++,在执行cmake的过程中,是可能报如下异常的。

CMake Error: your CXX compiler: “CMAKE_CXX_COMPILER-NOTFOUND” was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.

重新启动ibus输入法,右击任务栏上的输入法图标->重新启动即可。也可以输入下述命令重启。

# pkill -f ibus-daemon ; ibus-daemon -d -x

在ibus中选择谷歌输入法

右击任务栏上的输入法图标->首选项->选择输入法页签->点击选择输入法下拉列表(依次选择汉语、googlepinyin)->添加->关闭

VIA http://www.linuxde.net/2011/11/1686.html

Linux:12 个在线学习 Linux 技能网站

  随着越来越多的公司将平台、工作、服务转向 Linux ,IT 人员所需要具备相关技能的需求也越来越多。现在对于 Linux 技术人员的需求已经远远超出了具备 Linux 技能的 IT 人员的数量。

  最新的 Linux 基金会和 IT 职业网站 Dice.com 的报告中表明,今年的 Linux 技能工作人员的需求率为 31%,而这一数字在去年为 20%。

  作为一个 IT 专业人员,我们需要不断的提升自己的工作技能,在网络上有很多的非常好的专业网站可以供我们学习,下面就给大家介绍介绍。

1.PaulPaulito.com

  PaulPaulito.com 是今年刚刚推出的一个新网站,总部设在荷兰,不过网站内提供英语、西班牙语和德语的视频教程。该公司是一个 Linux 专业学会(LPI)批准的培训合作伙伴。他旨在为大家提供准备 LPI 认证考试的教程。有不同价位和不同学期的教程和课程。

2.LPI 合作伙伴

  LPI 培训指南,可以查找你附近的 LPI 培训机构。可惜中国的认证机构只有北京有一家被收录在案,网站还打不开……

3.Red Hat

  Red Hat 的 Linux 厂商培训和认证,包括 Red Hat Enterprise Linux 在线服务。虚拟系统管理课程和 Red Hat Linux 故障排除等。可惜对我们个人来说,价钱太贵了,1400 美元起~4.BeginLinux.com

  BeginLinux.com 有适用于自学的在线教程,包括 Ubuntu 服务器教程,Apache 安全教程,CenOS 服务器教程等,最便宜的教程 95.95 美元。

5.The Linux Foundation

  作为 Linux 官方机构,提供了各种类型不同的在线培训课程。Linux 内核,嵌入式 Linux 等等。可以说是最好的在线培训了,不过价格基本上也是最贵的了,2750 美元起……

6.Canonical

  Ubuntu 官方支持中心,提供 Ubuntu 的各种使用技能和 Ubuntu 的使用问答,大量的课程。

7. IBM

  IBM 提供的培训课程。包括大量的教程。其中最便宜的网上自学教程售价 675 美元。8.LinuxCertified  LinuxCertified 提供多种远程学习方案,和现场教学课程那个,包括 Linux 基础知识等,学费 99 美元。9.技术研究院  作为自由软件基金会合作伙伴,提供免费的软件和标准。可惜收费的教程不便宜,每个教程模块 380 欧元,欧元呀……10.Novell OpenCourseWare

  和 Canonical 、Red Hat、IBM 一样,Novell 公司也提供了各种培训课程。不过不一样的是这里是免费的。哈哈~

11.虚拟培训公司

  虚拟培训公司提供了一系列的在线 Linux 教程,有些是免费的,有些事收费的。在线视频一般采用 Flash 活 QuickTime 格式的视频。收费部分个人用户为 30 美元包月,可以任意访问网站上 900 多门课程,包括重点的 Linux 教程。

12.E-Learning 中心

  类似 PaulPaulito.com 一样,重点关注 LPI 培训方面,提供 LPI 认证和 Red Hat 认证课程。一年的网络培训费用为 69 美元。

  当然了,这些在线教程大多都是收费的,而且对于我们来时候,语言是一个大障碍,不过只要我们去看了,哪怕只是一些免费的试看教程,多少会让我们学习到一点什么的。大家有什么好的教程网站,一起分享哦。

来源:https://linux.cn/article-242-1.html

Linux:五个最佳编程字体

前不久,由于看腻了Dreamweaver中的默认样式,我更换了代码颜色,上个星期我想我应该再深入研究下字体,看有没有可能选用另外一种字体来组成一个新的样式主题。

另选字体有许多好处,最为突出的好处(取决于你的选择)是让你在水平方向可以看到更多的代码,减少拖动滑动条。但如果你使用自动换行,这点对你来说也无关紧要了。

下面列出的是我从这么多天寻觅到的15种字体中精选出的5种。

再见Courier New,虽然你很棒,但是我现在要对你说再见了

1. Droid Sans Mono:它非常漂亮,现在成为了我最喜欢的编程字体了。Droid Sans Mono是Google的Droid字体家族中一员,专门用来开发Android平台上的应用。大小为10pt时,字符间距很合适。但是如果你使用较小分辨率的屏幕的话(我现在使用的是1280×800),采用9pt能在屏幕上显示更多代码。

Droid Sans Mono Font
最佳大小:9pt或10pt(见上图)

 

2. Proggy:名字看起来无懈可击。Proggy字体有许多不同的衍生字体,对我来说Proggy Font Crisp和Proggy Font Clean是最合适的。

Proggy Font
最佳大小:12pt(见上图)

 

3. Lucida Console:小写字母尤其漂亮,我在终端也使用它(巧合的是它的名字中有个Console,不过这不是我终端选择它的原因)。如果你使用的是Windows,那么很有可能你已经有这个字体了,如果没有的话,可以在这里下载。

Lucida Console Font
最佳大小:9pt(见上图)

 

4. ProFont:如果你需要节约使用屏幕的每一个像素,ProFont非常适合你。它很小,但仍旧非常清楚,但是在之前的间隙有点大,在UL上看来尤其明显。到底它有多小?

Profont Font
最佳大小:9pt(见上图)

 

5. Envy Code R:这个字体是我一个同事推荐的。它有个很酷的名字,Jason已经将Envy Code R作为编码字体,使用一段时间了。它是一种serif字体,每个字符中间都有相同的间隙。但是我认为在高度方面它占用太多空间了。

Envy Code R Font
最佳大小:10pt(见上图)

 

以防万一…

如果你对上面任何一个字体感兴趣的话,先记下你现在在应用程序中使用的字体吧。很大机会是Courier New(PC上使用Dreamweaver的话尤其可能使用Courier New),倘若你不喜欢上面的字体,你可能还是要回到你原来的字体。

对我来说,Droid Sans更胜一筹。

原文链接: http://www.thatwebguyblog.com/post/5_good_programming_fonts 

VIA http://blog.jobbole.com/5819/

 

 

Linux:Linux 命令行的聊天工具 CenterIM

Linux 爱好者们最喜欢的一件事情之一恐怕就是在命令行下进行各种操作了。这样的感觉让我们觉得自己很酷,这样的操作严重让我们看起来和用图形化界面的操作的不一样。

CenterIM 是一个在线通讯工具,它的特别之处在于它的界面和我们在 Linux 下的终端非常相像,让我们在使用的时候感觉和在终端中进行命令操作一样。他可以和 GTalk, Jabber, Windows Live Messenger, Yahoo Chat, 或者 AIM 通讯。

除了普通的在线通讯的功能外,它可以完全抛开鼠标,使用很多快捷键来操控。当然了,您不必担心记忆那些快捷键会学习曲线复杂,它会在屏幕底部随时提示各种操作。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/153210mmnpm8pm20m90i27.jpg

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/1535129ka49z8nqswdexqu.png

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/153514xc3ryn9s9zbn2ycy.png

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/1535167eerdrnl7xx27wrg.png

最开始我们可能会因为新鲜感而使用它,不过随着新鲜感的消失,您会发现您会真的喜欢上它的。

您可以直接在 Ubuntu 下点击这个链接来安装它。

CenterIM 官方网站:http://www.centerim.org/index.php/Main_Page

来源:https://linux.cn/article-249-1.html

Linux:OpenStack详细解读:定义,好处与使用实例

OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都 将OpenStack作为基础设施即服务(简称IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展 性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。

内容详解

OpenStack包括数个由社区维护的项目,具体情况我将在后文中详加阐述。

  • OpenStack Compute (Nova)是一套控制器,用于为单个用户或使用群组启动虚拟机实例。它同样能够用于为包含着多个实例的特定项目设置网络。OpenStack Compute在公共云处理方面堪与Amazon EC2相提并论;而在私有云方面也毫不逊色于VMware的产品。在公共云中,这套管理机制将提供预制的镜像或是为用户创建的镜像提供存储机制,这样用户 就能够将镜像以虚拟机的形式启动。
  • OpenStack 对象存储(Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制实现对象存储的系统。这些对象能够通过一个REST API或是像Cyberduck这样可以对接对象存储API的客户端加以恢复。
  • OpenStack镜像服务 (Glance)是一套虚拟机镜像查找及检索系统。它能够以三种形式加以配置:利用OpenStack对象存储机制来存储镜像;利用Amazon的简单存 储解决方案(简称S3)直接存储信息;或者将S3存储与对象存储结合起来,作为S3访问的连接器。OpenStack镜像服务支持多种虚拟机镜像格式,包 括VMware(VMDK)、Amazon镜像(AKI、ARI、AMI)以及VirtualBox所支持的各种磁盘格式。镜像元数据的容器格式包括 Amazon的AKI、ARI以及AMI信息,标准OVF格式以及二进制大型数据。

最近根据投票结果纳入“核心”项目集团的新成员是一项代号为“Keystone”的身份服务以及一套基于Django的仪表板接口,后者的代号为“Horizon”。本文中的仪表板示例也来源于这一项目。

初窥门径

尝试探索OpenStack Compute最为合适的起点莫过于devstack.org站点,它为开发人员或是概念验证者们提供了一套脚本化安装方案。来自 docs.openstack.org的OpenStack入门教程同样具备一步步详细的指示,帮助我们在Ubuntu 11.10中设定OpenStack Compute、镜像服务以及多合一对象存储的安装。如果大家拥有一台自己的服务器,并打算利用它搞一些概念验证工作,那么 点击此处 可以获取一套专门供裸机使用的StackOps安装系统。有了它,我们可以通过CD或者USB记忆棒完成OpenStack的安装。

各位还可以利用docs.openstack.org上提供的对象存储管理员指南或者OpenStack Compute管理员指南中的安装说明,设置出生产级别的OpenStack对象存储集群或是OpenStack Compute云。

OpenStack的使用

安装结束之后,接下来我们就要看看如何利用部分安全功能,通过仪表板接口或是命令行启动OpenStack Compute实例。我还将展示面向对象存储的、用于通过块存储备份镜像或者视频的接口。

登录到仪表板接口

OpenStack的仪表板是安装在运行着Nova API服务的节点中的。通过这套仪表板,大家应该可以看出Nova API实例的URL与有效仪表板的证书一样,也包括用户名及密码。

只要有了用户名与密码,大家可以利用OpenStack仪表板实现许多功能。首先,通过云管理员分配给我们的用户名及密码登录到仪表板中。

登录之后,可以看到服务器使用量与每台服务器的当前状态,如图一。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/111012fmfyrl9z79fflbyk.png  图一

大家也可以点击查看哪些服务器处于终止状态。请注意,这里的正常运行时间并不会显示每套单独服务器的状态。

用户仪表板左侧的菜单提供的是我们所能执行的仪表板操作选项,所发出的命令通过API传递至终端。系统面板(也就是页面最上方的菜单)提供另一套视图,使得管理员能够监控使用状态、检查云中正在运行的服务并管理用户及项目的配额。

如何在仪表板中启用实例

现在,大家已经初步熟悉了仪表板的总体布局,接下来就该利用自己的云启动一套新的虚拟机系统,也就是镜像实例。一般来说,我们的云管理员应该已经上 传了启动所必需的镜像。如果没有,我将在后文中讨论如何创建自定义镜像。要想启动镜像,首先找到仪表板中的镜像选项,在选定所要启动的镜像类型后点击启用 按钮。图二中显示了可用的几款Ubuntu服务器镜像以及一款Windows镜像。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/1110139x2mtmssmcfezoa3.png  图二

如果大家通过点击启动按钮完成镜像启动工作,那么接下来将会看到如图三所示的启动实例窗口。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/1110133dqbcq03czs9pq30.png  图三

此窗口包含了为服务器命名、在启动中插入某些用户数据、选择CPU数量、硬盘空间以及RAM数量等功能,设置完成后点击“启动实例”。现在我们已经 拥有了一套虚拟服务器,无论是SSH还是正常使用都没问题,就像普通的服务器一样。但同时我们也省去了大量组装、部署、布线等常规服务器所带来的诸多麻 烦。

如何使用虚拟机实例

所谓实例,是指具备特殊规格内存、硬盘空间以及CPU的虚拟机。在OpenStack Compute的辅助下,我们通过对云的调整及启用,可以让用户实现启动实例、重启实例以及保存快照以备日后再利用等工作。

通过观察用户仪表板中的实例,我们能够清楚地看到自己刚刚所启动的实例。对于每个实例,我们都有数个操作选项,例如终止实例、重新启动、保存快照等 等——这些操作的实现都依靠OpenStack Compute API 1.1的支持。我们也可以打开一个控制台窗口或是查看某个处于仪表板内的实例的日志文件。

为镜像添加安全密钥

安全功能是我们控制发往自己虚拟机访问的必要保障,OpenStack通过两种认证机制管理客户端工具。一种是仪表板自带的用户名及密码机制;另一 种则是“密钥对”,密钥为用户的实例提供安全验证。只有当用户能够同时通过以上两种认证过程时,才能够获得在OpenStack云中访问目标实例的权限。 密钥对(包括公共密钥对与私有密钥对)在我们启用实例时可以作为非常有用的参数。举例来说,要启动一套实例并加以访问,我们必须利用SSH创建一套密钥 对,这样就能够识别通过SSH访问该实例的用户。

OpenStack仪表板让我们能够在密钥对选项中通过点击创建新密钥对管理密钥。在下图当中,大家可以为自己的密钥对命名,然后点击创建密钥按 钮。创建新密钥对的过程包括登记公共密钥及下载私有密钥(一个.pem文件)两部分。由于这一创建工作完全是为我们的使用服务,因此请务必像对待其它 SSH私有密钥一样妥善加以保管。详见图四。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/111013jccb559p2oroc9cz.png  图四

Linux:ubuntu速度慢的原因之内存和swap分区

我在日常使用ubuntu时,经常要同时打开10几个窗口和应用,有时候就会发生速度变得很慢的情况,甚至系统明显反应迟钝,这时一般是物理内存不够用,系统开始用换硬盘上的swap分区做虚拟内存,其速度可想而知。

在ubuntu里面往往不是物理内存全部耗尽采取使用swap分区,swappiness的值的大小对如何使用swap分区是有着很大的联系的。 swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。两个极端,对于 ubuntu的默认设置,这个值等于60,建议修改为10。具体这样做:

1.查看你的系统里面的swappiness

cat /proc/sys/vm/swappiness
#不出意外的话,你应该看到是 60

2.修改swappiness值为10

sudo sysctl vm.swappiness=10

但是这只是临时性的修改,在你重启系统后会恢复默认的60,所以,还要做一步:

sudo gedit /etc/sysctl.conf

在这个文档的最后加上这样一行:

vm.swappiness=10

来自:http://www.opensoce.com/?p=904

Linux:刚发现Vim的一个选项,很强大

无须任何插件

只要把这句写到.vimrc里,可以开启很多对不规范的Python语法的警告提示

let python_highlight_all = 1

包括tab和空格混用的情况

如果你觉得警告太多,也可以分别打开各个开关?

let python_no_builtin_highlight = 1let python_no_doctest_code_highlight = 1let python_no_doctest_highlight = 1let python_no_exception_highlight = 1let python_no_number_highlight = 1let python_space_error_highlight = 1

Linux:Ubuntu11.10下可靠的刻录工具Gnomebaker 0.6.4

Gnomebaker 是一个可信赖的刻录CD/DVD的工具,它带有很多不错的配置选项,秉承着“质量至上”的理念。Gnomebaker 可以在Ubuntu 11.04的主资源库里下载使用,但在Ubuntu 11.10却不可以。可喜的是,一个支持Ubuntu 11.10的Gnomebaker PPA刚被创建了,通过它,可以很容易获得最新版的Gnomebaker 。Gnomebaker 不仅轻巧,而且有着类似资源管理器的界面,拖曳操作,“活着的”进度条等等。我们如何安装Gnomebaker 0.6.4?在Ubuntu 11.10添加以下的PPA:

sudo add-apt-repository ppa:gnomebaker/stablesudo apt-get updatesudo apt-get install gnomebaker

在Dash的搜索区域,输入Gnomebaker就可以将其启动。可以提交bug到:https://bugs.launchpad.net/~gnomebaker

来自:http://blog.51osos.com/linuxnews/ubuntu-gnomebaker-0-6-4/

Linux:八款主流浏览器的“杀手级”功能

  本文将对比八种国内最常用的PC浏览器,找出它们各自的亮点以及“杀手级”功能,所有浏览器都是基于Windows平台。和杀毒软件不一样,浏览器之间虽然也竞争激烈,却不存在兼容性的问题,因此以下8种浏览器皆可取其精华而用之。  Chrome  杀手级功能:谷歌网页翻译  目前大部分浏览器都已经内置翻译功能,许多浏览器本身就是调用谷歌翻译。但存在的巨大差异是,谁也没有Chrome那样方便和迅捷,同时保持着高度简洁。具体来说,第一、Chrome实现自动翻译,无需频繁点击;第二、Chrome隐藏恼人的“翻译调用栏”,它占用了宝贵的两行;第三、Chrome实现页面内翻译,保持原有的格式不会错位(偶尔有例外)。  其他亮点:V8引擎、智能地址栏、安全沙箱、即搜即得、Chrome 网上应用店、Google Cloud Print 、多进程架构  火狐中国版  杀手级功能:立体搜索  搜索框集成了谷歌、百度、淘宝等多个搜索引擎,选中网页中的文字向上拖动,将使用当前搜索引擎在后台进行搜索。选中网页中的文字向下拖动,将开启“魔镜”搜索,智能整合百科、翻译、购物、图片、视频等丰富搜索结果。  其他亮点:JägerMonkey引擎、智能地址栏、九宫格、弹出窗口阻止、搜索引擎集成、RSS、下载管理器、强大社区支持、硬件加速、网页崩溃保护、地址栏域名高亮、请勿跟踪、内置同步、密码管理、调用谷歌的网站检测技术、多变的皮肤、海量插件、火狐应用中心、一键分享、视频独立播放、拼写检查  Opera  杀手级功能:Opera Unite  Opera Unite技术基于Opera浏览器实现数据和服务的共享,使用 Opera Unite,你不再需要通过第三方服务器,直接就可以共享自己硬盘上的内容。Opera Unite彻底的扩大了你的线上活动范围,它借力于当今先进的硬件和流畅的网络连接,赋予所有人定义互联网未来面貌的能力。  其他亮点:标签组、右键调用多种搜索引擎、Carakan 引擎、右键调用电脑中安装的其他浏览器、网页自动刷新、Opera turbo、Opera Link、左侧方便的控制面板、Opera笔记  Internet Explorer 9  杀手级功能:智能缩略图  无需点击网页也可以控制网页上的内容播放?是的!您还可以直接通过任务栏上的网站预览缩略图进行便捷的操作,比如暂停或播放视频、选择上一首或下一首音乐……  其他亮点:GPU 硬件加速、智能一体框、SmartScreen 筛选器、兼容旧版网页、选项卡崩溃自动恢复、省电效果、多彩选项卡  Safari  杀手级功能:颜色配置文件支持  作为唯一可以校正网络图像颜色的浏览器,Safari 为你呈现悦目、精确的色彩。最初的 Safari 即已支持国际色彩联盟 (ICC) 配置文件,因此你在浏览器中所见的照片和图像已最大限度接近原始图像。  其他亮点:Nitro引擎、硬件加速、Cover Flow、书签自动点击、Safari 阅读器、Top Sites、智能地址栏、RSS 阅读器、抗锯齿字体、沙箱、多语种拼写检查  360安全浏览器  杀手级功能:360邮件通  内置于360安全浏览器中的邮件提醒功能,支持包括Gmail在内的多种主流电子邮箱,有新邮件时在插件栏显示新邮件数目,让你不会错过重要邮件。  其他亮点:360官网认证、下载加速、大量皮肤、与“云安全”的高度整合、应用盒子、小窗口视频播放、地址栏智能补全、地址栏域名高亮、智能双核、九宫格和360导航与应用盒子高度整合、相对更强弹窗和广告过滤  搜狗浏览器  杀手级功能:网页更新提醒  自动获取所关注网页的新内容,完美支持各类主流网站,不用再各处寻找信息,让最新好友动态、最新微博、最新帖子、最新资讯第一时间主动找到你。  其他亮点:个性化上网提速、实用的应用盒子、网速保护、下载加速、真双核引擎、网址认证、网页视频提取、网址自动补全、多功能主页、小号窗口  傲游3  杀手级功能:阅读模式  在你浏览网页时,傲游3会检测你访问的页面是否含有文章。点击智能地址栏中的“阅读模式”按钮,文章就会在雅致的画面中出现,完全没有多余的内容令你分心。  其他亮点:网址直达、多重搜索、小号窗口、超级拖拽、网页资源下载探嗅器、视频弹窗、智能地址栏、RSS阅读器、在线记事本、加速下载、整合新浪微博、出色的九宫格设计、多语种拼写检查  附录:谷歌Chrome有一个致命武器  Chrome浏览器早已顶着多种光环,例如“速度之王”、“版本帝”、“最难攻破的堡垒”等等,最近的光环莫过于一个似乎稳如泰山的大趋势:Chrome即将在2011年12月或者11月全面超越火狐成为全球第二大浏览器。  事实上Chrome已经在亚洲、南美洲以及欧洲重镇英国捷足先登了,原本属于IE和火狐的用户正在加速流向Chrome。Chrome发展如此之快的原因,用谷歌自己的话说:“速度是关键”,伴随着高度的安全性和简洁(不亚于iPhone),“Chromium开源项目”和“大量最新技术的应用”同样功不可没, Chrome经常在各种浏览器技术测试中荣登“跑分王”,然后扬长而去。Chrome还历史性地第一次实现浏览器的“每日更新”,至今仍振动着“极客”们的神经。  不可否认以上众所公认的事实,但或许大多数人都忽略了另外一个重要原因,这个原因让Chrome如此与众不同、无可替代(至少暂时是这样),并且让全世界各种语言各种民族的人们大大加深彼此间的交流,——那就是Chrome的“即时翻译”功能,这是“谷歌翻译”在Chrome上的完美呈现。通过“即时翻译”,任何人都可以通过Chrome“遍览世界”,仅仅依靠自己的母语就可以了。鬼才知道Chrome到底可以实现在多少种语言之间进行互译,只是一次又一次地感受到当各种陌生的文字瞬间转换成母语时的畅快淋漓。  互联网是求知的绝佳场所,或者不如说它越来越像是一个最大的教育机构。当 “资源的整合”到达一定程度的时候(比如说现在),下一个亟待解决的问题就是语言了。要想实现语言的互通,最迅捷的途径莫过于利用“机器翻译”技术。论翻译质量,“谷歌翻译”在众多翻译技术中处于领先地位,论翻译速度,是一如既往地快。人们很早就发现通过chrome可以打通一条通往“多元世界”的虽然不怎么畅通但是可行的途径。怎样确定这种途径的意义呢?有句话说得好:“另一种语言,另一个世界。”  对于Chrome中的“即时翻译”功能,无论有多少不尽如人意的地方,事实是它已成功地改变无数人的生活质量,这就是Chrome的“致命武器”。是的,目前几乎所有浏览器都已经内置翻译功能了,许多浏览器本身就是调用谷歌的翻译技术。但存在的巨大差异是,谁也没有Chrome那样方便和迅捷,同时保持着高度简洁。具体来说,第一、Chrome实现自动翻译,无需频繁点击;第二、Chrome隐藏恼人的“翻译调用栏”,它占用了宝贵的两行;第三、Chrome实现页面内翻译,保持原有的格式
不会错位(偶尔有例外)。  简单和方便就是好的,哪怕只是方便一点点,也会获得超多的青睐。可以预见的是,如果翻译功能没有得到改进,其他浏览器相对Chrome将有很大的劣势,这种劣势所带来的不良影响可能远比想象中的要糟糕!

来自:http://www.williamlong.info/archives/2914.html

Linux:Linux 下的 QQ 使用方案

QQ在中国的重要性不用多说了,再次前我整理过两份【Ubuntu下的QQ总集】,但是随着时间的推移,有的应用已经无法使用或者无法很好的使用了,所以在这里重新整理一下,删除掉一些QQ方案。

此次整理,只有在Ubuntu 11.10实验通过才发上来,对于部分无法兼容新版本Ubuntu的QQ方案,不予采纳,但是会在文章末尾提一下,有兴趣可以去试。

一、Q+  Web

Q+  Web可以说是第四代Web QQ,是前Web QQ融合Q+开放平台的一个Web OS,除了基础的QQ聊天外,可以使用应用市场中收录的总多优秀的网页应用

目前Q+ Web已经相当成熟,QQ相关的服务如好友管理、群管理、屏蔽功能、修改备注、文件传送、视频会话、抖动窗口、修改个人信息以及导出信息(以网页的形式打包、提供下载)等QQ聊天服务都完善了。

Q+  Web是目前Linux下最优秀的QQ使用方案,而且腾讯那边也完全可以以此来推脱QQ4Linux的发布。

使用方法:

直接访问http://web.qq.com/

二、 Q+ Web桌面化:pyWebQQ

pyWebQQ是 基于python、python-webkit包装的webqq桌面版,相比直接网页版的Q+ Web:

  • 系统托盘
  • 桌面信息提醒
  • 独立使用webkit内核,长期在线不会影响到你浏览器的效率

劣势就是需要安装

安装方式:

sudo apt-add-repository ppa:linux-deepin-team/linux-deepin
sudo apt-get update
sudo apt-get install pywebqq

或者到Ubuntu中文论坛下载:http://forum.ubuntu.org.cn/viewtopic.php?f=73&t=342725

Deb包:https://launchpad.net/~linux-deepin-team/+archive/linux-deepin/+files/pywebqq_0%2Br12-2_all.deb

三、LibQQ

LibQQ是国内一些能人发起的一个QQ项目,该项目是更新Pidgin中的QQ协议。 使用起来感觉很好,但是还是有些BUG,根据使用者的说法,该QQ得到了比较广泛的赞扬。

这个项目在今年上半年更新活跃,但是五月份以后就停止更新了。

目前能在Pidgin使用(Empathy中无法使用),但是根据网页在我的微博 @灵亦rEd 中的反馈来看,这个项目现在使用起来没有那么流畅了,没两天就会被要求到QQ安全中心去激活一次(非所有用户都是这样,仅由部分用户会这样)。

但是不管怎么说,LibQQ这个项目给那些喜欢简洁的人留下了深刻的印象。

安装方式:

sudo add-apt-repository ppa:lainme/libqq
sudo apt-get update
sudo apt-get install libqq-pidgin

注意,这个是Pidgin的一个插件,所以要先安装Pidgin

项目主页:http://code.google.com/p/libqq-pidgin

四、CreQQ

CreQQ是由sneezry达人写的一个Chrome 插件,基本完成了QQ的聊天功能,但是由于完善版本还在开发中,所以大家可以到作者的博客去关注Creqq的动态:http://sneezry.com/

在这里也意思意思放个图片吧:

上面的QQ方案就是我推荐大家使用的,其余下面简单提一下:

1.WQQ ,是对webqq两个版本所做的一个桌面应用,也就是说是不在通常浏览器里的而在小窗口里的webqq。对于已收未读消息、非聊天窗口下的消息会通过弹出 ubuntu的notify进行提醒,其中的亮点是提醒用的图片是用户/群所设定的头像。不支持Ubuntu 11.10 下载地址:http://code.google.com/p/zhscript/downloads/list

2.gtk-qq ,是一款基于 webqq 协议,使用 gtk+ 开发的 linuxqq 客户端 ,目前还没完善,项目主页:https://github.com/kernelhcy/gtkqq

3.miniqq,是官方的迷你webQQ,但是经常掉线,所以不推荐(如果解决了掉线的问题,那倒是不错的选择),使用地址:http://w.qq.com/

4.WineQQ, 通过Wine来安装Win下的QQ,最出名的是深度论坛的达人开发的deewine项目,不过不支持Ubuntu 11.10。在现在Q+ Web那么强大的情况下,实在不推荐大家使用Wine来模拟蛋疼的QQ,无法享受完美的QQ体验之余,还要承受大量的资源消耗。

5.QQ4Linux官方版,一个烂尾货,闲得蛋疼就去试试吧。

来自:http://www.ubuntusoft.com/discussion/26/linux下的qq使用方案/

Linux:删除 Ubuntu Linux 系统旧内核的方法

  使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。像我,竟然安装了下面那么多,这个造成了漫长的启动列表。必须删掉一些不用的。

  首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。从中选择要卸载的包,用apt-get来卸载:

[tc@ibm:~]$ dpkg --get-selections|grep linux
libselinux1 install
linux-386 install
linux-image-2.6.15-23-386 install
linux-image-2.6.15-27-386 install
linux-image-2.6.15-27-686 install
linux-image-2.6.15-28-386 install
linux-image-2.6.15-28-686 deinstall
linux-image-386 install
linux-kernel-headers install
linux-restricted-modules-2.6.15-23-386 install
linux-restricted-modules-2.6.15-27-386 install
linux-restricted-modules-2.6.15-27-686 install
linux-restricted-modules-2.6.15-28-386 install
linux-restricted-modules-2.6.15-28-686 deinstall
linux-restricted-modules-386 install
linux-restricted-modules-common install
linux-sound-base install
util-linux install

  具体的卸载方法为

sudo apt-get remove linux-image-2.6.15-23-386

  这样就可以实现自动删除内核文件了,还可以释放磁盘空间。

  另外还要记录一个命令。

uname -a

  使用这个命令可以查看当前系统使用的内核。

Linux:3 款 Linux 下的照片管理软件

Linux 下的照片管理软件大家熟悉的大致有十来个。网上搜索一下就能看到相关的文章介绍。本站以前也介绍过:六款优秀的 Linux 照片管理软件,LinuxLink 也有:7 of the Best Free Linux Photo Management Software,等等。

  • DigiKam
  • F-Spot
  • GQview
  • ImgSeek
  • Picasa
  • blueMarine
  • KPhotoAlbum
  • gThumb
  • Mapivi
  • gPhoto
  • UFRaw
  • Rawstudio
  • ExifTool
  • RawTherapee
  • Shotwell

今天给大家介绍其中三个:

digiKam

Digikam 是一个可以运行在 Linux,Windows,和 Mac OSX 下的数码照片管理应用程序。支持所有主要的图片文件格式,并可以按目录、日期、时间组织专辑,或使用标签动态组织相册照片。还可以给照片添加标题和介绍,将来可以通过搜索这些信息来查找图片。通过插件,还可以把图片分享到 23hq、Facebook、Flickr、Gallery2、Google Earth’s KML files、SmugMug、Piwigo、Simpleviewer或刻录到光盘上,而且还可以制作web相册。

https://dn-linuxcn.qbox.me/data/attachment/album/201112/11/132654okoo17qag7zz711o.png

特点:

  • 导入图片
  • 支持1200种以上的数码相机设备
  • 串行连接
  • USB连接
  • USB / IEEE的海量存储连接
  • 使用HAL / KDE的服务自动检测相机连接

组织相册:

  • 可以给图片添加评论
  • 可以给图片添加标签

查看:

  • 支持 RAW,包括libKdcraw
  • 300专有的RAW相机文件格式的支持。
  • 支持相机列表

具有快速图像编辑功能,键盘快捷键,创建幻灯片、日历。

分享照片:

  • 导出为HTML
  • 通过电子邮件发送图片
  • 分享到 23, Flickr, Flash, PicasaWeb, SmugMug, Piwigo and Zooomr
  • 导入、导出到 Facebook 和 Shwup
  • 输出到网站
  • 导出为 KML
  • 使用 KIO 协议(ftp, ssh, smb, fish, svn, tar… … )导出到本地目录或远程计算机上

https://dn-linuxcn.qbox.me/data/attachment/album/201112/11/132656a33jhci5aibibilw.jpg

网站: www.digikam.org 截图: www.digikam.org/drupal/node/323 文档: www.digikam.org/drupal/docs

 

 

 

 

 

来源:https://linux.cn/article-266-1.html

Linux:Linux下唯一的CSS3渐变发生器——Gradiator

  这是一个基于Linux Web开发人员所必须具备的工具:Gradiator.gradiator是一个用于Linux的CSS3渐变应用程序。而且它是目前唯一一个可用于Linux系统的CSS3渐变应用程序。

  该应用程序带有一个可调节的滑动块;一个配置渐变颜色的色轮和一个简单的方法来设置渐变的方向。

  设置好你喜欢的渐变颜色就可以通过“Get Code“按钮来获取CSS代码。

  ubuntu用户通过PPA源安装,打开终端,输入以下命令:

sudo add-apt-repository ppa:cooperjona/gradiator
sudo apt-get update
sudo apt-get install gradiator

来自:http://imcn.me/html/y2012/9604.html

Linux:Ubuntu11.10 解压 RAR 文件

Ubuntu默认不能解压RAR文件,Ubuntu11.10也一样,所以我们需要安装软件来支持。

压缩功能

安装:sudo apt-get install rar卸载:sudo apt-get remove rar

解压功能

安装:sudo apt-get install unrar卸载:sudo apt-get remove unrar

 

linuxsight@linuxsight-ODM:~$ sudo apt-get install unrar
 [sudo] password for linuxsight:
 正在读取软件包列表… 完成
 正在分析软件包的依赖关系树
 正在读取状态信息… 完成
 下列【新】软件包将被安装:
 unrar
 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 330 个软件包未被升级。
 需要下载 107 kB 的软件包。
 解压缩后会消耗掉 266 kB 的额外空间。
 获取:1 http://cn.archive.ubuntu.com/ubuntu/ oneiric/multiverse unrar i386 1:4.0.3-1 [107 kB]
 下载 107 kB,耗时 8秒 (12.5 kB/s)
 选中了曾被取消选择的软件包 unrar。
 (正在读取数据库 … 系统当前共安装有 172388 个文件和目录。)
 正在解压缩 unrar (从 …/unrar_1%3a4.0.3-1_i386.deb) …
 正在处理用于 man-db 的触发器…
 正在设置 unrar (1:4.0.3-1) …
 update-alternatives: 使用 /usr/bin/unrar-nonfree 来提供 /usr/bin/unrar (unrar),于 自动模式 中。
 linuxsight@linuxsight-ODM:~$ sudo apt-get install rar
 正在读取软件包列表… 完成
 正在分析软件包的依赖关系树
 正在读取状态信息… 完成
 下列【新】软件包将被安装:
 rar
 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 330 个软件包未被升级。
 需要下载 568 kB 的软件包。
 解压缩后会消耗掉 1,217 kB 的额外空间。
 获取:1 http://cn.archive.ubuntu.com/ubuntu/ oneiric/multiverse rar i386 2:4.0.b3-1 [568 kB]
 下载 568 kB,耗时 54秒 (10.5 kB/s)
 选中了曾被取消选择的软件包 rar。
 (正在读取数据库 … 系统当前共安装有 172393 个文件和目录。)
 正在解压缩 rar (从 …/rar_2%3a4.0.b3-1_i386.deb) …
 正在处理用于 man-db 的触发器…
 正在设置 rar (2:4.0.b3-1) …

来自:http://www.linuxsight.com/blog/3385