ubuntu


Ubuntu中安装NodeJS

得益于Debian系强大的应用仓库,在Ubuntu中安装NodeJS非常简单: # npm — NodeJS Package Manager,非常重要且好用的NodeJS包管理工具,非装不可! sudo apt-get install nodejs npm 装好后,我们可以通过以下命令确定NodeJS的版本: node -v # 我的结果是:v0.10.15 什么?运行不了,提示: bash: node: command not found 这是咋回事呢?! 别急,Google一下,就有答案:原来,已经有其他软件包(Amateur Packet Radio Node Program)含有名为“node”的程序了,这样,一旦同时安装NodeJS和Amateur Packet Radio Node Program,就会出现覆盖,导致其中一个无法运行。于是大家商量了一下,决定将NodeJS的node程序改名为nodejs,彻底杜绝冲突。但是这样改又会带来兼容性问题:npm以及其他使用名称“node”来调用NodeJS的程序,就都失效了。何况,很多人都不会安装Amateur Packet Radio Node Program这个包,凭什么要做这么大改动啊?于是乎,我们又迎来了曙光: sudo apt-get install nodejs-legacy 安装这个包后,我们总算迎回了熟悉的“node”!好吧,最后告诉大家,其实nodejs-legacy这个包啥也没做,就只是建了一个软链接: ls -l /usr/bin/node # 结果是:lrwxrwxrwx 1 root root […]


Ubuntu使用ttyS*(如mincom)时不需root权限的方法

  很久很久以前,我们在Ubuntu下使用软件(如minicom、screen等)访问串口时,是不需要任何超级权限的(使用minicom时,只有使用-s选项时需要root权限);不知道从哪个版本(12.04?)开始,我们发现原来那招就不好使了;于是很多人开始习惯无论什么时候使用minicom,都使用sudo来运行,更有甚者,直接就用root帐号来登录系统了。   其实只要很简单的一步,就能够实现非root权限就能访问/dev/ttyS*设备了。   首先我们来看看为什么普通账户会没有权限访问ttyS设备了: ls -l /dev/ttyS0 crw-rw—- 1 root dialout 4, 64 8月 30 21:53 /dev/ttyS0   从上面的输出,我们很容易看出来,ttyS设备的用户主是root,而所属的组是dialout,并且owner和group都是有相同的rw权限的,但others是没有任何权限的。   使用groups命令,我们就明了了:我们在安装Ubuntu时,安装时使用的账户并不会默认加入dialout组,因此该用户就没有权限可以访问ttyS设备了。   解决方法也非常简单: sudo usermod -a -G dialout user_name   这样,重启系统后,用户“user_name”就会加入dialout组了,之后我们就能自由自在地访问ttyS设备了,enjoy yourself!


Ubuntu开机自动挂载分区

虽然我基本上都是使用Linux的,但是仍然有些时候需要切换到Windows(双系统),如果所有的分区都使用ext4等Linux分区格式,则在Windows下访问十分不方便。 因此,我一般会将一些两个系统都会用到的资料存放在NTFS分区中,这样无论在什么系统下,都能够挂载并访问。 如果在安装的时候没有指定挂载点,则安装完成后,Ubuntu启动时并不会自动挂载;你可以每次需要用时再手动挂载,但时间久了,就会觉得很不方便。怎么来解决呢? 我们可以利用/etc/fstab来解决这个问题。通过在终端运行命令“man fstab”,我们可以了解关于fstab的一些细节。 以下是我的fstab文件的内容(阉割版) # /etc/fstab: static file system information. # # Use ‘blkid’ to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. […]


