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

16七/109

Arch 中抢先体验 Compiz++

LDCN 曾经介绍过 Compiz 将用 C++ 重写,不过之后 GNOME-Shell 的大热几乎让我们忘记了 Compiz++ 这么回事,再加上 Compiz 开发者匮乏,开发进度缓慢的一贯印象,除了少数如我一般的 Compiz 死忠,似乎很少有人关心 Compiz 怎么样了。
无论如何,Compiz 的开发者们还是在默默地为了理想中的窗口管理器努力着,如今 Compiz++ 已经接近可用状态, 论坛上也有人放出了 Compiz++ 系列的 PKGBUILD,如果你也是 Compiz 的粉丝之一的话,不妨抢先体验一下吧。
这几个包的名称和地址是:
compiz-core++
compiz-plugins-main++
compiz-plugins-extra++
compiz-plugins-unsupported++
libcompizconfig++
compizconfig-python++
ccsm++
emerald++ (可选)
emerald-themes++ (可选)

安装 Compiz++ 完全不会影响现有的 Compiz,因为它是安装在 /opt 下面的,配置文件的名字也会不同。安装完成上面的包,可以运行如下命令来配置 Compiz++:

/opt/compiz++/bin/ccsm++

开启 Compiz++(建议预先开启 fusion-icon,这样遇到什么问题,可以方便切换为原来的 metacity 或者 compiz):

/opt/compiz++/bin/compiz --replace ccp

如果遇到问题,试试:

/opt/compiz++/bin/compiz --replace move decor composite resize place opengl

还不行的话,把 opengl 去掉试试。
当然这只是一次 C++ 语言的重写,不要期望有大的功能上或者性能上的变化,也不要指望开发版的稳定性有多么好就是了。不过相信通过 C++ 的重写和重新架构,以后的 Compiz 开发会更加容易、更加顺畅,给我们带来更好的体验。

论坛上的讨论帖:http://bbs.archlinux.org/viewtopic.php?id=93786

标签: , , 9 评论
8五/101

两个新的 pacman 外壳:clyde 和 packer

Linux 独特的 包管理器是其备受亲睐的原因之一,作为一款命令行包管理器,它深谙 K.I.S.S. 原则,在使用上甚至比很多图形界面的包管理器还要强大,还要方便、直观。

然而, 的用户总是挑剔的,总是希望日常使用的包管理器更加的 Simple and Stupid,于是有了 -color、yaourt 等等,种种扩展、外壳更是把 武装成了神兵利器,再加上如我一般的用户更是用 alias 将各种命令简化,简简单单的 ysyu 命令就更新了整个系统,实在是把 Linux 下的包管理简化到了一个极点。

不过,总是有更加挑剔的用户,Linux 世界才有这么多的优秀软件,据我所知,今年又有两个 用户不满 yaourt 的缓慢、低效、丑陋(虽然我没感觉),开发出了两个新的 的外壳(wrapper):clydepacker

由 DigitalKiwi 和 Ghost1227 开发,主要是不满基于 Bash 的 yaourt 太过缓慢,和对 AUR 支持的低能。他们希望使用小巧快速的 Lua 语言重写一个 wrapper(底层用 C 编写),能够提供多线程下载的支持,并且容易在此基础上构建图形界面包管理器。

Clyde.png

保留了 和 yaourt 的选项用法,界面也很类似,使后两者的用户更加容易迁移,开发者表示, 已经足够稳定来应付日常使用,“不过如果它破坏了你的系统,烧坏你的主板,吃了你的孩子,可不要找开发者算帐,警告过你了哦!”

可以通过 AUR 安装,软件包名 -git。

packer

packer 的开发者是 bruenig,他开发 packer 的主要目的是整合 和 AUR,看来也是对 yaourt 对两者分别处理,还在不必要的时候对 来回调用、拖慢速度十分不满。

作者认为 packer 主要实现四个 和 AUR 的整合功能就可以了:搜索(-Ss)、查看信息(-Si)、安装(-S)、升级(-Su),在这四个功能上做到 和 AUR 一视同仁。

packer.png

如果你对 packer 感兴趣,可以从 AUR 里面安装 packer,或者 nightly 源里面也可以。

