Building the Coming Soon

关于

Kaijia graduated from the Akademia. He is always proud to be a HFLSer!

Ubuntu 14.04安装KDE后Unity界面Oxygen化问题解决

04/26/2014

升级到Ubuntu 14.04的时候Kaijia遇到了很多问题(两个LTS版本之间的升级就是各种坑爹),于是Kaijia决定重新安装系统。Ubuntu 14.04装完之后安装了Nvidia驱动和Bumblebee,接下来就是安装KDE桌面了。Kaijia使用了标准的安装方法:

安装完成之后注销了Unity进入KDE界面看了一下不错,KDE 4.13在性能和稳定性上改进很大。但当Kaijia重新进入Unity界面时就遇到麻烦了,Unity界面变成KDE风格了!细节上的变化是运行GTK软件会自动变成Oxygen风格(例如截图中的Firefox浏览器)。系统菜单栏也会有变化,例如输入法功能将会被一个找不到图片的小图标代替。

Ubuntu 14.04中Unity界面KDE风格化问题

Ubuntu 14.04中Unity界面KDE风格化问题

Kaijia一开始以为是个意外,于是又重装了一次系统,再次进入KDE后还是会出现Unity界面KDE风格化的问题。同时Kaijia发现,虽然安装了KDE,但如果不运行,系统就不会发生变化,只要启动了KDE界面,Unity就会受到影响。简单的说,KDE的一个组建影响到了Unity或者是GTK的配置问题,但KDE和Unity相互独立的,不可能存在干扰,那么唯一一种可能性就是Oxygen-Gtk,一个在KDE环境下更好地显示GTK程序界面的兼容层。

阅读更多

Ubuntu 14.04双显卡设备出现未知显示器问题解决

04/25/2014

安装完Ubuntu 14.04之后,Kaijia迅速调会了Ubuntu 12.04的使用习惯,包括在启动器中显示工作区等。装完系统后,Kaijia发现鼠标一闪一闪时有时无,而且经常会往右边屏幕上跑。设置完工作区后Kaijia还发现了一个更严重的问题,点击工作区时出现了一个非常不科学的情况,我的屏幕居然有大片内容没有显示出来,并且屏幕的实际分辨率居然高达2390像素。

Ubuntu 14.04 Unknown Monitor Issue

Ubuntu 14.04 Unknown Monitor Issue

阅读更多

Ubuntu系统降级Google Chrome至版本32.0方法

02/24/2014

Chrome 33.0中移除了停用Instant Extended API选项造成的强烈抗议大家应该在都看到了。除了安装第三方插件以替换掉认为难看的新选项卡,目前为止Google官方还没有给出可行的解决方案找回旧版的新选项卡。因此相比较瞎折腾,最经济的办法就是降级!

降级浏览器这种事情Kaijia直接就干过,Mozilla那个郁闷的新图标导致Kaijia毫不犹豫地把Firefox降到了22.0。但是这次不同的是Firefox的DEB来自是Ubuntu官方源,而Ubuntu的软件仓库并没有提供Chrome,Google提供了自己的Repo,并且在Google发布Chrome 33.0不久后立即移除了Chrome 32.0(开始学苹果了)。所以我们只能通过其他的镜像站查找Chrome的安装包。比如PCData提供的镜像:

http://mirror.pcbeta.com/google/chrome/deb/pool/main/g/google-chrome-stable/

目前还可以下载到旧版本的Google Chrome。Chrome 32.0的最后版本分别是:

google-chrome-stable_32.0.1700.107-1_amd64.deb 03-Feb-2014 17:19 47M
google-chrome-stable_32.0.1700.107-1_i386.deb 03-Feb-2014 17:19 45M

由于安装包来自其他镜像,所以有必要验证一下安装包的正确性。Gentoo的编辑机器人在SVN中尽职得记录了正确的SHA256和SHA512,Kaijia在确认了安装包正确后重新计算了MD5和SHA1,供大家参考。

