Beyondsky 2024-04-06T14:21:18+00:00 ccf.developer@gmail.com 2022-05-04T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2022/5/star

满天的星

颗颗说是永远的春花。

东墙上海棠花影

簇簇说是永远的秋月。

清晨醒来是冬夜梦中的事了。

昨夜夜半的星,

清洁真如明丽的网,

疏而不失,

春花秋月也都是的,

子非鱼安知鱼。

]]>
如何在 ubuntu 14.04 上安装 fcitx-rime 并使用小鹤双拼 2018-01-27T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2018/1/how to use double pinyin with fcitx rime on ubuntu 18 年的第 3 场大雪了,本来想着今天能收到新键盘,写写博客,结果被大雪挡在了路上。
17 年一篇也没有更,不是没有,只是写不下去,也就拖到了今天,今年就多写一些,弥补上。

无意间在网上发现了双拼输入法,比五笔简单,较全拼更快(还是靠多练…)。
程序员自然是要折腾的,果断学习,推荐大家在微信上搜索“双拼练习”小程序,支持多种双拼模式,还有网页版。
推荐“小鹤双拼”,此外微软和自然码也不错,支持广泛。
如果使用搜狗输入法,可以直接在设置里选择双拼,新版(≥ 7.4)内置了很多双拼模式,
旧版没有的,可以直接拷贝新版的模式文件到搜狗拼音的安装路径下 doublepinyin 之类的文件夹里。
这里说一下如何在 ubuntu 14.04 下安装 fcitx-rime 输入法,并挂载“小鹤双拼”。

安装 fcitx-rime

# 安装 fcitx-rime, 是 fcitx 社区维护的
$ sudo apt-get install fcitx-rime

# 或者安装 ibus-rime
$ sudo apt-get install ibus-rime

# 安装双拼方案
$ sudo apt-get insatll librime-data-double-pinyin

# 配置 fcitx 为默认输入法,然后重新部署或者重启
$ im-config
$ sudo reboot # (如果已经装过 fcitx 就不需要重启啦,系统托盘 fcitx 图标右键重新启动即可)

# 添加输入法
$ fcitx-config-gtk3 # (一般安装好就有了,最好确认一下)

添加小鹤双拼方案

添加配置文件: ~/.config/fcitx/rime/default.custom.yaml

patch:
  schema_list:
    - schema: luna_pinyin          # 朙月拼音
    - schema: luna_pinyin_simp     # 朙月拼音 简化字模式
    - schema: luna_pinyin_tw       # 朙月拼音 臺灣正體模式
    - schema: terra_pinyin         # 地球拼音 dì qiú pīn yīn
    - schema: bopomofo             # 注音
    - schema: jyutping             # 粵拼
    - schema: cangjie5             # 倉頡五代
    - schema: cangjie5_express     # 倉頡 快打模式
    - schema: quick5               # 速成
    - schema: wubi86               # 五笔 86
    - schema: wubi_pinyin          # 五笔拼音混合輸入
    - schema: double_pinyin        # 自然碼雙拼
    - schema: double_pinyin_mspy   # 微軟雙拼
    - schema: double_pinyin_abc    # 智能 ABC 雙拼
    - schema: double_pinyin_flypy  # 小鶴雙拼
    - schema: wugniu               # 吳語上海話(新派)
    - schema: wugniu_lopha         # 吳語上海話(老派)
    - schema: sampheng             # 中古漢語三拼
    - schema: zyenpheng            # 中古漢語全拼
    - schema: ipa_xsampa           # X-SAMPA 國際音標
    - schema: emoji                # emoji 表情

