2012.04.29  标签: , , ,

因为我的个人的电脑是12′小屏又高分辨率(1280×800),所以不改就看起来字就很小。而Ibus-GJS(Gnome JavaScript)版本用的前端是JS+CSS,这就给Ibus输入法主题定制提供了可能性(以前是代码里面写死的样式)

修改前


可以明显看出,连火狐的字体都比输入法的待选词框里的要大。不进行修改的话,打起字来很难受……

待修改文件

只有两个,ibus-gjs的版本是3

  1. /usr/share/gnome-shell/extensions/ibus-indicator@example.com/stylesheet.css
  2. /usr/share/gnome-shell/js/ui/status/ibus/candidatePanel.js

分析代码

不喜欢看的同学可以直接跳到:修改主题
文件1里面的内容是标准的CSS框架,文件2里面的是JS代码,写过网页前端的同学一定不会陌生这两个东西。
从文件2源代码看,选词框的结构是

candidate-panel > candidate-area > candidate-vertical > candidate-vcontent > *candidateTextStyle

当然,水平的选词框就把vertical换成horizontal就可以了。而candidateTextStyle之所以打星号,是因为在Ibus的源代码里并没有给这个应该有的属性添加上类别……因为标签本身就属于popup-menu,本身这样的标签是不必要的,但作者认为这样是很有效的,没办法,我们只能自己来改了。

style_class: 'popup-menu-item',
style: candidateTextStyle,

了解以后我们就可以通过修改CSS来更改Ibus的主题样式了。

修改主题

理论上应该用stylesheet.css来控制这些参数的,但就像我之前说的,作者觉得这样更方便……我会尽力做出更好的patch,让作者改变心意。
const里的candidateTextStyle值
添加

font-size:11pt;text-shadow:0 0 5px #69d6ff;

就可以改变候选词的样式成酷酷的发蓝光的样子,而且变大了~

同理,如果想改变候选编号的话就要改变candidateLabelStyle就可以了。
在stylesheet.css里面的参数基本是控制了整个候选区域的边框等,当然要是你有CSS经验,还可以加上背景图什么的都可以,这样一来相当于皮肤的功能就实现了

2012.04.02  标签: , , , , ,

前言

作为Ubuntu fans,连VPS都是装Ubuntu的,但是因为内存太小(256M),传说中的LAMP(Linux+Apache+Mysql+PHP),因为内存使用率很容易就100%,只好用LNmP(Linux+Nginx+sqlite+PHP-fastcgi)。而网上的教程基本针对CentOS,就连用了Ubuntu的也是用LNMP安装包——从源代码开始安装!!而且把程序都装到/usr/local下,这样很不符合Ubuntu的包管理精神,而网上的教程基本上是一篇(都是互相抄袭嘛)。因此我想通过本文告诉大家,小内存下的Ubuntu不用编译也可以很好地使用,以下是集合我的实际配置经历和网上文章整理
纯粹在apt-get下管理软件,并配置出适合小内存VPS运行的服务器套装。

别看广告,看疗效

有图有真相


去掉我管理时连接ssh和bash(多了2M左右),内存最大占用只有60M,包括sendmail这种内存大头。当然现在VPS上才跑着一个Typecho(博客程序)和一个大波(推忒API),就算按一个站点要15M左右(独立php-cgi+nginx进程),多出来的200M,应该还能跑10个左右这样的站点哈,特别对是流量比较小的个人博客,简直是太合适了。

配置Ubuntu

首先在VPS面板安装好Ubuntu 10.04后(是有点老,不过文中命令条目可以跨LTS版本执行),删除apache2和mysql-serverapt-get remove apache2 mysql-server-core bind9接下来是安装Nginx php-cgi
apt-get install php5-cgi nginx注:网上说的fastcgi其实和这个是一样的,我个人理解是Nginx把得到的参数通过CGI接口转接给PHP进行处理而已。而Spawn-FCGI就不用下载了,网上那些用了Nginx还去下载LightHttpd的文章真是不知道怎么说了。为什么?请看什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?

配置PHP-CGI启动项

添加php-cgi作为常驻内存项目,减少服务器开支
wget http://mengzhuo.org/blog/wp-content/uploads/2012/04/php-fastcgi.txt && chmod +x php-fastcgi.txt && mv php-fastcgi.txt /etc/init.d/php-cgi或者手动复制php-fastcgi到/etc/init.d/下面
可能需要编辑文件里面的两项
BIND=/tmp/php.socket #绑定UNIX通道作为CGI传递的路径
PHP_FCGI_CHILDREN=2 #控制进程数(越多程序速度越快,当然内存消耗越大)
修改好后,再运行update-rc.d php-cgi defaults && service php-cgi start,把这个启动项作为默认启动项,并启动。

配置Nginx

具体网站程序配置,最好网上找,我这里要说的是upstream和event的设定
/etc/nginx/nginx.conf下面要添加

upstream php {
server unix:/tmp/php.socket;
}
events {
worker_connections 1024;
use epoll;
}

然后再具体的网站程序里要添加:
location ~ \.php {
#你的程序配置
fastcgi_pass php;
}

添加好以后用service nginx reload重载即可。
附上我的Typecho的配置文件:

location ~* ^.+\.php(\/.*)*$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php;
}
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}

结尾啦

这样就基本差不多了,重启或者是其他关掉server之后,内存是不是省了很多,又不需要编译这么长的时间呢。

2012.03.31  标签: , , , ,

Ubuntu12.04已经进入beta2了,其主要特性已冻结,目前只是Debug阶段了,其实和正式版差不了多少了。我个人主要是想要Gnome Shell 3.4(11.10肯定不会用的了),所以现在升级了。

一键升级

root权限下终端里执行update-manager -d就可以了,凭良心说现在的Ubuntu比2年前好多了,当时还要满世界找升级源,现在是全自动解决了。

自动化的源变更


接下来是等待下载结束,配置开始,一些软件如果改了默认配置就需要重新配置,比如mysql、apache。其他的基本上自动解决了。一开始我还担心12.04会把unity默认装回来,后来发现根本就是瞎担心,几乎是完美地回到了我原来的桌面,不过还是有下面这个小问题

Ibus-gjs

自动重启以后发现最大的问题是ibus-gjs没办法用了,而fujiwarat(IBUS-GJS作者)目前没空,所以我把网上搜刮到的patch打好,大家可以通过
sudo apt-add-repository ppa:mengzhuo1203/ibus-gjs && sudo apt-get update && sudo apt-get install ibus-gjs来获得我做的包
按下Alt+F2输入r重载后,使用gnome-tweak-tool调整就好了。

Rhythmbox

这次主要播放器又换回了Rhythmbox3,而11.10是蛋疼的banshee(主要是音乐文件夹更新后竟然没有自动侦测),不过之前开发的插件也用不上了,因为底层重写了……看来得花个时间重新看看文档了。