29六/099

新一代的快速启动脚本——quick-init

好吧,这又是一篇 Linux 专用的文章,使用其他发行版的 TX 们请瞪眼看着吧……

还记得上次说的 么? 系列脚本就是 的延续,其实这不是什么新的东西,自从我发了那两篇文章, 就停止了,据说是出于安全性考虑,不再开发使用 C 语言的 ,而是使用像 Linux 原生的 init-scripts 一样的 Shell 脚本。

那么 的原理是什么呢?

The reimplementation of init-scripts consists in the modification of the inittab runlevels and the start of system and Xorg without udev.
The first system level contains the creation of static devices necessary to boot system until fscheck. Then Xorg is started and in runlevel 3 it starts udev, swapon, all services etc...

大意说就是加载必要的设备和配置,然后在 udev 没有启动的情况下马上启动 Xorg,然后再启动 udev,swapon 和其他服务等等。

我们通常所说的启动时间都是进入 Xorg 的时间,这样启动速度就快了很多了~

的安装很简单,直接 yaourt -S 即可,重启就可以看到效果,如果你对 init-scripts 比较熟悉,还可以自行修改,去掉一些用不到的设置,比如 lvm、raid、其他显卡的配置,你还可以通过参考《启动后自动进入X》这篇文章来绕过 GDM、KDM 等显示管理器,更加快速的启动电脑。

来看看我优化的效果吧~(这是启用了自动加载模块的效果,如果手动加载的话,可能会更快)

bootchart.png

相关链接:AUR 上的 quick-init 包论坛上的官方讨论帖

24六/090

Arch Linux 消息三则

2.6.30 版内核移往 [core] 仓库

来自上游(Upstream)的修改:
http://kernelnewbies.org/LinuxChanges

来自 Linux 的修改:

- 移除了 acpi-dsdt-initramfs.patch,目前没有能够起作用的补丁,如果你需要一个自定义的 DSDT,请自行编译进你自定义的内核。

- 移除了 snd-pcspkr 模块 #14958

- 增加了 dccp #15071

- 增加了 SCHED_DEBUG=y

- 修改为 lzma 内核压缩算法

- 移除了 rt2500 模块,它已被内核驱动支持

portmap 被 rpcbind 所替代

[core] 仓库中的 portmap 已经被 rpcbind 所替代,rpcbind 有更多的特性,例如 ipv6 和 nfs4 的支持,请相应地修改你的 /etc/rc.conf 文件。

nfs-utils 重要更新

NFS4 支持现在已被应用。

这是一个相当重要的更新,你将不得不手动修改配置文件。

/etc/rc.conf 守护进程(daemons)修改:

1) 修改 portmap 为 rpcbind

2) 修改 nfslock 为 nfs-common

3) 修改 nfsd 为 nfs-server

NFS(客户端和服务器端)扩展配置在:

/etc/conf.d/nfs-common

/etc/conf.d/nfs-server

请根据需要自行修改。

标签: 没有评论
5六/091

在 64 位 Arch Linux 下安装 Chromium 并启用中文输入法

虽然今天 浏览器 For Linux 的 Dev 版才正式“发布”,不过此前 Google 一直提供了 的 snapshots。
当然,目前的 功能还很不完善,Flash 等功能都不能使用,项目处于有条不紊的开发中。
尤其对于 64 位 Linux 用户来说,更是这样。因为 snapshots 都是 32 位的,看了官方的 DEB 包,也是依赖 ia32-libs,也就是说,现在没有官方编译的 64 位 For Linux。这在 64 位 Linux 下会引发输入法不能正常使用等问题。
先说说安装方法吧。在 Linux 安装很简单,AUR 里早已经有了 snapshots 的包,安装即可。这个包的维护者很勤奋,每天都会更新一两次。

yaourt -S -snapshot

其他发行版的可以到这里自行下载安装。

chromium.png

安装后会发现 ibus 输入法不能使用(据说 fcitx 也不行),联想到 QQ 也是这样,所以直接把 coderoar 兄那个 qq 脚本照搬过来,果然,输入法也能用了~脚本如下:

#!/bin/sh

