炮文:为什么你不应该用独立的WM作为你的桌面

因为你享受不到Linux桌面带来的好处。

如果你不知道什么是freedesktop.org,我建议你先去补课。

别以为Linux的桌面是没有标准的。为了让程序们能够在不同的桌面下正常工作,真的是有一些人去制定一个标准,让程序们可以放心的处理跨桌面的行为。

即使你想用独立为WM,从而满足你那小小的需求,你也应该去用一个桌面,然后替换掉上面的组件。而不是写一些愚蠢的脚本将别的桌面的组建在你可怜的桌面上启动。

lxde,xfce都是不错的开始。尤其是xfce,当年我在上面各种替换组件的经历都十分愉快。

其次选择一个登录管理器(噢,你别把slim当成和startx有什么区别的东西),而不是startx。如果你想知道为什么的话,那就是一些必须的初始化。如果不想纠结于,dbus,polkit,networkmanager,为什么在你的桌面上不能正常工作的话。

事实上,没有几个人能够好好的初始化这些东西,与其花费精力去了解这些东西到底是什么,为什么不用一个bug free的session管理器呢?

有什么会Break?

文件关联,你总是需要一个文件管理器,xdg-open是桌面程序开发者的好帮手,帮你选择正确的程序打开文件,但你不要自作聪明去破坏开发者的好意。使用一个xdg兼容的文件管理器能省下你无数功夫。

dbus & consolekit

DBus的连接是一个抽象的地址,为了让一些程序能够通信,他们需要连接到这同一个地址上面。但是DBus找到这个地址的方式有两个,一个是通过session,一个是通过环境变量,如果你不懂怎么才能初始化consolekit和dbus,你最好省省去用一个session管理器。

这些还不够吗?

你要好好学习到你是一个非主流用户了,如果你连这点都认识不到,你不要指望桌面开发者能够照顾你什么,你和他们已经不是生活在一个时代的人了。

不要指望开发者会给你一个地方配置使用什么浏览器,不要指望开发者给你一个地方设置使用什么文件管理器,不要指望开发者给你一个地方去设置你愚蠢的文件关联命令。自从你自作聪明的使用你愚蠢的脚本启动桌面,你早就活在他的用户群之外了。

Posted in Linux | Tagged , | 33 Comments

开始写文档……

用蹩脚的英文。改日还得自己多review几遍……

http://uploads.csslayer.tk/uploads/fcitx.developer-handbook/html/

Posted in fcitx development | 9 Comments

Here comes fcitx-fbterm!

http://blip.tv/file/get/Csslayer-FcitxFbtermDemostration765.3gp

https://github.com/fcitx/fcitx-fbterm

除了按照CMake常规手段安装之外,如果你想要测试这个东西,有以下两种方法。

1、有一个正在X中运行的fcitx。

export DISPLAY=:0 # 假设你的显示是0
fbterm -i fcitx-fbterm。

2、没有X。

eval `dbus-launch --auto-syntax`
fcitx > /dev/null 2>&1 # 不显示标准输出
fbterm -i fcitx-fbterm

另外,如果想要在fbterm里面用上输入法,还需要设置

sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm

或者

sudo chmod u+s /usr/bin/fbterm

但无论如何,你都需要编译fcitx的dbus支持。另外几乎不用说的就是,你需要Fcitx的最新代码才能玩这个东西。另外目前同一个用户运行两个以上的fcitx并不安全。

以后会加入方便启动的脚本。

还有顺便一提,fbterm的输入法切换键 CTRL + SPACE是写死在fbterm的代码里面的。这个不由fcitx控制。

另外为了您系统的安全着想,万一出现”屏幕错乱“,”键盘按键错乱“,”键盘失灵“以至于连tty都无法切换的情况,请不要慌张,首先尝试fbterm的退出按键 CTRL ALT E。如果无效,那就使用sysrq的sysrq + r,然后你就可以从容切换到其他的tty。需要注意的是,sysrq这个快捷键需要设置sysctl的 kernel.sysrq 为 1 ,许多发行版出于安全考虑默认是禁用这个的(否则摸到键盘的人可以直接对整个系统进行重启,kill all这种操作),个人用户可以考虑开启。

Posted in fcitx development | Tagged , , | 9 Comments

KCM Fcitx

抢第一个有kcm的输入法的位置!

http://blip.tv/file/get/Csslayer-FcitxKCMDemostration567.mp4

Posted in fcitx development | Tagged , | 1 Comment

今天真是相当郁闷

写个Kimpanel的过程简直就是个杯具啊。最开始的DataEngine的编写还算顺利,但是后面真正写起来Plasmoid就完全不同了。

首先想用QML,结果跟不上kimpanel的更新速度。

然后想用Javascript,结果ServiceJob部分的绑定是坏的。

老实去用C++吧,也怪不得调查Plasmoid使用语言,C++和Python平分天下各占百分之40多,QML占了不到百分之10,Javascript完全没影子了。

Posted in KDE | Tagged , | 5 Comments