2月 222012
 

几天前,我在系统 Fedora 16 启动过程中 Plymouth 的主题气泡快要充满时,把USB接口的鼠标接了上去,发现之后在 GDM 登录界面,移动鼠标根本不会让光标移动。使用笔记本上的触摸板倒是正常。登录进入系统后,插上U盘测试,根本出不来 /dev/sdb。换其他的USB接口,依然不行。查看日志 /var/log/messages,可以看到大量类似的行(dmesg输出也有类似信息):

Feb 20 22:00:14 localhost kernel: [   34.571048] hub 2-0:1.0: connect-debounce failed, port 2 disabled

上网 Google,看到 Launchpad 上一个 kernel bug 讨论中,不少人遇到过这个问题。其中提到的解决方案之一是重启电脑,修改 BIOS 设置里 USB Legacy Support 或类似选项为禁用,之后进入 Linux 系统,应该不会有新的上述错误信息,USB 接口可以正常使用。再次重启,在 BIOS 中重新启用 USB Legacy Support,然后进入系统,也不会再有类似错误信息。USB 接口也可以重新正常使用。我使用了这一方法,对我的情形的确有效。(然而根据讨论,有的机器上就没有作用)

当然,潜意识告诉我:在启动未就绪时热插拔不是个好主意。不过这究竟会带来什么问题,是否会导致硬件故障,我着实没有搞清楚。

2月 022012
 

昨天(2月1号)给网站添加了 favicon,参考了这里。其中要注意的是如果使用了子主题,那么 favicon 需要放在子主题而非父主题的根目录中。

昨天还安装了 syntaxhighlighter 插件用于代码高亮。安装很简单,就是下载解压,然后在管理界面启用插件,具体步骤可以参考前面的链接。

今天则调整了网站副标题(CSS 中 description 类)的样式,改成了个人更喜欢的斜体衬线字。另外是花了不少精力优化打印版本页面的样式,最终通过将针对打印介质的 CSS 代码写到 Suffusion 配置中的 Back-end -- Custom Includes -- Custom Styles 部分,得到了比较好的效果(可以通过打印预览查看)。目前的 CSS 代码是(顺便测试 syntaxhighlighter :)):

@media print {
    body {
        font-family: serif;
        font-size: 10pt;
        background-color: white;
        color: black;
    }
    a:link, a:visited {
        background-color: transparent;
        color: #520;
        text-decoration: underline;
        font-weight: bold;
    }
    h1, h2, h3 {
        background-color: white;
        color: black;
    }
    code, pre, kbd {
        overflow: visible;
    }
    pre {
        padding: 0;
        font-size: 80%;
    }
    div.entry a:link:after, div.entry a:visited:after {
        content: " (" attr(href) ") ";
        font-size: 90%;
    }

    /* Do not display nav bar, sidebar, etc */
    #nav, #sidebar-shell-1, #commentform {
        display: none;
    }
    #wrapper {
        background-color: white;
        color: black;
        max-width: 100%;
        min-width: 100%;
        width: 100%;
        margin: 0;
        padding: 0;
        border-style: none;
    }
    #container, #main-col {
        width: 100%;
        margin: 0;
        padding: 0;
    }
}

另外,今天还意外地解决了固定链接被覆盖需要重设的问题。由于我在 OpenShift 上搭的博客,组件的更新需要用 git 推送。之前我发现每次 git 推送后,WordPress 的固定链接都会失效,得在管理界面的固定链接部分再次“保存更改”才行。查看了有关固定链接的介绍后我才明白,WordPress 通过写 .htaccess 规则来实现各种格式的固定链接。我 SSH 到网站网页文件目录,用 cat(1) 查看 .htaccess 文件内容,发现比起 git 仓库的版本果然多了一些内容。将相应行内容复制到 git 仓库中,重新推送,问题就不复存在了。

1月 072012
 

话说这篇貌似应该做第一篇的,但是被拖了好久。

新建 OpenShift 帐号时没有什么问题。之后是看指南创建域名(如我的就是 awesome)、应用(我这个叫 wp)。指南时给的是命令行的步骤,然而我发现 web 界面里有对应功能就直接在 web 界面做了,连 SSH 公钥上传也是在 web 界面弄的。这反而引出一个问题,默认命令行下建应用是会自动新建一对 SSH 密钥供 git push 使用的,但我直接复用了已有的密钥。所以,后来我需要查文档 express.conf(5),手写配置文件 ~/.openshift/express.conf 指定密钥文件。还好这不是个大问题。

之后我基本上就是参照 Blog moved to wordpress on openshift 这篇文章来下载 WordPress,捣鼓到 openshift 本地仓库,然后用 git 推送到云上。期间我还参考了一个 GitHub 上的示例,其中的 wp-config.php 文件对我很有帮助,直接使用 OPENSHIFT 定义了的环境变量看起来很不错。

这之后其实和 OpenShift 相关的事情就不多了,主要就是配置 WordPress 了。然而期间我发现了值得一提的是,本地的 git push 会把本地仓库推送到远端的 bare 仓库里(这一点很自然),同时还会重写远端应用目录下的 repo 目录(就是 www 服务的根目录)。似乎是覆盖式的重写,如果里面有不在仓库里的文件或目录,之后也会丢失。我是在 WordPress 管理里面更新插件安装中文包,然后经过 push 后发现这些都没了后,才怀疑并最终证实的。这也意味着,这个博客的更新,主题安装等都需要先在本地搞好、提交到本地的 git 仓库之后,通过 push 上去,才算可以使用,直接在 WordPress 管理界面更新、安装主题等都不可行(会被以后的 push 灭掉的)。更新:感谢 JunkFood 向我指出人们还提出了其他一些解决方案,如把插件主题目录做成到 $OPENSHIFT_DATA_DIR 中的软链接,或者在本地仓库里开 HTTP 服务更新后提交更改等,参见下方评论Github

1月 072012
 

上了(官方)中文版 WordPress。

主题换成了 Suffusion。这个主题缺省配置下竟然导航菜单是不显示的,得自定义去。还好这个主题用户貌似比较多,搜索到了一篇讲基本配置的文章。感谢它,现在有个正常的导航菜单了。温馨提示:在 “WordPress 外观 –> 菜单” 里自定义的菜单的名称不能是中文,否则显示不出来……