Browsed by
Tag: linux

Linux Deepin,国人最喜爱的linux?

Linux Deepin,国人最喜爱的linux?

看到一篇新闻,大意是推荐一个国人制作的linux发行版本,号称是国人最喜爱的版本。

看完该新闻后,有些疑问:

(1)号称是基于Ubuntu11.04,可是从该版本的整体界面风格看,更像是在linux mint的基础上进行了部分修改。从整体协调性看,不如Mint,与Mac更是相去甚远。

(2)在部分截图中出现原始的GTK界面,这点让人觉得很奇怪。要么是界面没有美化好,要么是某些模块崩溃了导致退回到了GTK界面。

(3)集成了永中Office。这个选择也让人费解,而且居然还作为一个主要卖点宣传。难道作者不知道永中的糗事么?既然集成了WINE,要不干脆集成WPS,或者像其他发行版本一样集成LibreOffice,怎么也比选择永中要好些吧?

作为一款国人制作的发行版本,我们还是应当鼓励。但是我个人觉得它的宣传新闻稿没有把自己的特点凸显出来,一个windows XP风格的软件中心花哨是花哨了,可是和整体风格格格不入,有点不伦不类。这点就不如ylmf,它干脆就整体向XP模仿,至少风格是统一的。

如果向初学者推荐,我仍然会推荐Linux Mint。国人制作的版本已经有很大的进步,不过还任重道远。

中国科技大学开源镜像

中国科技大学开源镜像

站点地址: mirrors.ustc.edu.cn,支持HTTP和FTP访问。

这个站点速度比较快,也比较稳定。基本上我们都在它这下载各个Linux发布版本,如Ubuntu, CentOS等。国内各大学应该向中科大学习。

昨天中科大站点终于出现了传说中的CentOS6,今天下载下来试试。就个人想法而言,我觉得中科大也应该提供Scientific Linux的镜像,毕竟两个版本都是同源,而后者显然更有科研味道。

QT与KDE的版本对应关系

QT与KDE的版本对应关系

两者貌似基本是对应的。例如QT3.x出来后,KDE也升级为3.x;QT4.x出来后,KDE紧随其后也升级为4.x。

照这个比对,QT下个版本应该是QT5.x,然后KDE也升级为KDE5.x。。。

然而,现在Nokia将QT魔幻般地变回QT SDK 1.0!

KDE是不是该抓狂了?:-)

Ubuntu系统下配置Samba

Ubuntu系统下配置Samba

缺省情况下,Ubuntu没有安装Samba(我指的是Ubuntu的桌面版,不清楚服务器版是否缺省安装了Samba),因此首先就是要安装Samba。 然后,配置samba进行linux与windows的互相共享操作。

1、安装Samba

有两种方式:

(1)从Samba的软件中心搜索Samba,然后安装Smbfs以及Samba两个软件包。

(2)从命令行安装。键入以下命令即可:

sudo apt-get install samba
sudo apt-get install smbfs

2、配置Samba,使Windows能访问Linux

首先添加一个samba用户,例如:smbpasswd -a yxh

修改/etc/samba/smb.conf文件,基本上修改量不大。

[homes]  <–去掉原有的注释即可。
comment = Home Directories
browseable = yes
create mask = 0777
directory mask = 0777  <– 没有这两项,就无法进行写入和删除操作。
valid users = %S
write list  = %S

3、访问Windows文件

这个就比较简单了,直接用mount命令就可以了:

sudo mount //192.168.1.103/win_files /home/yxh/win_files/ -o username=yxh

其中,’yxh’是windows环境的用户名,”//192.168.1.103/win_files”是windows环境的共享目录。”/home/yxh/win_files/”是linux环境的目录,用于映射上述windows共享目录。

命令成功后,直接访问/home/yxh/win_files即可。

4、疑问

在Fedora系统中修改了smb.conf后,需要使用命令“service smbd restart”才能使配置起作用。而Ubuntu环境中,似乎修改后就自动应用了。难道Ubuntu是每次访问操作时,都会去读smb.conf?还是监视了smb.conf文件,发现一旦更改就自动重启samba?

Android开发指导随译(2) — 应用程序基本原理(4)

Android开发指导随译(2) — 应用程序基本原理(4)

激活组件: Intents(意图)

CP收到CR的请求时就可以激活. 其他三个组件: 行为, 服务以及BR都是通过异步消息激活, 这种消息就是”intent(意图)”.

关闭组件

CP只在相应CR请求时存活, BR只在响应广播消息时存活, 因此对它们而言没有必要显式地关闭这些组件.