我为什么使用Kubuntu

  网上看贴,包括身边的同事、朋友,总会问的问题是:我该选择哪个Linux发行版?使用久了,就会觉得这个问题其实不是问题,纯属个人习惯而已,当你真正习惯、理解了Linux,那么任何一个发行版的优点,你都有办法在另一个发行版上实现。写这篇文章,不是为了给大家一个指引,而仅仅是对自己这些年的经历做一个总结。       从2007年开始使用Linux,还记得当时使用的是Ubuntu 7.04,一路走过来,现在,我选择使用Kubuntu。   我是一个特别喜欢折腾的人。   2007年,我还是大二、大三的学生,那会跟着老师做项目,是Asp.net的项目,用的操作系统是XP/Vista/Server2003,开发工具是VS2003/2005,一切都是GUI的。作为图形化的开发工具,Visual Studio无疑是一个非常强大而且好用的工具,那时有朋友跟我说,“命令行工具非常强大,必须要学会在命令行下工作”,我对此嗤之以鼻,“现在图形化的工具这么强大、这么方便,还有谁会使用命令行呢?”。事实当然是,我错了,错得离谱。   2007年下半年,机缘巧合之下,我“认识”了Ubuntu。也许是缘起某论坛上对于桌面效果的一场口水战。那时Vista发布不是很久,而相比XP,Vista的桌面特效在当时确实让很多人印象深刻(实话说,我第一次体验Vista旗舰版,感觉是“惊艳”)。在很多人热捧Vista的效果的同时,当然也有很多人表示不屑,并提出“Vista的效果都是抄袭”这样的言论来。对于是不是抄袭我无法评论,但是我感谢这些人,因为正是你们的质疑,引发我去认识和了解Linux。循着这次论战的评论,我被带到了优酷的一段视频,里面演示了Ubuntu上使用Compiz+Cairo-Dock的各种炫酷特效,引用当下流行的一句话,“我和小伙伴都惊呆了”。作为一个厌倦了Windows,而又买不起Mac的穷学生,不花钱就能装B,心动不如马上行动:装Ubuntu!   刚开始的时候,由于没有在硬盘上为Linux划分出空间,而且不敢冒冒然动系统,所以先在虚拟机上按照Ubuntu。那时很多人用Vmware,几乎就没听说过VirtualBox,所以我自然而然地使用了Vmware Workstation。对于一个中国学生而言,买正版无疑是遥不可及的,于是果断破解。Ubuntu 7.04在虚拟机上的安装还是相对顺利的,装完后出现了几个鼠标、焦点一类的问题,也纷纷解决了。熟悉了一两周后,一种遗憾的感觉不断加强:即便我装了虚拟机的增强功能,但仍然无法使用图形加速,无法体验到传说中的特效!要知道我电脑可是P4的CPU+256M的N卡显存的呢(在当时学生电脑中,这个配置已经很牛X了),完全跑得起这些特效的!   经过了不长不短的挣扎后,我决定重新规划磁盘分区,为Linux腾出空间。刚开始装了好多遍,一直是安装能成功,但是安装完成后无法引导。由于是第一次在硬盘上安装Linux,所以以为是我装得不对,于是安装-》无法启动-》切回Windows上查找资料,这么来回折腾了好多遍,后来终于功夫不负有心人,在修改了BIOS中的硬盘模式后,总算能进入Ubuntu了。   接下装显卡驱动、安装配置各种应用,折腾了好久,总算把特效给玩起来了,心里那个乐啊!总的来说,对于当时我这种初级用户而言,Ubuntu 7.04还是不太友好的,硬盘安装出了问题,却很难找到合适的指引(我用google的能力非常强);使用过程中,应用经常出现灰屏假死现象,甚至GUI死掉(不是说Linux不会死机的吗?!–是的,Linux作为内核,是很少死机的,但是运行在Linux内核之上的应用则没有保证了。。。),等等。   过了不久,Ubuntu 7.10就发布了,于是我果断把系统更新到了7.10上。相比7.04,我觉得7.10确实在稳定性上有不小的提高,因此给我留下了“新的版本比老版本更好”的烙印,此后很长一段时间里,我都很期待新版本的发布。   一路从7.04,一直换到10.04,期间换了现在用的笔记本、毕业、工作。我一直觉得,10.04就是一个很稳定的系统了,该有的功能都有了,该有的稳定性也有了。到了10.10的时候,我就没有太大的兴奋感了。但源于一种升级的惯性,我还是把系统更新到了Ubuntu 10.10,期间还安装体验了Gnome Shell,后来发现不好用,就用回原来的了。   也许是Ubuntu的开发者意识到了用户的这种感受,也许是蓄谋已久,2011年春,Ubuntu 11.04发布了。搭载了Unity的Ubuntu,对Canonical而言也许是意义深远(为今后在上网本、手机等领域能使用统一的开发工具做铺垫),但对老用户而言却除了失望还是失望,于是一时间骂声四起。由于Unity的不成熟和不稳定,更重要的,是我之前所习惯的许多配置,几乎所有的特效,在Unity上都无法使用了,所以我对Unity一直是敬而远之的。   Ubuntu 11.04应该是我用Linux以来使用时间最短的一个版本了,几乎是装了没两天就重装回10.10了。从此之后,一个新版本对我来说,没有期待,只是体验一下的好奇心,以及新系统带来更多、更新软件支持(比如到2012年的时候,尽管10.04是LTS,但是像163这样的仓库已经很少支持了;有些底层软件,如libc,是只有在版本更新后才会更新的)带给我的诱惑和无奈。   由于Unity的不被接受,在此期间,在Ubuntu基础上做改良,并默认使用Gnome Shell作为桌面管理器的Mint大行其道,一跃成为了Linux桌面领域最受欢迎的发行版本。   而我在这期间一直很挣扎,尝试了各种桌面和发行版。RedHat不适合作为开发系统;CentOS、Fedora、openSuse和Gentoo用不习惯(我想,主要还是习惯了Debian的包管理机制);Mint无非就是Ubuntu默认改成Gnome Shell,而Gnome Shell不成熟,不稳定,而且有很多我原来的习惯需要去配置;Unity不习惯;KDE很多功能和效果是符合我原来习惯的,但是不稳定(KDE3太丑,KDE4的UI感觉是综合了Mac和Vista,但确实有很大改善,只是一直不是太稳定,容易崩溃甚至死机)。。。   一直到Ubuntu 12.04,我终于等到了稳定版本的Kubuntu。说来真是讽刺,在Canonical支持的这么多年里,Kubuntu一直就做不稳定,各种崩溃让我多次安装它,又几乎不用它;后来Canonical不支持它了,有了新东家的Kubuntu马上就稳定多了(至少在我机器上)。经历了这么多的试用、郁闷后,我已经不再纠结能不能用Cairo-Dock了,剩下比较在乎的,是窗口间切换的一些功能(如Alt+Tab,以及类似与Mac的Dash Board功能等),窗口放大、缩小,以及其他各种功能的快捷键,这些在Kubuntu上都有,而且基本符合我原来的使用习惯。   让我最终决定用Kubuntu的,当然还少不了KDE下面很多好用的应用:   对于一个Linux使用者而已,终端是必不可少的,用过Gnome默认的terminal,用过terminator,也用过konsole,觉得都差不多,但我现在首选konsole,原因只有一个:konsole有在终端持续输出的情况下,拖动并停止在之前的输出的功能。   厌倦了按照adobe reader后,还需要装中文补丁包后才能阅读中文pdf文件吗?用okular吧,简单易用,又满足阅读pdf文档的大部分需求。   怎样在GUI文件浏览器上方便地打开终端并让终端自动定位到当前所在的目录?用Dolphin(KDE默认带的文件浏览器)吧。在任意目录上,按F4就能打开终端并定位到GUI上当期所在的目录中。   想在PC上伪装成IOS设备来访问网页?用arora吧。不要说firefox上也有类似的插件,我试过了,firefox上的那个不一定灵。   想听音乐?用amarok吧,本身功能就不错,还能支持很多种不同的插件。   需要用到刻录功能?使用k3b吧。   文本编辑?有kate和kwrite(我坦白,我基本只用vim^_^)。   想编辑二进制文件?用okteta吧。   想找一个不错的远程桌面(rdp、vnc)工具?有krdc。   最后,再总结一下吧:   Ubuntu本身就是希望改变普通用户对Linux系统敬而远之的看法,因此对于初级用户相对比较友好,门槛较低   作为Debian的一个变种,Ubuntu在包管理上十分方便易用,并且国内、国外有很多好用的软件仓库   Ubuntu作为一个Linux发行版,其自由定制的本质依然保留,因而留给进阶用户不亚于其他发行版的自定制能力   有像google这样的大公司的支持(google公司内使用的就是一个自己定制的Ubuntu系统;google旗下的Android、Chrome、ChromeOS最初的开发环境都要求是Ubuntu,后来才扩展到支持其他发行版的)   Canonical资助下的LaunchPad拥有丰富的、更新的软件资源,使得使用一些新的、实验性的软件非常方便   我个人觉得KDE下有很多日常经常会用到的软件很不错,因此选择Kubuntu   我个人觉得KDE4开始的UI风格更贴近Mac,蓝色调也是我更喜欢的 […]