2014年2月26日星期三

Windows XP 已死,桌面用户的出路?

再过约两个月,2014年4月8日,Windows XP 就要寿终正寝了。这是大快人心的事。

为什么要赶紧升级?

一旦 Windows XP 停止安全支持,发现了漏洞就没有补丁来修复。仍然安装 Windows XP 的电脑届时可能容易中毒或容易被攻击。更严重的是,有的黑客团队已经发现了 Windows XP 中的一些漏洞,但是没有公布。一旦 Windows XP 停止支持,他们就会公布这些漏洞并利用这些漏洞来攻击还没有来得及升级的用户。

升级到什么?

三个选择,第一个是升级到更熟悉的 Windows 7,喜欢尝新的用户可能想直接升级到 Windows 8 或者 Windows 8.1,喜欢另一种清新空气的可以去尝试 OS X 和 Linux。
我 StarBrilliant 作为重度 Linux 用户,当然要宣传一下【连续开机一年不崩溃也不算奇迹、通过软件中心一键安装更新卸载几乎所有软件、关键操作需要授权、几乎不会中病毒、除了N卡驱动开箱即用的】Linux 操作系统咯。愿意入坑的推荐第一年尝试 Ubuntu(莫装中国特别定制版 Kylin)和国产 LinuxDeepin(开发者都很用心,虽然这货不是“完全自主产权”哦)。

XP 之死,对办公人员有什么好处?

随着 Windows XP 一起停止支持的还有 Microsoft Office 2003。所以各位办公人员再也不用担心自己的 docx 文件无法被接收方打开了。
而且,Windows XP 中的长城楷体_GB2312 和长城仿宋_GB2312 和新版 Windows 的中易楷体、中易仿宋不兼容。新版 Windows 制作的文档,即使格式没有问题,在 Windows XP 上也有可能出现字体错乱的现象。如果 Windows XP 死了,这个问题就会缓解了。(不得不吐嘈无论是长城还是中易,两家公司的字库质量真的难以让人满意)

XP 之死,对网上冲浪有什么好处?

随着 Windows XP 一起停止支持的还有 Microsoft Internet Explorer 6.0。对,就是桌面上那个深蓝色的e图标。IE 6.0 是 13 年前发布的浏览器,现在已经过时了,不支持各种最新的技术。但是 Windows XP 的高普及度,现在的网站不敢使用更新的技术,害怕不能用 IE 6.0 打开。如今 Windows XP 停止了支持,我预测在将来的很短时间内,很多网站要改头换面,采用最先进的技术和最前卫的设计呢。

XP 之死,对计算机安全有什么好处?

Windows XP 没有 UAC 权限管理,如果执行了恶意程序,很容易造成很大的破坏。Windows Vista 之后带来的 UAC,虽然不能完全防止中毒,但是也是有一定积极作用的。

可是 Windows XP 我已经用习惯了,能不能不更新到 Windows 7 / 8 呢?

当年 Windows 98 停止服务支持的时候大家也是这么说的。

还有呢……

这次 Windows XP 的停止更新对各位男孩子们是最好的机会啊。
还在读大学的、会装系统的,还不快帮妹子装系统!

这文章,如果大家喜欢,就转了吧,别忘了标识原作者是 StarBrilliant;如果不喜欢,请在下方留言告诉我改进的建议。

版权信息:本文以 Creative Commons 3.0 BY 发布。

2014年1月27日星期一

在 Minecraft 中输入中文的辅助工具

众所周知,Minecraft 中聊天时无法输入中文,于是我写了这个工具,下载地址:

使用方法:

Linux:

依赖项:zenity, xclip, xdotool
在您的桌面环境提供的控制面板中,添加一组快捷键,比如 Super+T,来启动 minecraft-chat-helper.sh 脚本。
当进行 Minecraft 游戏的时候,按 Super+T,输入聊天内容并点击确定。

Windows:

依赖项:Windows Internet Explorer
在任意文件夹创建一个指向 minecraft-chat-helper.vbs 的快捷方式。右击,打开属性对话框,添加一组快捷键,比如 Ctrl+Shift+Alt+T。
当进行 Minecraft 游戏的时候,按 Ctrl+Shift+Alt+T,输入聊天内容并点击确定。

局限性:

在 Windows 上,您不能打开两个标题都含有“Minecraft”字样的窗口。

版权:

程序源代码以 MIT 许可协议发布。原作者是 StarBrilliant。转载请署名。

2014年1月26日星期日

su/sudo 后启动 screen/tmux