GTK_IM_MODULE="xim"
QT_IM_MODULE="xim"
XIM_PROGRAM="/usr/bin/ibus-daemon"
XIM="ibus"
XMODIFIERS="@im=ibus"
export GTK_IM_MODULE QT_IM_MODULE XIM_PROGRAM XIM XMODIFIERS

GCONV_PATH=/opt/lib32/usr/lib/gconv/
GDK_PIXBUF_MODULE_FILE=/opt/lib32/config/gdk/gdk-pixbuf.loaders
GTK_IM_MODULE_FILE=/etc/-2.0/.immodules.32
GTK_PATH=/opt/lib32/usr/lib/-2.0/
LD_LIBRARY_PATH="/opt/lib32/usr/lib/:/opt/lib32/lib/:$LD_LIBRARY_PATH"
PANGO_RC_FILE=/opt/lib32/config/pango/pangorc
export GCONV_PATH GDK_PIXBUF_MODULE_FILE GTK_IM_MODULE_FILE GTK_PATH LD_LIBRARY_PATH PANGO_RC_FILE

-browser

这个是针对 ibus 的,其他输入法可能要做相应修改。

26五/090

在 Arch Linux 下启用 RGBA 透明窗口

看了 9.04 那么炫,突然感觉自己的 好像缺了什么,哎?窗口怎么不是透明的啊……
这个东西是由 RGBA 控制的,大家知道 RGB 是通常所说的三原色:红绿蓝,那么 A 是什么呢?不错,就是 Alpha,透明。
里面默认没有启用透明的引擎,所以窗口都是 RGB 的,看起来当然不如 那么炫啦~
那么怎么在 里面启用透明呢?

先来看一下效果图:

screenshot_001.png

其实启用方法很简单,只要从 AUR 里安装 librgba--module 这个包就可以了:

yaourt -S librgba--module

然后按照提示,运行:

gnome-color-chooser

在弹出的窗口里选择“引擎”-“全局”-“Murrine”-“首选项”,勾上 Enable/Disable RGBA support 的两个勾就行了。

rgba_setting.png

应用的时候,可能会等待一会儿,之后就可以看到透明窗口和控件啦!
值得一提的是,并非所有窗口都支持透明效果,这要看软件的源代码启没启用支持哦~
以上方法在 Linux、Gnome 2.26.2 下验证通过。

12五/091

Finit-ARC 多项更新:我的快速启动终于完美了~

上次说的 Finit-ARC 快速启动方案,就像文中所说,其实在我这里根本用不了。
这是当时论坛上已经确认的 的 BUG,好在作者 adriano 更新很是勤奋,一天内在 github 上提交了十多次更新,不但解决了 hald 段错误的问题,还有很多的改进。

主要的改进有:
- 增加新的静态设备
- 支持 LVM
- 启动顺序调整(udev 和 hal 可以用了)
- 修复时钟 BUG
- 增加 swap 挂载功能
- 为 Xorg 热插拔支持自动开启 HAL 和 DBUS
现在作者似乎想放弃 ,开始一个新的、与 Linux 完美兼容的 init 项目,拭目以待吧。
另外,如果你关注 ,或者想要帮忙,可以去这里看看。
下面是我现在的启动图,虽然比不好使的时候长了一秒钟。

bootchart_1.png

9五/0910

Finit-ARC: 让你的 Arch Linux 4 秒启动!

感谢 YCF 兄在 twitter 上的推荐。