另一方面, Activities提供了用户界面. 它们与用户可能会有一个长期的会话过程, 会话期间即使是空闲也仍然保持激活. 类似的, 服务也可能保持运行很长一段时间. 因此Android提供方法有持续地关闭Activity和服务.

1. 可以调用Activity的finish()方法关闭Activity. 一个activity可以关闭另外一个activity.
2. 服务可以通过调用stopSelf()的方式来关闭自己, 或者调用Context.stopService()来关闭.

如果不再使用组件了, 系统也可以关闭它们, 或者当Android必须回收内存时也会关闭这些组件.

manifest文件 (?运货单文件)
Android启动一个程序组件之前, 需要知道这个组件的存在. 因此应用程序需要在一个manifest文件中声明它们的组件. manifest文件打包在.apk文件中, 该文件(.apk)还包含程序代码, 文件以及资源等.

manifest文件是一个结构化的xml文件, 并且总是命名为”AndroidManifest.xml”. 它最主要的任务就是将当前应用程序的组件情况告诉Android系统.

Intent过滤
Intent对象可以显式地命名为一个目标组件(Target Component), 此时Android可以通过manifest文件对它进行操作. 但是如果目标没有显式命名, Android就必须要查找最合适的组件来响应Intent, 方法就是将Intent对象与潜在目标的Intent filters(Intnet过滤)进行比较.

Android开发指导随译(1)

Android开发指导随译(1)

基于http://androidappdocs.appspot.com/guide/basics/what-is-android.html的翻译稿.

随译的意思是指: 随手进行的翻译. 因此语法未必严格, 内容不仅不和原稿严格匹配, 而且会有删减(只保留我感兴趣的东西).

什么是Android?
Android是一套为移动设备定制的软件套件. 它包括:一个操作系统, 中间件以及关键应用程序.
Android SDK提供了为Android平台开发应用所必须的工具和API集.
Android SDK采用Java编程语言.

Android包括以下关键特性:
1. 程序框架
2. Dalvik虚拟机(针对移动设备进行了优化)
3. 集成的浏览器(基于WebKit)
4. 优化后的图形库(2D, 3D)
5. SQLite (数据存储)
6. 多媒体支持(语音, 视频, 以及多种图像格式等,MPEG4,H264等)
7. GSM 电话技术(依赖硬件支持)
8. 蓝牙, EDGE, 3G以及WiFi(依赖硬件支持)
9. 摄像头, GPS, 指南针, 加速器(?是指重力感应吗)
10. 丰富的开发环境, 包括模拟器, 调试工具,性能优化以及基于Eclipse IDE的PlugIn.

Android架构
Android分成四层:
1. 应用程序层. 所有的应用程序都用Java语言进行编写.
2. 程序框架层.
3. 库以及Runtime;
4. Linux核心.

笔注: 应用层用Java编写, 库以及runtime是采用C/C++编写, 是谁来完成Java对C/C++的封装,供上层应用调用? JNI?

程序框架
程序框架包含一系列的功能(管理)集, 例如Windows的管理, View管理, 位置管理等, 有两个Manager需要注意:
1. Content Providers(内容提供)
它使应用程序能访问其他程序的数据, 或者共享它们自己的数据(给其他程序)

2. Activity Manager(生命周期管理)
管理程序的生命周期, 同时也提供一个通用的”navigation backstack”(这是什么? 历史堆栈的回顾?)


媒体库基于PacketVideo的OpenCORE库;
SQLite提供关系数据的存储;

Android runtime
每一个Android应用程序都有自己独立的进程, 并且有一个独立的Dalvik虚拟机实例.
Dalvik允许设备中run多个VM实例. Dalvik VM采用Dlavik Executable(.dex)格式运行执行文件.

MySQL一二三

MySQL一二三

开始使用MySQL

以下操作基于Fedora系统:

检查系统中是否已经安装了mysql相关的包:
rpm -qa |grep mysql -i

初始化数据库
/usr/bin/mysql_install_db

启动数据库
service mysqld restart

修改用户密码(需要先启动数据库):
mysqladmin -u root password ‘12344321’

登陆数据库
mysql -u root -p
系统提示会提示输入密码。

数据库目录:/var/lib/mysql
配置文件: /usr/share/mysql

在Ubuntu系统中,安装和使用MySQL也非常简单:

(1)安装MySQL

sudo apt-get install mysql-server

安装完成后,Ubuntu会弹出简单的对话框配置root的口令。

(2)启动(重启动)MySQL

sudo service mysql restart