没那么神秘:Linux下生存实录(2)

来源:51CTO 作者:杨新涛
  

(杀NetworkManager)

2、网页浏览。浏览器是互联网入口,各大互联网公司必争之地。firefox,源至linux下的著名浏览器,凭借其高安全性和可扩充性赢得大量忠实用户。

  • 软件名称:firefox
  • 界面截图:

(firefox)

  • 设置调整:你对firefox的任何需求,几乎都可以通过其丰富的插件资源得到满足(另一个有如此庞大插件资源的软件当数vim了,后面有介绍)。进入tools->add-ons即可在线查找需要的插件,找到后点击在线安装即可,安装完成需重启浏览器以让新装插件生效。下面介绍多款我觉得非常有用的插件:

a)下载管理-download statusbar;

b)链接拖拽-quickdrag;

c)鼠标手势-all-in-one gestures;

d)双击关闭tab-close tab by double click;

e)侧边显示-all-in-one sidebar;

f)网页代理-phzilla;

g)vi模式-pentadactyl;

3、资源下载。作为一个linux狂热用户,也不得不承认,要让电脑完全满足我日常需求,或多或少还是要借助windows。有些linuxer认为引入windows程序会玷污linux的纯洁性,宁愿放弃某些应用,也不愿和windows沾边。个人认为,任何事情不要走极端,我们玩linux,是为了享受它带来的开放、自由、创新,但同时,也不要人为丢弃windows提供的特有服务,毕竟,我们使用电脑是为了解决实际问题,而不是向谁证明“我是一名纯正的linuxer”,否则只会顾此失彼。当然,如果有功能类似的软件,肯定会优先选用linux版本,这点无须质疑。

我们需要借助windows,这倒不是linux系统本身不够完善,而是某些应用软件开发商只发布了windows版本,且那些软件又掌握着其所在领域的垄断权(两个特征:采用私有协议、用户规模大),以至于第三方即便有心也无力在linux下开发类似软件。对我而言,有几类应用让我离不开windows:网上购物和资源下载。先说说下载,网购后文有提及。

在冏朝,说起下载,一定会想到迅雷,离线下载、高速通道、多协议支持等等特性是其他任何下载软件无法提供的,特别是对冷门资源的下载非常有效。遗憾的是,迅雷仅提供windows版本,在linux下你是无法(直接)使用迅雷的。

有什么办法能解决“linux下如何使用windows程序”的问题?目前有两类解决方式:转换层方式和虚拟机方式。在介绍这两类方式前,先了解下为什么会存在这样的移植性问题。之所以windows程序不能在linux下运行,主要因为操作系统api不同所致,类似迅雷这类应用程序,由于对性能要求高、功能要求严,导致开发时必须与操作系统非常紧密联系,采用了大量系统提供的独有api,最终成为windows上的“原生应用程序”,一旦“原生应用程序”找不对应的操作系统就找不到api,当然也就无法正常运行了。好了,根结就在api上。

我们说的第一类解决方式,是在linux中部署一套为windows api转换层,我们让应用程序在转换层中运行,应用程序继续调用windows提供的api,转换层接收到api请求后将具体执行操作传递给linux系统,linux执行完后返回的转换层,转换层将请求执行结果反馈给windows应用程序,完成一次api请求,这样重复往返多次不同api调用,最终模拟完成整个应用程序执行过程。这种方式虽然可行,但也不完美:a)操作系统本身几乎就是由大量api组合而成,如果实现了所有windows api那就实现了windows系统,从工作量和复杂度上来说,这不是哪个开源社区能够负担得起的,所以,目前做得最好的转换层(wine,收费版本CrossOver)也仅实现了部分api,这意味着,不是所有windows程序都可以在转换层中运行,这是一个问题;b)既然是模拟api,那么从执行效率(实时性)、执行结果(正确性)上看,肯定与直接在windows中执行存在明显差距,时常会出现程序异常退出、运行缓慢等等问题,这对实时性要求较高的应用(在线3d游戏)来说,是用户无法接受的。正因为此,不推荐该方式。