这里按需添加,注意缩进。然后重新部署输入法。 然后随便找个可以打字的地方,比如浏览器地址栏(fei hua。。。), Ctrl+空格 Ctrl+` 选择小鹤双拼就好了,注意这里还可以选择简体、繁体,全角、半角等等。

Q&A

  • Q: 选择小鹤之后无法打字?
  • A: 这个应该是 fcitx-rime 特有的问题,不确定 ibus 有没有,解决方法很简单:
  • A: (其实,如果在选择时显示的不是“小鹤”而是“xiaohe”这样的字母,基本就是这个问题了)
  • A: 执行如下命令:
$ cd ~/.config/fcitx/rime
$ ln -sf /usr/share/rime-data/double_pinyin_flypy.prism.bin .
$ ln -sf /usr/share/rime-data/double_pinyin_flypy.schema.yaml .
  • A: 然后重新部署输入法,再按照前面的步骤选择一下“小鹤双拼”就可以了,如果还不行,嗯,,,留言大家讨论讨论 XD

最后,祝大家新年码字愉快 :D

Reference

]]>
使用 synopsys vcs 的问题列表及解决方法 2016-03-21T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2016/3/error-list-and-solutions-of-synopsys-vcs-useage 前几天将 synopsys 的 VCS / DC / PT 等软件成功安装到 Ubuntu 14.04 LTS 系统中,并总结了安装中的问题,但是在使用 VCS 时暴露出新的问题,主要集中在编译/运行环境,总结一下。


段错误

问题:

该问题出现在成功编译之后,运行生成的 simv 文件时。虽然这个问题是解决编译时的错误之后才会出现的,但是还是放在开始来说吧(因为差点因为这个问题放弃在 Ubuntu 上折腾,打算换 REHL 系)。。。

错误提示:

# 忘记保存原来的错误记录了,类似下面这句话的提示
segment fault (core dump)

解决:

尝试了很多办法,甚至将 VCS2009 换成 VCS2014 还是老样子,最后使用 64 位编译通过。首先系统是 64 位,然后要有安装 VCS 相应版本的 amd64 包,最后使用如下命令进行编译即可。

# 编译
# -full64 开启 64 位
$ vcs -full64 +v2k FILENAME.V [FILENAME2.V]

# 运行
$ ./simv

证书错误

问题:

严格来说这个问题应该放在上一篇博文中,不过,,,就放在这里吧,顺便提醒大家先运行了 license 服务器再 vcs。。。(我经常忘了 ⊙﹏⊙)加个开启自动运行也行。当然,这里这个问题可不是因为没有运行导致的,具体情况和解决如下。

错误提示:

$ ./lmgrd -c PATH_TO_LICENSE/license.dat

./lmgrd: Command not found.
FLEXnet Licensing version v11.8.0.0 build 81116 i86_lsb MLM: can’t initialize: Invalid license file syntax.

解决:

缺少了一个软件,安装上就行。

$sudo apt-get install lsb lsb-core

参考:

Why am I unable to start the FlexNet license manager v11.8 or higher on Debian based Linux distributions?


系统/内核版本

问题:

如果在 ubuntu 系统下,编译时会提示 linux 版本及 kernel 版本不受支持的提示,这个不管也没事,不影响使用。

错误提示:

Warning-[LNX_OS_VERUN] Unsupported Linux version
Linux version ‘’ is not supported on ‘i686’ officially, assuming linux
compatibility by default. Set VCS_ARCH_OVERRIDE to linux or suse32 to override.
Please refer to release notes for information on supported platforms.

Warning-[LINX_KRNL] Unsupported Linux kernel
Linux kernel ‘3.0.0-23-generic’ is not supported.
Supported versions are 2.4* or 2.6*.

解决:

安装错误提示的内容添加一个变量即可。需要根据具体使用的 shell 编辑 .bashrc 或者 .zshrc 文件。

$ vi ~/.zshrc    # 我使用的是 zsh 所以编辑 .zshrc 文件

# 添加如下内容
export VCS_ARCH_OVERRIDE=linux

# 保存文件后更新
$ source ~/.zshrc

链接错误

问题:

编译链接时提示许多未定义的引用,并且链接错误。 如果使用的是 32 位 VCS 编译,则可能会提示不能识别编译选项 -melf_i386

错误提示:

64 位(这里简单列出部分提示)
PATH_TO_VCS/vcs201403/amd64/lib/libvcsnew.so: undefined reference to `snpsCurrentGroup’
collect2: error: ld returned 1 exit status
make: *** [product_timestamp] Error 1
Make exited with status 2

32 位
g++: error: unrecognized command line option ‘-melf_i386’

解决:

  1. 首先如果使用的是 32 位进行编译,则改用 64 位。
  2. 然后下载 VG_GNU_PACKAGE 包,解压后根据其中的 REAMDE 文件配置 64 位 gcc 环境即可,很简单。
  3. 最后修改环境变量设置,在 .bashrc 或者 .zshrc 文件中添加如下内容。

注意
一定要保证顺序,最好直接添加在文件末尾。 否则,可能会出现无法识别选项 -ldl,找不到静态库 crt1.o,找不到动态库版本等错误。

