序言
如今的OS世界繁花似锦,像颗颗树木般比肩成长,有的长成了大树,有的生长环境变差而淡出甚至枯黄消亡。
Unix像是一颗荒漠中的古老大树,在遥远而藐无生机的泛滥平原上帅先活了下来,并步入以AIX,HP,Solaris为代表的成长期。大树旁是单片机开始纵生的灌木和杂草,有如风吹草低现牛羊般场景,DEC在这片土地上曾经非常旺盛,终因不适应环境而像秦帝国一样土崩,也就是在那个时期,IBM在大树边孕育出了健壮的小树 - Personal Computer个人电脑。IBM这个计算机界的老牌帝国,格局还是不同一般,对这个领域的发展做出了卓越贡献。IBM PC如日中天的日子,IBM开放了技术架构,催生了众多IBM兼容机的出生,当年的HP、COMPAQ等都是如此; 同时,也催生了MS-DOS的暴发和MS的疯狂成长。当Laptop步步紧逼Desktop的关键时刻,IBM把笔记本业务剥离出售,又演绎出Pad成长的蔓生成长。Unix世界有了x-WIndow,MS世界有了Windows,Linux世界则有了CDE/JDE/KDE/GNOME(因为unix是核外挂模式,所以也支持x-windows package)。曾经很有幸在那个时期接触了基于Spark的Solaris,学配置练shell和Perl,学挂接个20MB的SCSI硬盘还挺费经,但最后还是被PC的洪流冲涮的不见无影无踪。现在看到了Linux世界如此锦秀,而且免费*使用,真怀疑哪天会主导潮流成为标准桌面系统,所以啊,还是先是走近一些看看Linux的花花世界。
Linux是基于内核而开发的,内核只负责CPU和任务的调度,其它都是外挂。Solaris内核Open后出现了以OpenSolaris为首的至少四个OS,而Linux内核更是出现了一堆的OS - Redhead linux/ OpenSUSE/ Oracle linux/ Centos/ Debian/ UKylin ubuntu/ Archlinux等等,不同OS都有功能相似但表达方式却不同的外挂,IPS包管理模式类同但却又许多差异,有些命令是用脚本做的尤其是安装程序,甚至是用Perl,sh等写的(Windows现在也有PowerShell,一般做维护使用,平时GUI上就操作了),繁华多态也带来了许多麻烦。uname是个常用的指令,几款linux都有这个命令,但uname执行的结果表达方式还是有差异的,Solaris 11又冒出了个ipadm指令,安vmware共享文件夹要运行它的pl脚 本,于是就很可能出现错误。vmware对影响大的linux有updater运行后修改pl安装脚本,但影响力小的linux太多了就管不了啦(借着linux内核谁都可以外挂其它GNU的东西,最终可以挂出各种变体的OS,CSDN上高人多也同样可以挂出个CSDNlinux)。基于如此情况,还是找一款稳定方便有名气的linux,OpenSolaris虽爱但修为还不够爱发大小姐脾气就暂时放在一边晾着它。
选秀
对几款linux试手后,感觉openSUSE还是比较好的一款。在vmware上安装也比较容易,先是挂载iso映像,配置内存和CPU核数量,盘空间,然后启动并配置共享文件夹,linux安装时设置中文时区等比较容易,虚拟机上的OS出来后生成共享主机文件夹也方便,就不多讲了。以后有时间了,对这块内容再补充。
开发环境
在openSUSE上可以直接运行Eclipse的installer,通过installer自动下载安装Eclipse,OS的JAVA编译库是OPENJDK的,版本都比较新(但试用后感觉和Oracle的还是有差异感)。
在openSUSE上直接安装gambas很容易,gambas相当于MS windows上的Visual Basic,但它与linux平台上的其它外挂有接口,因此,它的功能还是很强大的。创建新工程有模板可选,IDE是可视化的,和操作VB6没什么区别。
设计时可以带翻译的,这样每个控件和菜单项均可以在设计时把另一种语种写到配置,比如MyButton、中文写成我的按钮。
语句的写法和VB一样的,运行结果也差不多。这是自带翻译中英文的,还有个LCDlabel控件,左侧是语句写法。
对NET的支持
openSUSE上有全套的Mono库,我在Ukylin上安装过,直接运行C#程序,但VBNET程序入口要稍加改动,ASP.NET的东西也可以支持库,还有支持.NET的Wine - 一个动态翻译windows程序给linux的程序。
在UKylin上安装运行mono的感受不好,没怎么折腾Ukylin就崩溃了,现在也不清楚是mono的事还是Ukylin的事。做好准备,在openSUSE上再折腾一下monno,希望能成功。
计算机技术更新快那就换机器,但知识的获取和积累很不容易,因此,linux和ms要互通互用,不能非彼即此,这才是对编程开发群体负责任的做法。C/C++做到了,JAVA做到了,希望ms也做得到,开源是社会责任、是格局。
虚机与Wine
如果有需要,Linux上可以安装Oracle的virtual box,在virtual box上安装ms windows,然后可在ms windows上运行windows 程序,但是这种方法效率太低,就是感觉启动啰嗦、太慢了。Wine是linux上的壳程序,配置它windows程序要用的库,它生成配置文件,然后通过它运行windows程序,比如notepad.exe, 用wine notepad.exe让它在wine下运行,wine就会在运行时解释给linux,相比虚拟机轻爽多了。据说通过 wine 可轻松跑 protel99se ,我没试,但这个东西是我玩PCB设计用得最多的了,或许keil C也应该可以挂上,是我开发单片机用的最多的,如果能挂上DSP、FPGA、编程器等程序那就太牛了,那就成了前端设计专版了。这些东西有时间要去做的,暂时放放。