第二类解决方式是安装虚拟机,在虚拟机中安装一个windows操作系统,这就像和你直接安装的windows一样,这样就有了一整套完整的windows api,所有应用程序均可正常运行。virtualbox就是一款著名的虚拟机。

  • 软件名称:virtualbox
  • 界面截图:

  • 下载安装:切勿从软件仓库中安装,仓库中的版本无法识别usb设备,官网提供了完整版(https://www.virtualbox.org/wiki/linux_downloads);
  • 设置调整:要像使用真正windows那样使用装在virtualbox中的windows,必须注意以下几点:

a)内核管理。virtualbox对内核版本非常敏感,一旦有内核升级,必须对virtualbox核心模块进行重新编译。别担心,不需要你具备程序员的能力,virtualbox会自动执行,你,负责为它准备相关编译工具--gcc、make、

kernel-dev。第一个是编译器,第二个是代码管理工具,第三个是编译内核需要的头文件,这三个工具均可通过软件仓库安装。一旦准备好相关工具,用root权限执行"/etc/init.d/vboxdrv setup"命令即可;

b)显卡与usb管理。要让virtualbox中的windows支持3d显卡加速、识别usb等等增强功能,必须安装在windows中安装virtualbox自带的增强包。增强包只能在windows的安全模式下才能安装完整,windows虚拟机启动时按f8进入安全模式,进入virtualbox菜单devices->install guest additions进行增强包的安装;

c)网卡管理。通常主操作系统(linux)配有无线网卡、有线网卡、3g上网卡,必须先映射到客操作系统(windows)后,在windows系统中才能正常上网。进入setting->network,将adapter1采用nat方式映射,将adapter2采用bridged adapter方式映射到eth0(有线网卡设备编号)、将adapter3采用bridged adapter方式映射到wlan0(无线网卡设备编号),进入windows,在"更改适配器设置"中将看到这三个网卡映射,依次将adapter1命名为"3g直连"、adapter2为"有线桥接"、adapter3为"无线桥接",这样,启停不同网卡实现不同上网方式的切换。在windows虚拟机中看到的三张网卡如下(是的,下图反映了我正在用3G上网):

(映射到windows虚拟机中的网卡)

  • 使用问题:高版本迅雷(v7)在虚拟机中运行会报c++运行时库溢出的错误,暂时只能安装低版本迅雷(V5)才可正常运行。网上找迅雷5,下载安装。这时先别急着下载资源,迅雷有自动升级机制,一旦联网,将强制升级,若取消升级则程序会退出,若升级则又变成高版而导致报错,唯一的方式是暴力破坏迅雷5的自动升级程序thunderliveud.exe,在迅雷所在的安装盘搜索在程序,找到后全量删除之;
  • 其他说明:这部分内容是以迅雷为例介绍了在linux下"运行"windows应用程序的通用方法,其他应用,可以此参考。

4、网上购物。网上购物涉及两类操作,网银支付和在线交流,前者就是各大银行的在线支付程序,后者指的是淘宝旺旺软件,典型的两类windows原生应用,请参考上例在windows虚拟机中安装对应软件即可。唯一需要注意的u盾的识别,插入u盾后,先到virtualbox中setting->usb,勾选enable usb controller,再到windows虚拟机中devices->usb devices列表中选中对应u盾,这样,windows就能正确识别u盾了。其他usb设备的识别与之类似;

罗嗦两句网银支付。目前看来,朝内绝大部分银行仅支持win+ie平台在线支付,完全忽视非windows用户的存在,强烈谴责"为保障您的资金安全,我行建议您在windows操作系统中完成交易",举着安全大旗招摇过市(windows安全?你银行服务器莫非装的是windows server 2K3?),相反,国外各大银行遵循标准化,支持在各类操作系统、各自浏览器上进行网上交易,如,美国花旗、汇丰,更有甚者(德国的银行业),银行外对开放API,允许用户自行开发交易程序,怎么没见这些银行发生安全事故!当然,不是所有朝内银行都是"如此重视安全",浦发银行是少数几家支持跨平台交易的银行,大家风范,值得推荐(不过营业网点有限,二三线城市较少)。http://www.openbanks.info/是一个专注于探讨网银跨平台主题的网站,有兴趣可以逛逛。

5、即时通讯。常用的im工具包括飞信、qq、msn,这三个im都有对应的linux版本,但,不论是官方发布的还是第三方通过逆向工程实现的,从功能完整性、运行稳定性、界面友好性来看,均与windows原生版本存在巨大差距,实际使用效果并不理想。如果的确要用,建议参照上例,在windows虚拟机中安装运行。