例如如下错误
libstdc++.so.6: version `GLIBCXX_3.4.11’ not found

# 执行命令搜索库文件位置
$ sudo find /usr -name 'crt1.o'

# 可能会有多个该文件,选择 64 位,GNU 版本所在位置
# 根据 shell 编辑 .zshrc 或者 .bashrc 文件
$ vi ~/.zshrc

# 添加内容如下
# 注意一定要在 VG_GUN_PACKAGE 该环境变量后面配置,否则可能出现其他问题。
export LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH"
export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"

# 保存并应用修改
$ source ~/.zshrc

参考:

求助,VCS 在 ubuntu 64 位的问题
g++ error when simulating with VCS
cannot find crti.o: No such file or directory
Finding Dynamic or Shared Libraries
Synopsys 和 Cadence 最新软件网盘分享


更多内容

点击 “上一篇” ↓ 查看安装 synopsys 程序中的问题与解决办法。

]]>
Synopsys 软件安装中的问题及解决方法 2016-03-17T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2016/3/problems-and-solutions-during-the-synopsys-softwares-installation 这篇是在 Ubuntu 系统上安装 synopsys 的 VCS / DC / PT 软件中遇到的问题及解决办法的汇总。
参考的安装教程、安装平台见本文最后。


source ~/.bashrc 错误

问题:
安装完成 Synopsys 相关的程序后需要添加环境变量, 如果使用的是 zsh 而不是 bash,出现如下错误。

错误提示:

/home/user/.bashrc:17: command not found: shopt
/home/user/.bashrc:25: command not found: shopt
/home/user/.bashrc:109: command not found: shopt
/usr/share/bash-completion/bash_completion:35: parse error near]]'

解决:
正确的方法是在 ~/.zshrc 中添加环境变量, 添加完成后执行命令 source ~/.zshrc 即可。

参考:
shopt command not found in .bashrc after shell updation


找不到 libXft.so.2

问题:
忘记了是运行 lmstat 还是 lmgrd 命令时出现了以下错误, 缺什么装什么就好了。:-D

错误提示:

error while loading shared libraries: libXft.so.2: cannot open shared object file: No such file or directory Error.

解决:
Ubuntu 系统下运行以下命令安装即可

$ sudo apt-get install libxft2 libxft2:i386 lib32ncurses5

参考:
ModelSim-Altera error


不能创建 flexlm 文件

问题:
这个错误是运行 lmgrd 命令时出现的, 找不到 /usr/tmp/ 目录下的日志文件 .flexlm

错误提示:

8:20:41 (lmgrd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory)
8:20:41 (lmgrd) Can't make directory /usr/tmp/.flexlm, errno: 2(No such file or directory)
8:20:41 (lmgrd) Can't open /usr/tmp/.flexlm/lmgrdl.17205, errno: 2 
license manager: can't initialize
8:20:41 (lmgrd) Can't remove statfile /usr/tmp/.flexlm/lmgrdl.17205: errno No such file or directory 

解决:
网上搜到的答案里说这个错误不应该影响 license 的检查, 为了解决该问题可以创建缺失的目录或者向下面这样的符号链接

$ sudo ln -s /tmp /usr/tmp

参考:
Can’t make directory error in FLEXlm log file on Linux


不能连接证书服务器

问题:
还是 lmstat 或者 lmgrd 命令时,会出现找不到证书服务器的错误, 错误代码是 SEC-12

错误提示:

Unable to obtain feature 'Design-Vision ' because:
Error: Can't communicate with the license server. (SEC-12)
Please contact  at root@(none), who is
your local Synopsys license administrator for Synopsys site 000.
Unable to obtain feature 'Design-Analyzer ' because:
Error: Can't communicate with the license server. (SEC-12)
Please contact  at root@(none), who is
your local Synopsys license administrator for Synopsys site 000.
Fatal: At least one of the following must be enabled : Design-Vision, Design-Analyzer. (DCSH-10)

# lmgrd-c /usr/synopsys/license/synopsys.dat -l ~/syn_lic.log 
# 运行命令后的日志中有如下提示
23:40:17 (lmgrd) The license server manager has found no vendor daemons to start
23:40:17 (lmgrd)  (There are no VENDOR (or DAEMON) lines in the license file),

解决:
这个问题是由于 license 中 VENDOR 设置不正确, 也可能是创建 license 时没有选择 use Deamon 选项, 那么就不会生成有关 VENDOR 的内容, 修改 license 文件增加如下内容。

# PATH_TO_SCL 指 scl 安装路径
VENDOR snpslmd PATH_TO_SCL/linux/bin/snpslmd

参考:
装DC有点问题请教一下大神


参考

Ubuntu 系统下 Synopsys VCS DC PT 安装文件下载及安装破解方法
我是参考上面这个教程安装的,安装那块写的不是很清楚。 DC VCS PT 的安装方法是一样的,注意先安装 common 包, 再装 linux,最后 amd64 (这个不装一般也没问题,就是 64 位程序)。

破解这块教程中说不要勾选 use Daemon,结果生成的 license 里没有 VENDOR, 大家可以试试勾选后是否正确,反正我自行添加也能用了。。。

最后有一点特别注意的是,我参考这个教程给的 PTS_2011 安装后启动时崩溃, 后来下载了 PTS_2009 安装成功,不知道是因为 installer 版本低还是我系统的缘故。 我的系统是 ubuntu 14.04 LTS (64-bit) 内核 3.13.0-80-generic

祝顺利 O(∩_∩)O

]]>
Docker 入门教程学习笔记 2016-03-08T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2016/3/note-of-docker-introductory-tutorial 本文是学习 docker 入门教程 的笔记,是对于原有教程的学习过程的总结记录,
并对于学习中遇到的问题进行了解决,更具有实践性,但是解释偏少(可以看原文)。
这个笔记只是非常基础的部分,而且 docker 发展迅速,
故还有很大的整理、扩充空间,目前只是适合初学者简单了解之用途。


简介

Docker - 轻量级容器,可以轻易实现生产环境部署。

应用场景:

  • web 应用自动化打包、发布
  • 自动化测试和持续集成、发布
  • 在服务型环境中部署和调整数据库或者其他的后台应用
  • 搭建自己的 PaaS 环境

Docker 组成:

  • 服务端: 服务进程,管理所有容器
  • 客户端: 服务端的远程控制器

一般服务端和客户端在同一台机器上运行。

查看 docker 版本:

$sudo docker version

使用 shadowsocks

请注意该部分的前提是已经有可用的 shadowsocks 代理,
如果尚不具备请先谷歌了解,已有很多教程。
或者可以采用其他方式提供 socks5 代理,即可按照如下步骤进行配置;
或者可以采用其他方式提供 http 代理,则只需要从第 4 步开始配置。

1.安装 privoxy 将 socks5 代理转换为 http

$sudo apt-get install privoxy

2.配置代理

$sudo vi /etc/privoxy/config

# 找到并修改如下内容
1314            forward-socks5   /    127.0.0.1:1080 .  # socks5 代理地址
761             listen-address  localhost:8118          # http 代理地址
761             listen-address  0.0.0.0:8118            # 局域网共享

3.重启 privoxy 服务

$sudo service privoxy restart

4.配置 docker 代理

$sudo vi /etc/default/docker

# 找到并修改如下内容
10               export http_proxy="http://127.0.0.1:8118"

5.重启 docker

$sudo service docker restart

Reference:
shadowsocks Privoxy 实现 socks5 代理转 http 代理
docker 创建私有仓库


获取镜像

1.检索镜像

两种方式:

$sudo docker search MIRRORNAME

注意:

  • 镜像名称可以是名称的部分内容,不一定是全称。
  • 错误

Error response from daemon: Get https://index.docker.io/… TLS handshake timeout

这是因为 docker 服务器连接不稳定导致超时,可以尝试重复运行指令。
如果已经按照上一节配置好代理,则一般不会出现此问题,除非代理非常不稳定。

2.下载镜像

镜像名称:

  • 一般镜像: 用户名/镜像名
  • 基础镜像: 镜像名

基础镜像是指经过官方验证,值得信任的镜像,比如 Ubuntu。

下载命令:

$sudo docker pull learn/tutorial
# 或者
$sudo docker pull ubuntu

使用容器

1.在容器中运行 Hello, world!

Docker 容器可以视为沙盒,包括的资源有文件系统/系统类库/shell环境等。
沙盒默认不允许程序,在沙盒中运行一个进程以启动一个容器,该进程是容器的唯一进程。

运行容器的命令:

$sudo docker run learn/tutorial echo "Hello, world!"

2.在容器中安装程序

learn/tutorial 镜像基于 ubuntu,所以可以运行 apt-get 命令来安装程序。
容器停止后,对于容器的修改不会丢失

$sudo docker run learn/tutorial apt-get install -y ping

默认情况下容器无法和命令行交互,因此需要使用 -y 参数确认安装程序。
否则容器会一直等待用户确认是否进行安装,而无法结束。

注意:
学习到这里发现描述与实践不相符,不使用 -y 参数也可以安装 ping,
而且容器停止后并没有保持安装结果,再次运行无法使用 ping 命令。
下一节说明了如何解决该问题


生成与发布镜像

1.保存镜像

在容器中运行命令,发生了对其的修改之后,需要使用 commit 命令建立新的镜像版本。
直接使用原有的镜像名是无法看到对容器的修改的。

$sudo docker ps -l                       # 查看已有的容器 ID
$sudo docker commit 123abc learn/ping    # 指定 ID 号和新的名称即可
$sudo docker run learn/ping ping         # 查看运行效果

注意:
commit 可以指定与原有镜像相同的名称来替换掉原有的镜像,
指定不同的名称来生成新的镜像或者实现重命名。

2.检测镜像状态

使用 ps 参数查看当前运行中的镜像,或者使用 ps -l 查看所有镜像,
然后使用 inspect 查看容器的详细信息。

$sudo docker ps
$sudo docker inspect 123abc

3.发布镜像

发布镜像方便自己和他人使用。
注意:
只能将镜像发布到自己的账号名称之下,也就是镜像名中包含的用户名部分要与自己的一致。

$sudo docker images                       # 查看所有安装的镜像
$sudo docker commit 123abc besky/ping     # 利用 commit 重命名镜像
$sudo docker rmi IMAGEID                  # 删除已有镜像
$sudo docker rm  123abc                   # 如果删除镜像时显示被容器占用,可以先删除容器。

$sudo docker login                        # 登陆远程仓库
$sudo docker push besky/ping              # 推送指定镜像

总结

镜像是以及准备好的环境,可以是操作系统,也可以是一个小程序。
容器是运行镜像的环境,容器与镜像的关系类似于进程之于程序。
每当镜像运行时,启动一个容器,使用 commit 可以保存容器的状态到一个镜像。
学习到的命令有: (默认省略 docker

命令 参数 解释
version   查看 docker 的版本等信息(client + server)
search image 搜索含有参数指定镜像名的镜像
pull user/image 从仓库获取镜像
run user/image 运行镜像
ps -l 查看运行中的容器,-l查看所有容器
inspect id 查看指定容器的状态
commit id user/image 将指定容器保存成指定镜像
images   查看所有安装的镜像
rmi user/image 删除指定镜像
rm id 删除指定容器
login   登陆镜像仓库
push user/image 推送镜像到远程仓库,注意用户名是否一致

注意:
上表中 id 均指容器的 ID,user/image 指镜像名称,对于一些镜像可能只有 image
更多的功能可以使用 docker 或者 man docker 命令查看。


Reference

Docker 入门教程

]]>
vim plugin -- vim-youdao-translator 2015-12-25T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2015/12/vim-plugin--vim-youdao-translator 准备工作

最近浏览器的标签页越来越多了,是时候总结一下,关几个页面了。。。>_<

coding 时要的是顺畅啊,不知道变量名的英文怎么拼去查字典也太逊了。还好,万能的 youdaodict 来了,感谢插件作者 ianva。

Github: ianva / vim-youdao-translator

安装十分简单,Github 的教程言简意赅。下面说说用 Vundle 的安装方法。


安装

1.编辑 .vimrc 配置文件

" youdao dict
Plugin 'ianva/vim-youdao-translater'
let mapleader=','
vnoremap <silent>t <Esc>:Ydv<CR>
nnoremap <silent>T <Esc>:Ydc<CR>
noremap  <leader>t :Yde<CR>

简单解释一下:
首先告诉 Vundle 要安装 Github 上的插件,用户名是 ianva,仓库是 vim-youdao-translator。
然后将 leader 键映射为 ,
视图模式下使用 t 查找当前选用的词
普通模式下使用 T 查找光标所在的词
非编辑模式时可以用 <leader>t 输入要查找的单词,这里就是用 ,t

2.打开一个新的 vim 窗口,然后输入 :BundleInstall,安装插件

3.没有第三步了,安心 coding 吧 :-)


相关资料

这里还有些关于 vim 配置的介绍,可以看看 ~
foocoder - 各种 vim 资料
vim configure guide
Vim 常用插件和键位映射配置
VIM :map - 很全的 vim 知识

]]>
Do not go gentle into that good night 2015-12-23T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2015/12/do-not-go-gentle-into-that-good-night Do not go gentle into that good night
Old age should burn and rave at close of day
Rage, rage against the dying of the light

Though wise men at their end know dark is right
Because their words had forked no lightning they
Do not go gentle into that good night

Good men, the last wave by, crying how bright
Their frail deeds might have danced in a green bay
Rage, rage against the dying of the light

Wild men who caught and sang the sun in flight
And learn, too late, they grieved it on its way
Do not go gentle into that good night

Grave men, near death, who see with blinding sight
Blind eyes could blaze like meteors and be gay
Rage, rage against the dying of the light

And you, my father, there on the sad height
Curse, bless, me now with your fierce tears, I pray
Do not go gentle into that good night
Rage, rage against the dying of the light

Dylan Marlais Thomas, born October 27, 1914, in South Wales, was the archetypal Romantic poet of the popular American imagination—he was flamboyantly theatrical, a heavy drinker, engaged in roaring disputes in public, and read his work aloud with tremendous depth of feeling and a singing Welsh lilt.

]]>
那些值得收藏的 github 仓库 2015-04-18T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2015/4/stared-github-repositories 最近重回 Linux 怀抱,发现不少好软件,其实在 Linux 下的好软件不少,就像 WP 一样,找找总还是有的,而且原先恼人的依赖冲突问题在更换软件源之后几乎没有了,安装神马的用命令比 win 下一直点 next 还要操心流氓软件问题的过程爽了不知多少倍。

当然,要说最大的自由软件仓库,非 github 莫属。下面把找到的好东东总结一下:


开发工具

  • ……

学习工具

  • wiznote 为知笔记
    为知笔记是一款类似于印象笔记的多平台笔记软件,这里我想强调一下,虽然是类似于印象笔记,只是觉得印象名气大一点而已,要说哪个更好,我倒是倾向于前者,至于为什么,见下文。

为知笔记支持 win / mac os / linux / android / ios / WP(这个平台上很渣,而且,我手机就是 WP 系统…估计 win10 统一平台之后会好点) / web,此外还有谷歌和火狐浏览器插件,可以说接近全平台了,而且 Linux 版的界面也很漂亮,这个看脸的世界需要的就是颜值啊。而印象笔记,我刚刚特地查证,官网显示 “印象笔记目前不支持Linux”,虽然有网页版,还是否了。

为知笔记支持 markdown 语法,注意笔记名称结尾使用 .md 就能开启 md 语法支持。而印象笔记只能通过马克飞象曲线救国了。这个对于喜欢用 markdown 写博客的我来说太重要了。

为知笔记的浏览器插件可以剪辑网页,支持网页内容的识别,效果不错,而先前用印象剪辑网页时直接保存个网页链接,太暴力血腥了……至于现在怎么样,很久没试了,不能断言,不过估计好不了多少。

为知笔记个人用户完全免费,还有 VIP 服务,不过现在完全够用,不限流量。印象笔记每月 30MB 流量限额,虽然没有用完过,还是不爽,太小气了。

虽然印象的 WP 客户端做得不错,不过之前用的时候崩溃过,丢过几次笔记,所以后来使用时都是战战兢兢的。好吧,不能再说下去了,否则真成广告了,最后要说一点的是,wiz 的 Mac / Linux 版本采用 GPLv3 证书,有木有整个世界都有爱的感觉!

Github 仓库
为知笔记官网

  • 有道词典(第三方)
    Github 上的介绍很简单——这时一个 linux 系统上的有道客户端。在 linux 上看英文 pdf,英语渣,查单词太累,这个词典正好支持划译,就连选择软件的功能都是通过“划译”,真是把划译做到底的节奏。该软件由西电开源社区开发,西电……

Github 仓库


其他仓库

  • ……
]]>
安装 rails 时 gem install 失败的解决办法 2015-04-15T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2015/4/sulotion-of-gem-bundle-error 由于我们处于一个大的“局域网”中,使用 gem 安装 rails 时经常会连接不到源,导致安装失败。这时候要么找梯子,要么就换个源吧。

By the way, 如果安装软件时经常遇到依赖错误,并且更换过 linux 系统的更新源,建议重新找一个更新源,比如 sohu 的,也许就解决了 ^_^ 。

下文综合了几个网页的内容,总结了由于源错误造成 gem install 以及 bundle install 失败的解决办法。


错误示例

比如安装时出现如下错误提示:

ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:  
Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)  
ERROR:  Possible alternatives: bundler  

更换源

这里在 linux 命令行中跟换淘宝提供的源:

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***
	
https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
$ gem install rails

如果你是用 Bundle (Rails 项目)

source 'https://ruby.taobao.org/'
gem 'rails', '4.1.0'
...

注: 这个操作我没有成功,采用下述方法修改成功(原因不深究了,比较懒,能用就好,不是吗 ^_< )。

这里需要做额外修改,是因为使用 rails new 生成新的项目时,生成的 Gemfile 中的源地址是 rubygems.org 官方源,而且总会自动运行 bundle install,所以需要修改 rails 库中的 application generator 中的 Gemfile 模板,将其中的 source 选项的值改为: http://ruby.taobao.org

找到 applocation generator 中的 Gemfile模板的位置:

cd "$(gem environ | gawk '/INSTALLATION DIR/{print $4}')"
cd ./gems/railties-*/lib/rails/generators/rails/app/templates
vim ./Gemfile

分别把 Gemfile 的 source 改为 ‘http://ruby.taobao.org’ :

这里参考如下三个 Gemfile 的目录,最好找到另外两个 Gemfile 目录,并将 source 进行修改:

~/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/bundler/templates/Gemfile
~/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.1/lib/rails/generators/rails/app/templates/Gemfile
~/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.1/lib/rails/generators/rails/plugin_new/templates/Gemfile

我使用的是 rails 是 4.1.2 版本,没有找到上述第一个目录,第二个和第三个目录中的 Gemfile 都修改后,执行 ‘bundle install’ 正常。


更多内容

更多内容,包括 ruby 源码镜像等,请参考引用网页:

RubyGems 镜像 - 淘宝网
设置 Rails 生成的 Gemfile 中的 gem 源默认为 ruby.taobao.org
修改默认的 Gemfile
如何解决国内安装gem的问题

]]>
树梅派2 Raspbian 系统安装 Kodi/XBMC 2015-04-11T00:00:00+00:00 Beyondsky http://blog.thecrescent.top/2015/4/install-kodi-on-pi2b-with-raspbian 手头有一个树莓派,为了简单直接使用 raspbmc 系统,用作下载机加视频播放系统,外加 git 仓库等等,后来入手树莓派2B(pi2b,注意这里2b指的是2代B版,即4核芯、1GB内存版本),感觉性能强大不少,所以决定使用更完善的 raspbian 系统,但是在安装 Kodi(原名 XBMC,多媒体软件)时遇到麻烦(比如依赖冲突、视频驱动等问题),找了很久,在 Kodi 的 wiki 上找到安装教程,算是官方教程,并还算顺利的安装上,故拿来分享。(英语渣,表介意 :D) 原文地址:XBMC for Raspberry Pi


这个页面介绍如何在运行 Raspbian 系统的树梅派上安装 XBMC。你既可以选择在已有设备上安装软件包,也可以下载一个预生成镜像文件来烧写到一张 SD 卡上。

在已有设备上安装

我已经释出了一个归档文件(archive),里面包含有 Kodi/XBMC 的软件包和一些必要的依赖环境。你可以在已有的 Raspbian 系统设备(包括基金会镜像(foundation image))上安装它。

安装

  1. 最简单的安装方法是在你的系统中添加我的归档文件。首先在 /etc/apt/sources.list.d/mene.list 文件中添加并保存如下内容:

    deb http://archive.mene.za.net/raspbian wheezy contrib
    
  2. 并导入存档签名密钥:

    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
    

    注:这里我(译者)没有成功,但是不添加密钥也能正常安装,只是会有警告而已。

  3. 之后更新软件包列表:

    $ sudo apt-get update
    
  4. 接下来你就可以像平时安装软件那样,来安装它了。例如,使用 apt-get 命令:

    $ sudo apt-get install kodi
    
  5. 运行 Kodi 的用户(user)需要是以下用户组(groups)的成员:

    audio video input dialout plugdev tty
    

    注:这里按原意理解,指该用户需要是上述所有用户组的一员,而不是其中某一个用户组的一员。

  6. 如果没有 input 用户组,你需要者创建它:

    $ addgroup --system input
    
  7. 然后设置一些 udev 规则以保证它有输入设备的使用权(否则在 Kodi 下键盘将无法工作)。方法是将如下内容添加到 /etc/udev/rules.d/99-input.rules 文件中:

    SUBSYSTEM=="input", GROUP="input", MODE="0660"
    KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"
    
  8. 为了运行 XBMC,GPU(图形处理器)至少需要 96MB 的内存。进行此项配置需要在 /boot/config.txt 文件中添加或者修改以下内容:

    gpu_mem=128
    

    如果改变了这个值,你需要重启设备:

    $ sudo reboot
     或:    
    $ sudo shutdown -r now
    

运行

要运行 XBMC,可以从一个虚拟终端(VT)(例如,不在 X 下,X 是 linux 的图形系统)上运行 kodi-standalone。XBMC 之间进行显示输出,而不是通过图形系统(Xorg)。

如果你想让系统启动时自动运行 Kodi,编辑 /etc/default/kodi 文件,将 ENABLED 的值改为1

ENABLED=1

注1:最好在确定键盘能够在 Kodi 下使用后再设置开启自启动,否则…

注2:有时候从 Kodi 退出后一直黑屏,可以使用 Ctrl + Alt + F7 切换控制台,其中 F7 为图形界面,其他为命令行界面。

运行 sudo service kodi start 来进行测试。如果该测试启动了 Kodi,说明配置正确。

发布记录

  • 14.1-1: Helix 14.1 release
  • 14.0-1: Helix 14.0 release.
  • 13.1-2: Link to libshairplay for better AirPlay support.
  • 13.1-1: Gotham 13.1 release.
  • 12.3-1: Frodo 12.3 release.
  • 12.2-1: Frodo 12.2 release.
  • 12.1-1: Frodo 12.1 release. Requires newer libcec (also in my archive).
  • 12.0-1: Frodo 12.0 release. ~This build requires newer firmware than the raspberrypi.org archive or image contains. Either install the packages from the raspberrypi.org untested archive, the twolife archive or use rpi-update.~ (Not necessary as of 2013/02/11.)

使用预生成镜像烧写一张SD卡

我已经构建了一个镜像,它包括了一个装有 XBMC 软件包的 Raspbian 系统,你可以直接下载并烧写到一张 SD 卡上。你需要一张 1GB 容量的 SD 卡(当然更大也是可以的)(这张卡将被完全擦除)。

烧写

  1. 使用 unx 命令解压缩镜像:

    $ unxz raspbian-xbmc-20121029.img.xz

  2. 之后,复制镜像到 SD 卡设备(确保你选择的是正确的设备名称!)。

    $ sudo cp xbmc-20121029-1.img /dev/sdb

    注:这里 sdb 指的是你的 SD 卡设备,如果你不清楚上述命令究竟做了什么,建议先去查查资料,否则这个操作有可能把你的硬盘擦除!

定制

这个镜像使用与基金会镜像(foundation image)相同的凭证,用户名:pi,密码:raspberry。你可以使用 raspi-config 工具扩展根文件系统,开启超频以及其他各种配置工作。

更新

Raspbian 和 Kodi 都可以使用普通的 Debian 机制来进行更新,比如 apt-get 命令:

$ sudo apt-get update
$ sudo apt-get dist-upgrade

发布记录

  • 20150208: torrent magnet Contains 14.1-1, and should work on Raspberry Pi 2.
  • 20150112: torrent magnet Contains 14.0-1.
  • 20140614: torrent magnet Contains 13.1-2.
  • 20131228: torrent magnet Contains 12.3-1.
  • 20130708: torrent magnet Fixes alphanumeric keyboard input.
  • 20130528: torrent magnet Contains 12.2-1.
  • 20130212: torrent magnet Contains 12.0-1.
  • 20130106: torrent magnet Contains 12.0~git20130102.7a6cb7f-1, and wireless support.
  • 20130101: torrent magnet Contains 12.0~git20121219.74b907c-1: Frodo RC2.
  • 20121121: torrent magnet Contains 11.0~git20121114.25bb46a-1: Frodo Beta 1.
  • 20121029: torrent magnet
  • 20121021: torrent magnet

不稳定版

我已经为即将到来的一系列(Helix)发布开始构建软件包。它们在归档文件中的新的 unstable 区域。要安装这些软件包,按如下内容更新你的源列表(source list):

deb http://archive.mene.za.net/raspbian wheezy contrib unstable

发布记录

  • 14.0-1: Helix 14.0 release.
  • 14.0~git20141203.35b4f38-1: Helix 14.0 RC 2
  • 14.0~git20141130.ea20b83-1: Helix 14.0 RC 1
  • 14.0~git20141125.4465fbf-1: Helix 14.0 Beta 5
  • 14.0~git20141124.ec361ca-1: Helix 14.0 Beta 4
  • 14.0~git20141116.88a9a44-1: Helix 14.0 Beta 3
  • 14.0~git20141103.d6947be-1: Helix 14.0 Beta 1. This requires firmware as of 2014/10/06 and libcec 2.2.0 (both included in the archive). There are also builds for Jessie but I haven’t tested them. PVR addons are also updated.
  • 14.0~git20141002.d2a4ee9-1: Helix 14.0 Alpha 4

文中斜体文字都是译者所加。如果遇到什么问题,可以访问原文,原文网页下方有评论,可以看看自己设备上出现的问题是否在内。顺便一提,这篇文章是在树梅派2上翻译的,二代小派的性能确实强悍。:D

]]>