K.I.S.S. – 简单哲学 Linux, Freedom, Arch, Python, Gtk+, C … Keep It Simple, Stupid!

31三/090

大致理清了 Linux 应用、驱动、设备的关系

今天嵌入式实验课,研究了一下老师写的 TC 驱动程序(就是利用定时计数器让 LED 狂闪),加上以前看的一点入门的设备驱动知识,大致理清了 Linux 应用、驱动、设备三者的关系,不知道想得对不对。
首先,有 Udev 的话,插入设备时系统会自动在 /dev 目录下生成设备文件,我们的板子上好像没有 Udev,所以自己 mknod,也好指定主设备号。
然后,写驱动,用 register_chrdev 函数注册一个设备驱动,传入的三个参数分别为 主设备号、设备名、文件操作。文件操作是一个之前定义的 file_operations 结构体,用来保存各种设备操作的函数的指针,其中重要的一个设备操作是 ioctl,其中传入的操作类型 cmd 是个 int 类型的参数,也就是说,对于设备的操作类型可以有 2 的 32 次方种……
最后,应用程序首先打开 /dev 目录下的设备文件,然后用 ioctl 函数调用驱动中的文件操作,传入的三个参数分别为:设备文件的文件标识符,操作类型,传入的参数。
这样,应用程序就可以通过操作设备文件来操作设备了!
呵呵,不知道理解得对不对,有什么谬误欢迎指点。

30三/090

打开 Linux 魔法按键(SysRq)的方法

前提当然是内核编译时已经启用 CONFIG_MAGIC_=y 啦,然后编辑 /etc/sysctl.conf,把其中的

kernel.sysrq = 0

改成

kernel.sysrq = 1

即可。
当 X 锁定时,使用 alt-SysRq-r (SysRq 就是 PrintScreen 键)回复键盘的控制权,alt-SysRq-k Kill 掉虚拟终端上的所有程序。
如果整个机器都死了,那么先按 alt-SysRq-s 把数据同步到硬盘(Sync),alt-SysRq-u 卸载所有磁盘(Unmount),alt-SysRq-b 重启(Boot)。

30三/090

nautilus-open-terminal 将迎来 0.10 版

常用 的人不可能不知道 -open-terminal,这个允许你在右键菜单中打开终端的插件极大地提高了人们的工作效率,免除了 cd 命令的低效。
日前, 推出了 2.26 版本,虽然这个版本有很多有趣的改进,然而新版的 nautilus 却与目前的 nautilus-open-terminal 0.9 版并不兼容(svn 版已经解决了此问题),nautilus-open-terminal 的开发者已经决定要趁此释出 0.10 版的 nautilus-open-terminal。

新版 nautilus-open-terminal 的改进主要有以下几个方面:

相对于 0.9 版增加的功能:
“在本地终端中打开”
“在远程终端中打开”

相对于 0.9 版更改的功能:
“打开终端”
“在终端中打开”

*修改快捷键为 "e"(因为和新标签冲突)
*使 "in" 变为小写(译注:Open in Terminal 中的 "in" )

via:gnome-i18n

29三/090

AUR 中的 Catalyst 变成无主状态了!

自从 Arch 决定将 Catalyst 移出官方源,已经一周过去了,期间 AUR 中惊现了 Catalyst 9.4,让我们这些 A 卡用户看到了一线曙光。
然而,今天去逛逛 ,想看看 对 2.6.29 内核支持有何进展的时候,突然发现,这个包被维护者抛弃了……

Comment by: draje on 2009 03 29 [04:52:36]
Due to a lack of need for anything the open source drivers do not have, I have decided to orphan the catalyst packages.

就是说,维护者认为用户对 Catalyst 提供的开源驱动没有的特性期待度不高,所以决定不再维护了……
这真是一个噩耗……对于 A 卡用户来说,尤其是稍新的一点显卡,开源驱动实在是不敢恭维……Catalyst 虽然有很多地方不尽如人意,但是性能上还是比开源驱动强太多了……
如果以后 用户都用不上 Catalyst 的新版,那可怎么办啊……唉,受苦的总是用户……

29三/092

Gnome 2.26 的几个改进

2.26 已经发布快 10 天了,加入 的 testing 源也有好几天了,可是除了 linuxtoy 发布的一篇文章,一直没有其他详细的介绍。
本着小白鼠的精神,Iven,恩,也就是本人,用破网通,呃,联通 2M “宽”带,下载了一个小时,终于把所有更新安装上了,给大家挖掘一下 2.26 版本有哪些变化。

gnome_2_26.png