或许是冏朝的linux用户量过少(linux在全球桌面领域占有率仅为2%,且主要分布在万恶的欧美等资本主义国家),国内软件开发商基本采用忽略态度,即便发布了linux版的程序,要么长年不更新(qq for linux从2009年1月发布后从未更新过,http://im.qq.com/qq/linux/download.shtml)、要么不对外发布(aliwangwang for linux,仅用于淘宝公司内部测试,http://ge.tt/8sppgia),在此呼吁各大开发商,请对linux予以正确的认识和重视,尊重我们选择操作系统的权利。

 

四、系统管理

linux系统管理是很大一个领域,有专门的一群从业者靠此养家糊口,我无法在此进行详细讲解,仅以几类常规操作抛砖引玉。

1、数据备份。随着对电脑的依赖,我们多多少少积累了些重要资料,可以说这些资料是形成我们"个人能力"的主要来源,一旦丢失,多年的工作经验、生活点滴均将化为烟云,这是我们一笔无形的财富。硬盘老化、操作系统异常、电脑遗失等等都会导致资料丢失,为避免损失,应该养成定期备份数据的习惯。

就我个人经验来看,数据备份要注意以下几点:

1)存放备份的介质。必须要有一块独立外置硬盘(500G移动硬盘外套硬盘盒)用于存放备份数据,而不是在电脑内置硬盘上的一个分区备份到另一个分区,否则即便有备份,一旦内置硬盘出问题,原始数据和备份数据都将挂掉;

2)内置硬盘的分区。电脑内置硬盘在分区规划时,应单独创建一个文件系统,专门用于存放需要定期备份的数据(这里的几个说法容易混淆,概念澄清下,外置硬盘中用于存放备份而来的分区不妨称之为backup分区,内置硬盘中用于存放我们重要资料的需要被定期备份出去的分区称之为data分区);

3)其他项:

A)全备,每次将所有数据资料全量备份而非仅备有差异部分(非增备);

B)两个快照,任何时候应保留上上次和上次的两个备份快照,完成本次备份后再删除上上次备份快照,避免备份过程出问题导致历史备份丢失;

C)直备,保持数据资料完整目录结构,直接备份到外置硬盘的backup分区,说白了就是直接复制,不进行任何再加工;

D)月备,数据备份的周期要视你具体数据量和数据更新频率而定,个人而言,100g的数据量,备份耗时差不多25分钟,我一般每月备份一次(小提示,将工作、生活上需要定期做的事项按不同执行周期分类梳理到一张电子表格中,不时看看,你会发现,原来我是那么井井有条--引至《爱我何需理由》,作者:自恋小王子(这是笔名,真名吴凤辉,嘎嘎嘎嘎~):-)。

在备份软件方面,无须其他特殊软件,只要有tar、bzip2、gzip、zip、unzip几个常见命令即可。下面依次以直接打包备份、打包压缩备份、打包压缩带进度备份三种方式,由浅入深介绍具体备份操作。

1)直接打包备份。为了保持目录结构,通过采用打包命令tar进行备份。比如,希望将/data目录备份到名为backup_120g的外置硬盘上,备份文件命名为data_backup.tar,那么完整命令及参数如下: 

  1. tar -p /data -cf /media/backup_120g/data_backup.tar 

其中,-p表示完全保持/data目录下所有文件的文件属性,-cf表示需要创建一个备份文件且命名为backup.tar。

数据备份的时间点往往是我们最为关心的信息,所以习惯上备份文件名应该加上时间戳。linux的date命令能根据不同参数生成指定日期信息,完整的命令及参数如下:

  1. tar -p /data -cf /media/backup_120g/data_backup@`date +%m-%d`.tar 

其中,包裹命令date的"`"符号是tab键正上方、1键左边那个键,而非单引号。以指示shell优先执行整个命令行中该符号对包裹的命令(即,date +%m-%d)。