在 Linux 系统中,如果用 su 或者 sudo 命令切换到另外一个用户,再试图启动 screen 或 tmux 会出现错误:
Cannot open your terminal '/dev/pts/1' - please check.
解决方法是,在 su 或者 sudo 之后执行以下命令再启动 screen 或 tmux:
script /dev/null

用中州韵输入法引擎的仓颉五代方案输入简体字词语

中州韵输入法引擎(中州韻輸入法引擎)是开源、高效、订制性强的中文输入法,支持 Linux、OS X、Windows 桌面操作系统,其 OS X 版本称为鼠须管,Windows 版本称为小狼毫。
自带仓颉五代(倉頡五代)、明月拼音(朙月拼音)等输入方案。其中,明月拼音有简体字模式,可以很方便地输入中国大陆通行的简体字。
而仓颉输入法,作为形码输入法,可以用同一种输入法来同时输入大陆简体汉字、香港繁体汉字、台湾正体汉字、日本汉字等多种不同地区通行的汉字。但是中州韵自带的仓颉五代只包含香港繁体的词语库,也就是说即使可以输入简体字,也无法输入简体词语。
于是我在 lyc20041 的帮助下订制了仓颉五代简体字词库,利用现有的繁体词库转换出简体词库。
请各位到我的 GitHub 的 rime-cangjie-zh_hans 仓库中找配置文件,释放到中州韵的配置文件夹下(Linux 是 ~/.config/ibus/rime 或者 ~/.config/fcitx/rime,取决于你使用的输入法框架)。
然后需要创建词库文件,准备好 OpenCC 和 essay.txt(运行时会提示你下载的)
在生效之前,还需要创建一个配置文件 default.patch.yaml,如下:
patch:
  schema_list:
    - schema: luna_pinyin_simp
    - schema: cangjie5_simp