重启电脑,还是熟悉的桌面,果然 Gnome 2.26 作为一个过渡版本,并没有什么大的变化。
一、咦,我的 AWN 怎么不见了?(程序不兼容)
程序启动不起来,首先想到的当然是去终端里运行一下:

libgnome-desktop-2.so.7: 无法打开共享对象文件: 没有那个文件或目录

很显然,Gnome 的共享库名字又改了,好在 AWN 的 bzr 版已经修复了此问题,更新一下就好了。(建立符号链接的方式应该也能解决)
二、双击音量控制插件,怎么静音了?(音量控制插件变化)
现在双击面板上的小喇叭,小喇叭上就会打上个红叉,表示静音。
那么单击呢?弹出了一个窗口:

sound_applet.png

可以看到,音量调节滑动条从原来的竖条变成了横条,这样拖动起来更加舒服,算是一个使用舒适度的小调整吧。另外在上面加入了“静音”选框和“音量控制”按钮,虽然占用了一些地方,不过可以让那些不习惯右键菜单的用户不至于找不到选项的位置。经过测试,此滑动条仍然没有自动隐藏的功能。
那么,音量控制变成什么样子了呢?

sound_control.png

我们看到,这里多了一个声音主题的设置,除了默认主题还有四个主题,分别是 Bark(犬吠)、Drip(水滴)、Glass(玻璃)、Sonar(声纳),点击条目的时候会有预览的声音。
如果记得不错,声音主题原来是在“音频”设置里的,那么现在音频设置变成什么样子了呢?
不见了……不知道是不是我安装的包有问题还是 Gnome 已经不需要这个软件,在首选项中我并没有发现“音频”这个设置。同时,由于没有安装 PulseAudio,我也不知道它的声音控制变成什么样子了……
三、添加到面板……(Applet 更新)

gnome_panel.png

可能是安装了 Empathy 的原因(虽然还是 2.24 版),面板上可以添加左边的两个控件,一个叫做“状态”,一个叫做“话筒”,不知道是不是 2.26 新加的,“话筒”的用途似乎是可以和联系人说话,如果是的话,那么恐怕有这两个小控件就不用打开 Empathy 聊天了。
接下来的三个控件,可以看到,外观十分和谐,大概 Gnome 的开发人员也早看那些外观各走各样的控件深恶痛疾了吧……
最后一个小鱼控件,不知道是否美化过,打开它的“关于”对话框,可以看到这么一段有趣的话:

Wanda 其实什么用处都没有。它只会占硬盘空间、编译时间,运行时还得占去您宝贵的面板和内存空间。如果发现任何人在使用这个小程序,他可能应该马上送去检查一下精神状况喔。

好吧,深夜对着一条小鱼发呆的我,大概应该检查一下精神状况了……
四、这个好像 NetworkManager?(网络代理的改变)

gnome_proxy.png

看到上面丑丑的下拉菜单了么?是不是有点眼熟?确实,这就是和 NetworkManager 一样的位置保存功能。
想像一下,公司里要连一个代理才能上网,家里却要连另外一个代理,或者说 A 网站要用这个代理快,B 网站却是那个快,这个时候有这个功能是不是很方便?
五、轻松自定义快捷键(键盘快捷键的改进)

gnome_shortcut.png

只能使用系统提供的快捷键,缚手缚脚?Compiz 提供的 12 条命令还不够你用?那么试试自定义快捷键吧,只需要输入名称和指令,设定快捷键即可,看我所有事情一键搞定!

Gnome 2.26 虽然只是一个过渡版本,但是细节上的改变还是不少的,文中只是列出我发现的一些,更多的还隐藏在开发者修改的千万条代码之中。
总体来说,Gnome 桌面环境正不断为桌面用户、个人用户提供更好的易用性,在 Linux 的普及中,Gnome 淡定而又明确的步伐功不可没。
让我们感谢开发者们为此所做的努力,同时共同期待 Gnome 3 的到来!

标签: 2 评论
29三/090

推荐 TLDP 的两个镜像

所赐,现在才发现 TLDP 这个网站,真是惭愧,不知道这个是什么的 TX 赶快去 Google 一下吧!
因为要看 (《Advanced Bash-Scripting Guide》高级Bash脚本编程指南)这本圣经,才去找找,结果就发现该网站 已经被 Wall 了……
我就不明白了,这么 HX 的一个文档网站,怎么就得罪了 Wall,会被 HX 呢?
好吧,这个问题不是我们老百姓需要关心的,我们来找一下解决办法吧……