如果外置硬盘空间有限,/data中又包含部分不那么重要的数据(如,临时目录tmp,与windows虚拟机同享文件的目录share_folder),那么备份时可以将这些目录排除掉,通过tar的--exclude参数即可实现:

  1. tar -p /data --exclude=/data/misc/tmp --exclude=/data/misc/software/vm/win_7/share_folder -cf /media/backup_120g/data_backup@`date +%m-%d`.tar 

其中,--exclude参数语法非常特殊(其他命令中的该参数也是如此),注意几点:A)命令中的所有参数必须为绝对路径而非相对路径,且不能用~等等缩写字符;B)所有路径最后不能以"/"结尾。

2)打包压缩备份。如果排除了部分不重要数据后外置硬盘空间仍然紧张,可以考虑对打包文件进行压缩。linux上常见的压缩命令包括gzip和bzip2,由于两者采用的不同压缩算法,导致前者压缩率较低但速度较快,后者压缩率较高但速度慢,但相关用法差不多,请按需择优选用(本例以gzip为例,若需bzip2则直接替换即可)。打包和压缩是两个独立操作,写两条命令多麻烦啊!不用,借助linux强大的管道和重定向机制,可以在一条命令中以非常自然的方式实现:

  1. tar -p -cf - /data --exclude='/data/misc/tmp' --exclude='/data/misc/software/vm/win_7/share_folder' | gzip > /media/backup_120g/data_backup@`date +%m-%d`.tar.gz 

别被这些奇怪符号吓着,管道符("|")用于实现"打包一点压缩一点",重定向符(">")用于实现"压缩一点写一点到备份文件中",这样,串起来就是"不停打包、不停压缩、不停写文件"的流水作业,理解了吧!其中,上个命令中-cf后面跟的是备份文件名,本命令中改为"-",就在告诉shell说,"先别急着写文件,你(shell)把我(tar)刚生成的数据流传递给后面负责压缩的兄弟(gzip),它知道该写哪个文件,谢谢哈~"。说明两点,A)你是否注意到备份文件的扩展名为".tar.gz",不仅本例,涉及linux主题的网站提供的下载几乎都采用这种命名方式,这叫命名约定,通常来说,如果仅打包不压缩则扩展名为".tar",如果打包且采用gzip压缩则扩展名为".tar.gz",如果打包且采用bzip2压缩则扩展名为".tar.bz"或".tar.bz2";B)其实tar命令使用--gzip和--bzip2参数可以直接实现打包压缩,无须像上例,采用管道和重定向来实现,但,为精确显示整个备份进度率,必须采用这种变通方式,请接着看。

3)打包压缩带进度备份。要显示备份进度,必须得事前知道待备份数据(/data)的大小,可通过du命令实现:

  1. du -sk /data --exclude='/data/misc/tmp' --exclude='/data/misc/software/vm/win_7/share_folder' 

其中,-s表示计算/data整个目录包括子目录下所有文件的大小总和,-k表示计算结果以k为单位(或者m、g、t等)显示,单位的精度越高,在计算百分比进度时就越精确。

待备份目录大小知道了,如何计算进度?上面介绍过,打包、压缩、写文件都在借助管道传递数据流,如果能查看到管道中已经传递的数据量大小,用此大小除以总大小不就能显示出当前备份进度了么?噹噹噹哒~,pv就可以,顾名思义pv就是pipe viewer,明白了吧,管道查看器,它是监测管道数据的超级武器,没事多用用、系统更健康。

  1. tar -p -cf - /data --exclude='/data/misc/tmp' --exclude='/data/misc/software/vm/win_7/share_folder' | pv --size xxx | gzip > /media/backup_120g/data_backup@`date +%m-%d`.tar.gz 

其中,xxx部分请用前面du命令输出结果(待备份目录/data总大小),并手工添加单位k。效果如下:

(可视化备份进度)

好了,到此包括打包、压缩、排除不重要目录、打时间戳、显示进度等特性在内的linux常规备份操作就介绍完了,一条命令啰哩吧嗦说了一大堆,看来的确是老了(小吴,好好干,路还长)。内容是多了点,一次没看明白就多看几次,其实也不复杂,我们一起看看简化模型吧(啰嗦的平方就是在下,谢谢,:O)。

  1. du -sk /source 
  2. tar -p -cf - /source | pv --size xxxk | gzip > dest.tar.gz 