这样就启用了“明月拼音·简化字”和“仓颉五代·简化字”两款输入法方案。点击“重新部署”按钮即可生效,Ctrl-` 或 F4 快捷键切换之。

顺便介绍一下仓颉输入法,这是朱邦复先生发明的自由版权的中文输入法。仓颉输入法发布的第二年 GNU 项目才成立。朱邦复先生的类似“自由软件”的思想可谓是超越时代潮流。博主学习仓颉输入法,一是为了方便输入生僻字(任何汉字都可以用最多五个仓颉字母打出),二是为了瞻仰朱邦复先生的发明。如果你也有兴趣学习它,可以尝试熟记巧背仓颉输入法易颉官方网站的仓颉三代教学

2014年1月4日星期六

Linux下流畅地录屏

用过很多Linux下的录屏工具,基本分成三类,FFmpeg 后端、GStreamer 后端、自己实现后端。有很多录屏软件让我不满意。有的在高分辨率下有很严重的跳帧问题,最终导致音画不同步。有的不支持录制系统的声音。还有的没有精细的配置功能。而且,我希望能够输出无损压缩的媒体格式,便于后期处理。
分享我的屏幕录制命令如下:
sleep 5; ffmpeg -y -f x11grab -s 1920x1080 -framerate 30 -i :0 -vf 'setpts=(RTCTIME-RTCSTART)/(TB*1000000)' -c:v libx264 -profile:v high444 -preset:v veryfast -qp:v 0 -pix_fmt yuv444p screencast.mkv
要注意以下几点:
-s 1920x1080 换成自己的屏幕分辨率,
-framerate 30 换成录屏的帧率,
-i :0 换成当前的 $DISPLAY 环境变量值,
-i alsa_output.xxxxxxxxxxxxx.0.analog-stereo.monitor 的参数,请看下面。
这样录制下来的视频文件是 H.264 YUV444P 无损的,便于后期剪辑。如果要分享到互联网,请在二次压制的时候加上 -pix_fmt 420p,因为很多网络媒体播放器不支持 YUV444P。sleep 5 是给自己准备最小化终端窗口的时间。

录制系统声音

再加一个 PulseAudio 的输入:
sleep 5; ffmpeg -y -f x11grab -s 1920x1080 -framerate 30 -i :0 -f pulse -i alsa_output.xxxxxxxxxxxxx.0.analog-stereo.monitor -vf 'setpts=(RTCTIME-RTCSTART)/(TB*1000000)' -af asetpts=N/SR/TB,apad -shortest -c:v libx264 -profile:v high444 -preset:v veryfast -qp:v 0 -pix_fmt yuv444p -c:a flac screencast.mkv
-i alsa_output.xxxxxxxxxxxxx.0.analog-stereo.monitor 的获取方法如下:
执行 pactl list | grep -A2 'Source #',会看到如下两行(如果你只有一块声卡的话):
Source #0
        State: IDLE
        Name: alsa_output.xxxxxxxxxxxxx.0.analog-stereo.monitor
--
Source #1
        State: SUSPENDED
        Name: alsa_output.xxxxxxxxxxxxx.0.analog-stereo
Name 后面有 .monitor 的表示系统声音,另一个表示麦克风。

音画同步问题

如果出现音画不同步,请尝试 -af 指定以下几种参数的组合:
-af aresample=async=1
-af asetpts=N/SR/TB,apad -shortest
-af 'asetpts=(RTCTIME-RTCSTART)/(TB*1000000)'

跳帧问题

如果遇到跳帧,可以适当降低帧率,设置 -threads auto;或者将 -preset:v veryfast 换成 -preset:v ultrafast;或者试试看 FFv1、FFvHuff、HuffYUV 等无损编码器和 MPEG1Video、MPEG2Video、MJPEG 等复杂度低的编码器,或者把音频编码器换成 pcm_s16le;或者换用 MPEG-TS、FLV 等容器格式。
还可以试试看 Apple ProRes 编码器。它有着很快的速度和接近无损的效果。FFmpeg 自带三个 ProRes 编码器(proresprores_awprores_ks)和两个解码器(proresprores_lgpl)。这些编解码器性能不同,功能各异,请自己尝试参数配置。
如果录屏让你的 SCSI 硬盘不堪重负,请检查 SCSI 控制器是否在 AHCI 模式而不是 IDE 模式。(如果你已经安装了 Linux 或 *BSD 以外的系统,请不要修改 SCSI 模式;我的 7200rpm 笔记本电脑硬盘在 IDE 模式下只有 25MiB/s 的写入速度,而切换到 AHCI 模式下有 90MiB/s 写入速度。)
如果有以上方法都不能解决的音画同步问题,建议使用两个独立的 FFmpeg 进程来分别录制图像和声音。但是会带来后期处理的麻烦。

后期压制

将输出的 screencast.mkv 压制成 MP4 输出并分享到网络,可以用类似这样的命令:
ffmpeg -i screencast.mkv -movflags +faststart -c:v libx264 -profile:v high -level:v 4.1 -preset:v veryslow -b:v 4096k -pix_fmt yuv420p -c:a libfdk_aac -profile:a aac_he -b:a 256k my_screencast.mp4
其中 -c:a libfdk_aac 根据自己的 AAC 编码器来修改(但是只有 libfdk_aac 支持 -profile:a aac_he,而且质量最好),如果不知道自己装了哪些编码器,就依次尝试:
-c:a libfdk_aac
-c:a libfaac
-c:a aac -strict -2
如果 QuickTime/MP4 文件要通过网络分享,建议使用 -movflags +faststart 参数。它把关键数据移动到文件开头,有利于缓冲。

2013年11月15日星期五

Linux下用Mencoder转录VCD

有一些 VCD 光碟在 Windows 下可以直接通过复制 /MPEGAV/AVSEQ*.DAT 来转录。而到了 Linux 下面会发现有时可以,有时不可以。
那么,既然 MPlayer 可以播放 VCD,Mencoder 就可以转录 VCD。
用下面的命令:
mencoder -o AVSEQ01.mpg -of mpeg -ovc copy -oac copy vcd://1
斜体字的“01”可以提换成轨道编号。

送给有需要的人。

2013年11月8日星期五

与Ripple XRP有关的垃圾邮件

自从 Ripple 向所有有资格的 GitHub 用户赠送 2020 XRP 的活动开始之后,我收到了各种不请自来的邮件想让我把这 2020 XRP 送给他们然后返还我 ¥30……
摘录两则:
于 2013年10月29日 20:32, z******@sina.com (MD5: bfd8b2538b0aacaabebdd403a75feaff) 写道:
> 你好!
> ripple在github上做活动,每个在5月1日之前注册github账户并有代码的,都可以
> 获得ripple。 活动时间可能马上就要结束,如果你拿ripple没有什么用,你可以
> 免费按照以下步骤几秒钟获取,然后将将获取的代码回复邮件给我,我给你30元烟
> 钱补偿。谢谢!也可以加qq1123969311详细询问。
> 1:访问:https://giveaway.ripple.com/
>
> 2:登录github帐号
> 3:
> 1):在Ripple address中填入rEeUEELwP2qX42kegfY6itmBp4K5rmPELS 然后点击下
> 面的按钮,生成code(会获得一大堆字符串)
>
> 2): 将生成后的code和你的支付宝帐号发送到 我这个邮箱地址。
> 我看到了后,就会给你们福利或者折现30元,转账到你的支付宝或者给你们冲手机
> 话费都可以的。
于 2013年11月7日 23:40, c***********@gmail.com (MD5: 0d80e06fe66b8d4ea1e246e6ae160a98) 写道:
> 帐号要求2013年5月1日前注册,并发布过东西
> 任务主要流程:登录github,关注那个开源代码,然后就能生成code了
> 详细介绍文章:
> http://hi.baidu.com/yhtmetxfblbfmuq/item/49a3ca5d61cb7fe6d48bac11
> 如果以上地址访问不了,你还可以试试这个地址:
> http://note.youdao.com/share/?id=ff7bb19251ffa5519cc9ed9e1e01a395&type=note
我就不吐槽“冲手机话费”的错别字了。
你们是在考验程序员的智商么?!
我想不会有很多程序员认为 2020 XRP 和 ¥30 是等价的。
拜托你们以后发不请自来的邮件时请不要暴露你们的智商。

2013年11月3日星期日

Lenovo Y510PT Haswell Linux 启动黑屏解决

昨天在 #archlinux-cn @ freenode 频道,phoenixlzx 求助 Lenovo Y510P Arch Linux 启动黑屏问题
Lenovo Y510PT,核心显卡 i7 Haswell,独立显卡 NVIDIA GT755M,Linux 内核版本 3.11.6。
症状是不光黑屏,而且屏幕没有背光。
Google一番,找到以下两个帖子:
果然是亮度问题!双显卡惹的祸!
解决方法很简单,加入引导参数 acpi_backlight=vendor 即可。

最后想到我自己的 Acer Aspire 4830TG 笔记本,不是亮度锁定在最小,而是亮度锁定在最大,引导参数 acpi_backlight=vendor 没有用,而是需要用引导参数 acpi_osi=Linux。更奇怪的是 felixonmars 的亮度锁定在 30%。如果你的笔记本也有类似的症状,不妨尝试这两个引导选项。
总结一句,这些奇怪的亮度问题只发生在 Intel + NVIDIA 双显卡的笔记本上,所以……
“F**k you NVIDIA!”
—Linus Torvalds

2013年11月2日星期六

Danmaku2ASS离线播放弹幕——弹幕转换为ASS字幕

Danmaku2ASS 截图
Danmaku2ASS 是一个可以转换 Niconico/Acfun/Bilibili 弹幕到 ASS 格式字幕的程序。
使用 Danmaku2ASS,可以使本地的高清视频源和弹幕视频站点的弹幕配合观看。
转换产生的 ASS 格式字幕,被各大媒体播放器(MPlayer、VLC、PotPlayer等)完美支持。你也可以使用 ffmpeg 将字幕压制到视频中。在项目 GitHub 页面有详细的操作说明。
目前 Danmaku2ASS 支持以下站点的弹幕文件格式:
  • ニコニコ動画
  • Acfun
  • 哔哩哔哩动画
  • ひまわり動画
  • tucao.cc
  • 土豆豆泡
  • Komica 彈幕測試版
  • MioMio 弹幕网
  • 所有兼容 niconico 弹幕格式的弹幕网站
  • 所有兼容 MukioPlayer 弹幕格式的弹幕网站
支持的功能有:
  • 可以合并多个弹幕文件
  • 可以自定义字体、字号
  • 可以在屏幕底部预留空白以防止遮挡字幕
  • 可以设置半透明文字
  • 可以自定义文字移动速度
示例用法:
./danmaku2ass -o foo.ass -s 1920x1080 -fn "MS PGothic" -fs 48 -a 0.8 -l 5 foo.xml
但是,目前 Danmaku2ASS 不支持从互联网下载弹幕,也就是说需要另外的软件(如 you-get)将弹幕下载到本地之后才可以导入到 Danmaku2ASS 中处理。
现在 Danmaku2ASS 还没有 GUI,但是开放了一个函数调用接口。欢迎在 Danmaku2ASS 的基础上进行开发。目前 Danmaku2ASS 以通用公共许可证第三版许可协议发布,如有特殊需求可以和我联系取得授权。
另外感谢 niconvert 软件的作者 muzuiget,他给了我创造 Danmaku2ASS 的启发。

最后,希望我的项目能够给大家带来方便,也希望大家在 GitHub 上 star 我的项目,给我更多支持。