这里推荐两个镜像,一个是国外印地安纳大学的,一个是国内开源动力的,地址:

http://linux.indiana.edu/LDP/guides.htmlhttp://os-drive.com/LDP/guides.html

其实镜像有很多,但是很多都不是最新的,我推荐这两个,至少在 3 月 24 日更新过,因为上面 ABS 的最后更新时间是 3 月 24 日,与 tor 得到的结果相符。
有了这两个镜像,就可以不用 tor 查看最新版本的图书啦~

28三/090

Arch Linux – 自定义 CFlags 榨干计算机的油水

提到榨干计算机的油水,人们想到的往往是
会这样想,一个重要的原因就是,Gentoo 完全由源码编译,在编译的过程中,可以自定义每个包的 CFlags。我们知道,很多 CFlags 可以对本机的 CPU 进行专门的优化,去除程序的一些调试信息等等,使程序在速度、体积等方面大幅度的提升(相对于没有优化来说,事实上,大多数发行版已经设定了 CFlags ,达到一定程度的性能提升),还可以设置 MAKEFLAGS 。

那么,我们的 Linux 是否也可以像 Gentoo 一样自定义 CFlags 呢?当然可以。
呃,方法当然不是 export ……

用你喜欢的编辑器打开 /etc/makepkg.conf,其他不懂的不要改,看这一段:

#-- Exclusive: will only run on -march=x86-64 # -march (or -mcpu) builds exclusively for an architecture# -mtune optimizes for an architecture, but builds for whole processor familyCFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"#-- Make Flags: change this for DistCC/SMP systemsMAKEFLAGS="-j3"

这是我修改过的,其中 MAKEFLAGS 原来是被注释掉的,你可以根据自己的需要修改。
当然,这些 FLAGS 只对 中需要编译的软件包或者用 makepkg 编译的软件包(其实是一个意思)才有用,如果想要全部使用这些 FLAGS 编译,你可以使用 哦,要知道源里的软件包也都是 makepkg 起来的,呵呵,编译狂人动起来吧~

26三/094

Virtualbox 2.14 OpenGL 性能不赖~

我玩的游戏不多,所以对于 依赖也不是太大,但是有几个游戏只能在 下运行,使得我不得不在硬盘上保存一个 分区,专门用来偶尔玩游戏……
这其中最喜欢的就是侍魂。
按说作为一个街机游戏,当然在 Linux 下也可以用 xmame 模拟的(虽然模拟器 CPU 占用超大……),但是 xmame 不具备网战功能,只能跟机器打,不能不说是个遗憾……
时下最流行的网站平台是 ArcLive ,不过当然只有 Windows 版,为了一个游戏每次重启系统,实在是够麻烦的……
最近增加了对 Windows Guest 系统 的支持,那么基于 的 ArcLive 能否在 下运行呢?答案是肯定的。
现在看来,在我的电脑上,运行 ArcLive 只是稍有些卡,造成的延时跟网络本身的延时差不多,所以现在的情况是“有点卡但不是太卡”,用来娱乐一下已经足够了。
上图~

ArcLive.png

PS:这两天没写博客,都是去玩游戏了,玩物尚志啊~玩物尚志~
再PS:在别人的虚拟机上试了一下,卡得要命,可能只是个别现象。

23三/093

昨天给大家讲了讲 Gtk+

呵呵,听众都是些大一大二的,我本来也是个菜鸟,不过为了社区的发展,咳咳,当然还有 Linux 的发展,我也就硬着头皮上了……
呵呵,也就是讲些基础的知识,gcc、make、helloworld什么的,不过看下面,基本已经晕了……而且不知为何,所有人齐齐往后面坐……哭,本来就没几个人的说……
连讲了一个半小时,本来就咽炎,出来的时候嗓子疼死了……
简报放在 Google Docs 上面了。

标签: , , , 3 评论
22三/092

我的特效终于回来了!

自从升级为 1.6 之后,我的 就与我告别了……打开电脑就花屏,只好换成开源驱动 ati,算起来也有好几周了……
无奈 ati 和 radeon 都不支持 HD 3600 的特效,于是只能用 metacity 的 compositing manager 凑合……真是惨痛的经历啊……
不过现在一切都好了,我“抱着试试看的心理”,从 里安装了 Catalyst 9.4,注销,花屏……再注销,重启了……
本来以为不行了……结果一重启,成功了!果然显卡驱动还是要重启生效的啊……

screenshot_001.png

要是你和我有一样的困扰,又等不及月底就要发布的 9.3 版的话,可以试试 9.4 Beta 版,或许有意想不到的收获哦~

   下一页