有备份就有恢复,相对备份操作而言,恢复就太简单了。仍用tar命令,参数不同而言:

 

  1. tar -xv -f dest.tar.gz -C  

其中,-x表示执行解压解包操作,采用哪种解压算法由tar自行侦测后决定,-v表示显示以及解压出的文件列表,-f表示该参数后面紧跟的就是待解压的文件名,-C表示该参数后面紧跟是解压后的文件存放路径。

这次真的说完了,没想到我对朴实的tar如此动情,不知不觉谈了这么多关于她的点滴。在介绍她的同时,我也再次品味到了unix(linux的大哥)哲学——分工明确、各司其职、齐心协作。(tar哭着说,你娶我是想更接近我哥)。

2、碎片整理。要理解碎片,必须先了解硬盘基本结构和硬盘读写机制两个概念。之后,再看看不同操作系统写文件的策略,你自然会明白碎片在linux下是啥东东。

硬盘基本结构。硬盘内部是由多张磁片和一个机械臂组成,磁片上最小单位是扇区,一旦硬盘停止工作后(如,关机),机械臂将复位到第一个扇区处。对于扇区而言,不论写入数据有多小,一旦占用了某个扇区后,其他数据就不能再写入通过扇区,即便该扇区还有空余空间(这就是为什么我们说一个大文件要比拆分为多个小文件的合计要小一些的原因)。每次读或写操作之前,机械臂先移动寻找到要访问的扇区,这个过程称之为“寻址”,由于机械臂移动是个物理动作,如果读写操作老是在不同扇区间不停移来移去,势必会增长读写操作耗时。

硬盘读写机制。我们为每个扇区编个号,最开始的是0号扇区、接着是1号、然后2号、以此类推,任何操作系统都会尝试尽量将文件写入靠前的扇区,若已被占用则尝试下个扇区,直到找到空闲扇区,这样,理想情况下,整个硬盘应该是先用完靠前的空间。

了解了基础概念后,我们假定有A、B、C三个文件,依次连续占据0~3号扇区、4~7号扇区、8~9号扇区,如下图所示:

(碎片:初始状态)

这时,用户编辑了文件B,增加了大量内容,导致文件B体积增大了2个扇区的大小,windows写文件时采用的策略——“可以接受两地分居”,即,将增加部分内容写入最靠前空闲的10号和11号两个扇区,如下图所示:

(windows写文件策略)

以后,一旦用户需要访问文件B,系统先寻找到4号扇区,将4~7号扇区读入内存,再寻找到10号扇区,将10~11号扇区读入内存,最后将这6个扇区合并供用户使用。设想一下,刚装好系统时硬盘上有5000个文件,其中1000个在后来系统使用过程中被人为或程序调整过大小,那么这1000个文件个个都被截成几段,这就形成了“碎片”,文件越多、文件写入次数越多,产生的碎片就越多。

linux写文件采用的是与windows恰好相反的另一个策略——“分开就不是家庭”,即,将文件B后面紧挨着的文件C向后移动两个扇区,移动后文件C就从先前的8~9号扇区变成10~11号扇区,8~9号扇区空出来用于存放文件B增大的部分,如下图所示:

(linux写文件策略)

显然,按linux的策略,无论硬盘中有多少文件、写入多少次,系统永远不可能产生碎片。再回到前面的问题,linux碎片整理代表什么?代表没事找抽~~

有童鞋问,每次我写完文件要保持时,系统都要移动那个文件后面的所有文件,岂不是更慢?移动是肯定的,但linux也不会那么弱智,至少有三种辅助手段缓解这个问题:A)数据搬迁不一定在我们编辑完文件后立马执行(即便已经关闭了文件),系统会结合CPU、内存、IO等资源使用情况,综合判断何时搬迁,以减少大规模移动数据对用户带来的不好感知;B)linux会记录下经常被更改的文件,在适当时候将这些文件后面紧跟的文件向后移动,以腾出空间让这些频繁更改的文件在下次体积增大时可以直接使用连续扇区;C)系统采用dd命令在底层进行数据搬迁,效率不是cp等辈可触及的。linux通过这三种方式,既实现了消除碎片,又让用户对整个过程感知最小化。