是什么呢?这是一个加快 Linux 系统启动的程序,它的前身是大名鼎鼎的 fast-init。
我们知道,通常 Linux 启动是靠脚本来控制的,这可能是 /etc/rc.sysinit,大家知道,Shell 脚本是解释性的,速度很慢(相对编译性的语言来说),那么,何不用一种编译性的语言来操纵系统的启动呢?
Finit_ARC 就是基于这一原理,它采用纯 C 语言写成,设置环境变量等等操作所调用的都是系统的 API,还有一些使用 system() 函数执行的程序,并且处理的时候还用了多进程,这样效率岂不是有很大的提高?
是的,经过实验,使用 Finit_ARC 启动的电脑,从 GRUB 到 Shell 登录,可能达到只需要 3-5 秒!
请注意: 目前还是 Beta 版本,并且只能用于 Linux!
那么,怎样安装 呢?
1.从这里安装相对稳定版:
http://aur.archlinux.org/packages.php?ID=25159
或者从这里安装 git 版(仅用于测试目的!
http://aur.archlinux.org/packages.php?ID=26314
2.安装完成后务必正常启动(或重启)系统一次。
3.编辑 /boot/grub/menu.lst,把 init=/sbin/ 作为内核参数加入进去。
重要! 不支持 UUID,所以在 /boot/grub/menu.lst 和 /etc/fstab 中,应该把所有 UUID 形式改成 /dev/sd** 的格式!
更详细的介绍和一些注意事项,可以参考 Arch Linux 官方论坛


下面说说我的情况:
我的电脑启动速度没有经过任何优化,有的话也仅仅是开机不让 NTFS 分区挂载,模块用的是 AUTOLOAD,所以比较费时间。
使用 之前,我的启动时间是 21 秒。

bootchart_old.png

使用 之后,启动时间是 13 秒。

bootchart.png

不过,很悲惨的,遇到了 hald 段错误的问题,开机后键盘鼠标都不能用……论坛上其他人也出现了此问题,所以,优化要谨慎啊……
不过其实也没啥风险,只要 fallback 那个条目的内核参数没被你改了,出了问题从 fallback 进系统改回来就行了。
有没有想要试一下的呢?召唤小白!

6五/090

Arch Linux 五月份的时事传报(Newsletter)

又是一个月过去了,五月的 首先回顾了四月份所发生的事,比如升级时需要注意的问题,媒体对 Linux 的看法等等,然后照旧访问了一位开发者 Hugo Doria,在社区亮点中,有一些关于 Trusted User 的信息,在最后,是一些实用的 Diff 的技巧,不容错过哦~

点击这里进入本月的 Arch Linux Newsletter

例行的是两张桌面靓图~

29四/096

让 Arch Linux 也使用 Ubuntu 9.04 的新通知机制

看到 TualatriX 兄在 Gentoo 下使用 Ubuntu 的新通知机制 notify-osd,心里很痒啊,在 下能不能用呢?
首先想到的是看看 TX 兄是怎么改的,不过没用过 Gentoo,Ebuild 也看不出所以然来,想自己改是不可能了。
Google 一下吧," linux notify-osd",晕,发现 AUR 里面已经有了,还不止一个……

[iven@~]$ yaourt 
1 aur/banshee- 1.4.3-3 (15)
    Patched banshee version for 
2 aur/gajim- 0.12.1-1 (2)
    Jabber client written in PyGTK
3 aur/gnome-mount- 0.8-2 (11)
    GNOME mount program
4 aur/gnome-power-manager- 2.24.4-5 (Out of Date) (18)
    Session daemon that makes it easy to manage your laptop or desktop system.
5 aur/libnetworkmanager- 0.7.1-1 (5)
    The Network Manager Library
6 aur/networkmanager- 0.7.1-1 (5)
    Network Management daemon
7 aur/nm-applet- 0.7.1-1 (3)
    GNOME frontends to NetWorkmanager
8 aur/ 0.9.12-1 (25)
    daemon that displays passive pop-up notifications
9 aur/-bzr 311-1 [312-1 installed] (45)
    Canonical's on-screen notification display agent, implementing the FreeDesktop.org notification specification with semi-transparent click-through bubbles.
10 aur/pidgin-libnotify- 0.14-2 (25)
    Patched pidgin-libnotify version for 

可以看到,不但有 notify-osd,还有 bzr 版的,还有针对 pidgin 各种应用的 hack 版。
我不用 pidgin,所以直接安 notify-osd-bzr,这个包与 notification-daemon 和 notify-osd 冲突,我没有安 notify-osd,所以应该先:

yaourt -Rd notification-daemon

然后:

yaourt -S notify-osd-bzr

最后注销一下即可。
下面是骨头兄的 lrcdis 的效果( 里面没有 gnome-osd,怨念……):

screenshot_002.png

呵呵, 还是群众力量大啊,AUR 这个平台简直神了!

   下一页