MD5SUM
3928c037d368043e207b9397bd6ed23e  google-chrome-stable_32.0.1700.107-1_amd64.deb
6d5a4bd7d5a14a57d3fdcfeb880e1653  google-chrome-stable_32.0.1700.107-1_i386.deb

SHA1SUM
6151e70e2fa64b0b9a134aa90f2204469a207606  google-chrome-stable_32.0.1700.107-1_amd64.deb
c149065fbcb8d00b913e9404ba052d1fe3392c7b  google-chrome-stable_32.0.1700.107-1_i386.deb

下载完成后访问下载文件存放的位置,在命令行中运行:

安装这些包,完成安装后就降级到Chrome 32.0了。另外,目前Ubuntu官方源中的Chromium目前还没有更新,仍然是32.0版本,如果不想自己找下载的话,也可以直接考虑更换成Chromium。

强制修改Windows系统SYSTEM用户进程优先级方法

02/21/2014

相信大家一定遇到过这种经历,想调整一个进程的优先级或者关掉一个进程,结果提示拒绝访问。用过UNIX或者UAC的同学一定可以立即意识到这是权限问题,我们以用户帐户权限启动的任务管理器当然不能对系统(SYSTEM)帐户的进程进行修改。今天Kaijia在解决一台Windows Server 2003服务器吃CPU导致Zabbix Agent半无响应问题时打算更改一下这个进程的优先级,结果又碰到了这个问题。

对SYSTEM进程执行操作时任务管理器提示拒绝访问

对SYSTEM进程执行优先级更改操作时任务管理器提示拒绝访问

阅读更多

TED Subtitle Downloader New UI

TED Subtitle Downloader更新增加TED视频多语言字幕下载支持

02/20/2014

Kaijia去年3月份的时候应Ms Wang要求开发TED Subtitle Downloader,当时这个工具的第一版本只支持下载英文字幕。毕竟是给杭外的孩子们学习英语用的,一开始Kaijia并没有考虑支持中文字幕的下载,不过最近相信是低年级的小朋友们也要看TED了,于是有了中文字幕的需求。

昨天Kaijia更新了一下TED Subtitle Downloader,这次更新将界面更换为了Bootstrap 3,同时也还加了一张高大上的背景图片,不过最重要的功能改进就是增加了TED视频多语言字幕下载的支持。

字幕下载工具网址:http://sandbox.kaijia.me/ted/

目前TED Subtitle Downloader下载时可以设置选择需要下载的字幕语言,可选择的语言包括所有TED支持的主流语言。详细的使用介绍请参考去年的文章《TED.com演讲视频SRT格式字幕在线下载方法》。之后TED Subtitle Downloader还将继续更新,支持其他的功能。

Y470卸载bbswitch临时补丁acpi-handle-hack方法

02/18/2014

Kaijia之前一直使用的是acpi_call的方法处理Y470的双显卡问题,但自从Bumblebee的PPA中移除了acpi_call包后,Kaijia也切换为了bbswitch(呵呵反编译党)。但是也不知是Linux内核的问题还是联想工程师的疏忽(或者是研发小Y系列时完全没考虑过会不会被Linus Torvalds竖中指的节奏),Y470/Y570系列电脑存在一个Bug导致Linux无法正确识别N卡的ACPI,从而导致了Bumblebee的bbswitch功能无法正常运行。

一开始Kaijia也没有头绪,后来找到了bbswitch的维护者为Y470专门提供的一个临时解决方案:安装一个非常简陋的临时解决方案acpi-handle-hack,直到Linux内核开发者修复此问题。这个漏洞一直到Linux 3.9才得到修复,而Kaijia的Ubuntu 12.04运行Linux 3.2内核,所以Kaijia安装了acpi-handle-hack后一直将就用着。

随着Ubuntu 12.04.4的发布,Ubuntu 12.04的指导内核版本提升为Linux 3.10(Saucy),显卡问题在此版本的内核前已经得到了修复,因此是时候卸载这个简陋的解决方案了。