其实,我们可以算本帐。windows是"今朝有酒今朝醉",即,这种方式在写文件的当下感觉是最直接,但后续每次访问这个文件都要不同移动机械臂;而linux是"今天的短暂拥堵是为了明天长久的通畅"(引至成都BRT建设宣传语),即,在写文件当下是要慢些,但后续每次访问就会一致性读入。两种方式,随着文件数目的增加,个人觉得后者更优!

 

五、图形图像

我们活在五彩斑斓的世界,色彩组成了世间万物。计算机是真实世界的数字扩展,当然也应该多彩绚丽。

1、图片编辑。玩单反的朋友用photoshop,玩单反又玩linux的朋友用gimp。gimp是linux下著名的图形处理工具(同时,由它衍生出来了一种功能强大、设计灵活的通用图形库gtk,gtk被gnome选作基础库,成为gnome环境中图形应用程序的开发标准),功能与photoshop不分上下。

  • 软件名称:gimp
  • 界面截图:后面绿色区域是桌面背景啦,另,图中大象的玩弄、抚摸以及搓揉权归属吴凤辉先生,特此声明!

(gimp)

  2、色彩提取。有时看到很好的配色方案想要把色彩记录下来,这时就需要一款提取色彩值的工具。

  • 软件名称:gpick
  • 界面截图:

(gpick)

3、屏幕截图。截图是很常用到的一种工具,我认为一个好的截图工具至少应具备能截取视频图片、能放大像素以让用户精确截图、预制常用的截图模式(即,除截取鼠标选中区域外,能针对窗口、菜单、提示气泡等直接截取)等功能点。shutter号称linux下最强截图工具,支持我提的三点要求,值得推荐。

  • 软件名称:shutter
  • 界面截图:

(shutter)

  • 下载安装:如果安装软件仓库中的版本,运行时将报错(can't locate file/copy/recursive.pm in @inc)。请通过一键安装文件(http://download.opensuse.org/repositories/home:/swyear:/shutter/opensuse_12.1/shutter.ymp)下载安装。

4、屏幕录像。说了屏幕截图肯定要说屏幕录像,如果是一副图抵得上100个字,那么一段视频就是50副图。录屏工具生成的视频格式非常重要,最高压缩比的视频文件体积都不小,能表达连续动作又能比视频文件体积小的文件格式是什么?gif格式。byzanz可以将录屏内容直接输出到gif文件中。byzanz是个命令行工具,但操作不难。

  1. byzanz-record -d 16 -c test.gif 

其中,-d表示录屏时长,-c表示包括录制鼠标。

  • 软件名称:byzanz
  • 界面截图:

(byzanz)

  • 其他说明:真心喜欢这个软件,但受限于是个命令行程序,所以知道的人不多,空了我会为它写个图形前段,希望有助于它的推广。

 

六、其他杂项

前面分五类介绍了常用软件,除此之外,还有些我个人经常用到但有不能归入五类中的软件,暂且放置于此。

1、蓝牙收发。电脑与手机通过蓝牙协议收发文件是最常见的蓝牙应用场景之一,下面将以笔记本电脑和手机收发图片为例进行介绍。

opensuse默认已经安装好相关蓝牙管理程序(核心程序gnome-bluetooth和bluez),请确认正确、完整安装。在开始之前,我们先要进行文件共享设置,以便笔记本接收手机发送的图片。运行"personal file sharing "程序,按参照下图选中所有勾选框:

(允许蓝牙接收文件)

就蓝牙收发图片的一般流程而言,我们先配对好两个蓝牙设备,在源设备中选中图片,选择通过蓝牙发送给目的设备,目的设备接收文件。但,opensuse蓝牙程序的bug,如果我们以待发送文件为操作对象进行发送操作,那么系统将提示失败,换言之,不论我是从笔记本发送到手机,还是从手机发送到笔记本,只要选择文件再通过(笔记本或手机)菜单“经蓝牙发送”均会失败,必须通过另一种变通方式来实现蓝牙收发文件——手机存储浏览。也就是说,不管笔记本或手机哪个是源、哪个是目的,我们都应该先通过蓝牙浏览手机存储(如,手机的micro-sd卡),然后像在笔记本自身移动图片一样,通过复制、粘贴方式在笔记本硬盘与手机存储卡之间移动图片,从而实现笔记本与手机间通过蓝牙相互收发文件。

具体演示步骤如下:

1)运行bluetooth ,出现如下界面:

(未添加配对蓝牙设备)

2)点击"+"添加配对手机:

(添加手机"李大舅":-)

3)点击右下角"browse files..."浏览手机存储卡,下图为手机存储文件列表:

(手机存储卡文件列表)

4)后续在笔记本和手机目录间剪切文件即可实现蓝牙文件传送。

随便说下,为增强系统的安全性,平时不需要时最好将蓝牙关闭(笔记本和手机都关了),省电不说,至少其他人看不到你设备上的任何资料,个人隐私还是要注意滴~

2、英文翻译。不管你英文有多好,难免会遇到几个生词,如果每次都复制粘贴到百度中搜索中文解释那多麻烦啊,英文翻译工具必不可少(当然也可以翻译其他语言,只要安装了对应词典文件)。

  • 软件名称:stardict
  • 界面截图:

(stardict)

  • 设置调整:A)stardict自带词典单词量不够,可以网上下载专业词典,下载后复制到/usr/share/stardict/dic目录,重启stardict即可生效;B)stardict支持发音功能,但作适当调整。进入dictionary->sound,勾选"enable sound event"和"enable TTS program",并将"command for playing sound files:"设置为"aplay"。

3、中文输入。个人认为影响linux在朝内推广的最大阻碍要算输入法。linux下常见输入法有scim、fictx、ibus。scim是老牌输入法,但项目几乎停滞,长年不见更新;fictx,俗称小企鹅输入法,有一定用户量;ibus,gnome唯一官方集成的中文输入法,有模糊拼音、常用词汇、智能匹配、主动学习、快速输入日期(rq)和时间(sj)等特点,很好用。如下图:

(ibus)

4、软件开发。这个时代,上规模的软件项目已不可能用简单的文本编辑器完成,IDE是必然选择。linux下IDE大致分为两类:“品牌机”和“组装机”。“品牌机”中有些(开源)产品还不错,比如:codeblocks、netbeans、eclipse、anjuta等等,对于初涉linux开发的朋友而言是个不错的选择(我指的是codeblocks),但对于老鸟来说总有这样那样的欠缺。听闻linus torvalds这类大牛用的是类emacs和一堆插件拼装而成的IDE,为向大牛致敬,加之那颗“喜欢折腾”的心,“组装机”是我的选择。首要任务,选择编辑器。linux上存在两种编辑器:神之编辑器—emacs,编辑器之神—vim。关于emacs与vim孰轻谁重之争已是世纪话题,我无意参与其中,在我眼里,二者都是创世纪的优秀编辑器,至少在这个领域作到了极致,它们让世人重新认识了编辑操作的本质——用命令而非键盘——去完成编辑任务。我是人类,选用vim。(此处省略31页半),详见《拼装的艺术:vim之IDE进化实录》,目前是v0.3版本,听说作者是个帅鸽。

5、命令行快捷键。linux下使用命令行是常有的事儿,介绍几个有用的命令行快捷键,将一定程度上提高你的效率。ctrl-c,结束当前进程;ctrl-z,挂起当前进程;ctrl-d,结束输入;ctrl-shift-c,拷贝选中文本;ctrl-shift-v,粘贴文本;ctrl-w,删除光标左边的一个单词;ctrl-a,光标移至行首;ctrl-e,光标移至行尾。

6、有待提升。讲了这么多,不是说openSUSE就很完美了,有些细节做得还不到位,有提升空间。如,显示器亮度调节问题,只有在纯命令行(非图形界面的模拟终端)下有效;又如,系统休眠(非待机)时不能连接有外设(音响、耳机、U盘等等),不能在低电量时休眠,否则都有一定几率夯机;再如,多屏幕投影时,无法实现多个屏幕内容一致。如此等等,虽大方面不影响使用,但如果发行商能及时修正,在这个各大发行套件血拼的时代,谁重视用户体验,谁就会赢得人心。

【完结】

一旦你决定移居linux,就要放下先前某些思维模式,入乡随俗,多了解它的风土人情——thinking in linux。

完结,祝君在linux下生活幸福!

 

 

 

 

 

 

 

 


时间:2012-08-18 09:08 来源:51CTO 作者:杨新涛 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量