阅读更多

使用Zabbix监控MySQL服务器方法

01/27/2014

从Zabbix 2.2开始,Zabbix官方已经支持了MySQL监控,但是MySQL监控默认是不可用的,需要经过额外的设置才可以使用。Kaijia将Zabbix换到了新的服务器时候性能绰绰有余,于是决定充分发挥剩余的内存和SSD性能,把MySQL、Apache、PHP-FPM等的监控也开起来。

Google了一下后找到了一篇《How to Monitor MySQL using the new Zabbix Template App MySQL》,大部分内容都可用,可惜这位老兄最后的步骤写错了。。。于是参照此篇文章Kaijia整理了一下使用Zabbix监控MySQL服务器的方法。

阅读更多

避免DNSPod监控消耗大量流量方法

01/26/2014

昨天萌萌的网站悲剧地超了流量(用掉了12G多),于是帮他分析了一下Apache日志。因为是cPanel的日志,下载下来很小,才8M多一些(要想Kaijia的Apache日志一个礼拜起码50M),打开了一看发现清一色的全部都类似于:

IP.IP.IP.IP – - [24/Jan/2014:20:13:17 +0800] “GET / HTTP/1.0″ 200 133938 “-” “DNSPod-Monitor/1.0″

Kaijia一开始觉得特奇怪,没有发现异常的但为什么会消耗12G多的流量呢,于是分析了一下IP,发现有6个IP地址从共发送了近9万次”GET / HTTP/1.0“请求,而且这些请求的UA都是DNSPod-Monitor/1.0,于是Kaijia查了一下DNSPod官方提供的监控点列表,发现这6个IP都在此列表上。于是Kaijia得出了一个很坑爹的结论,DNSPod监控吃掉了12G流量中的绝大部分!

阅读更多

“Zabbix poller processes more than 75% busy”警报问题解决

01/25/2014

虽然Zabbix的监控警报各种有,但Kaijia使用碰到最多的几个莫过于内存耗尽,网络不通,IO太慢还有这个“Zabbix poller processes more than 75% busy”了。一开始的时候因为这个即不影响使用也持续一会儿就自行解决就没有多在意。然后随着数据库的增大,Zabbix消耗的内存可是越来越多,Poller processes(轮询)开始天天Busy了,最终Kaijia不得不把Zabbix挪到了另外一台服务器上。

但这并没有彻底解决问题,警报仍然三天两头来几个。之后Kaijia开启了Zabbix警报的邮件功能,于是开始频繁收到这类邮件,于是Kaijia决定解决这个问题。Google了一下资料,没有找到很权威的答案,造成轮询忙的问题有很多中,支撑Zabbix的MySQL卡住了,Zabbix服务器的IO卡住了都有可能,Zabbix进程分配到内存不足都有可能。一个简单的方法是增加Zabbix Server启动时初始化的进程数量,这样直接增加了轮询的负载量,从比例上来讲忙的情况就少了。

阅读更多

WordPress菜单中创建无地址自定义链接

01/10/2014

这个问题相信也纠结过很多人。当有一个WordPress页面没有内容,而需要在自定义菜单中作为一个上级页面展示时如何避免用户点击这个菜单并发现页面上没有内容这种囧事。最简单的方法将页面替换成一个自定义链接,但是WordPress默认不支持没有链接地址的自定义链接。于是之前Kaijia喜欢将这个自定义链接跳转到网站首页,但是这样也不具有用户友好性。

于是纠结了一下想到了一个很巧的方法,就是利用HTML的特性,使用#代表本页面。

根据W3C标准,以“#”开头的链接是为转到当前页面的对应name属性而不作跳转,所以当一个链接只有“#”时可视为转到当前页面的顶部,因此并不会发生页面跳转。

添加一个无地址自定义链接

添加一个无地址自定义链接

所以只需要在WordPress菜单设置中的链接URL中输入“#”就可以代表本页面了。

较旧文章