让 Linux 里的 .xmind 文件能被双击打开

Felix Yan | 2011-08-04 | 79 views

这其实只是一个简单的小trick :)

ubuntu和arch默认安装的xmind, 如果直接在WM/DE的文件管理器里双击打开, 只会打开一个新脑图, 而不会打开你指定的文件, 这个问题还是相当annoying的. 下面是解决方法:

编辑 /usr/share/applications/xmind.desktop 文件,
找到 Exec= 开头的那一行, 修改为:

Exec=/usr/share/xmind/xmind-bin %f

(如果安装位置不一样请自行修改, 总之一定要是这个-bin的文件, 而不能是直接xmind %f)
(其实很纳闷为啥xmind的策略这么诡异- -)

之后保存退出, 然后xmind文件就能直接打开啦!
不过这样仍然有一个问题: 打开的xmind里会有两个标签页, 一个是你打开的文件, 一个仍然是个新建的脑图, 而且默认焦点在新建的脑图上, 这个还是非常不爽的…希望各路大神提供解决方法 ^_^

参考资料: http://code.google.com/p/xmind3/issues/detail?id=200

我的scrot截图脚本(自动上传imgur并复制链接)

Felix Yan | 2011-07-27 | 125 views

效果: 调用后用鼠标选中一矩形区域, 截图后上传到imgur, 上传成功后复制图片的外链地址到剪贴板, 并弹出系统提示, 然后删除本地保留的临时图片文件.

脚本(其实就一行 – -)

sleep .1; scrot -bs -e 'curl -F "image=@$f" -F "key=486690f872c678126a2c09a9e196ce1b" http://imgur.com/api/upload.xml | grep -E -o "<original_image>(.)*</original_image>" | grep -E -o "http://i.imgur.com/[^< ]*" | xclip -selection c; notify-send "Screenshot has successfully uploaded to `xclip -selection c -o`";rm -f $f' 2> ~/screenshoterr.log

注: 可以把这个脚本绑定到WM/DE的快捷键上, 比如我绑定的是类似QQ的 Ctrl+Alt+A
注2: 不加sleep .1的话, 用KDE快捷键绑定调用的时候存在时不时失灵的问题, 暂不知为什么, 其他环境未测试.

拆解一下scrot自动调用的部分:
上传图片:

  • curl -F "image=@$f" -F "key=486690f872c678126a2c09a9e196ce1b" http://imgur.com/api/upload.xml

提取图片直接外链地址

  • grep -E -o "<original_image>(.)*</original_image>"
  • grep -E -o "http://i.imgur.com/[^< ]*"

Read the rest of this entry »

ArchLinux 小白好奇看 (3)

Felix Yan | 2011-05-05 | 362 views

1, 应用ubuntu的LCD补丁, 让字体不发虚!
从AUR里那高高的投票数就知道这几乎是个must-have feature了`~
使用这货让整个2D渲染都犀利起来, 尤其是中文字, 完全不发虚~~
安装方法:

yaourt -S cairo-ubuntu

一路上会继续自动安装 fontconfig-ubuntu, freetype2-ubuntu, libxft-ubuntu 这么几个带补丁的包(从aur里).
这个包提供了3种可选的优化方案, 可以用下面的方法选用其中一种:

cd /etc/fonts/conf.d/
sudo ln -s ..conf.avail/10-hinting-< 新方案名>.conf ./
sudo rm 10-hinting-< 原方案名>.conf

来实现可选渲染方案的切换.
默认的方案名是 slight, 可选的方案名总共包括: slight medium full

2, 试一试systemd!
首先是安装:

pacman -S systemd arch-systemd-units initscripts-systemd

然后…替换syslog-ng为rsyslog:

pacman -R syslog-ng
pacman -S rsyslog

并编辑rc.conf, 把DAEMONS里的syslog-ngd改为rsyslogd.
然后在/boot/grub/menu.lst里对应启动项的kernel行后面加上

init=/bin/systemd

就行了!
最后…需要配置systemd使用service. 比如我使用kdm, 那么就需要:

sudo systemctl enable kdm.service

在我的测试中, 经过多次反复比较, systemd比upstart启动略快(约1s), 但是启动后有些东东运行不正常(比如USB即插即用).
此外即使我启用了rc-local.service, /etc/rc.local在开机仍然不被执行, 这个也是有些奇怪的 = =
Read the rest of this entry »

Linux 命令行调节屏幕到任意分辨率的 Python 脚本

Felix Yan | 2011-04-29 | 119 views

本猫把一台19寸显示器插在本本VGA插口上, 结果在KDE的分辨率管理界面上发现只能最高选择分辨率到1024×768, 甚是不爽! 于是…写了一个脚本, 以后就可以一步做到啦!
此外: 运行此脚本后, KDE的分辨率管理列表中也会出现运行此脚本的时候指定的分辨率哟!(即使是显示器不支持的)
当然啦, 显卡不支持的分辨率是不会设置成功的…

实现的功能比较简单, 但是很方便, 希望对你也有用~

使用方法:

resolution < 设备名> < 分辨率> [刷新率]

使用示例:

resolution VGA1 1366x768 60
resolution LVDS1 1280x800

Changelog:
2011-4-29 发布第一个版本

下面…就是脚本啦!
Read the rest of this entry »

Apple Magic Mouse 多点触控在 Linux 里的安装与配置

Felix Yan | 2011-04-19 | 165 views

Felix 弄来一只 Apple Magic Mouse 小白, 蓝牙配对上后发现各种scrolling很靠谱, 三键也支持好了, 但是多指动作没有支持…
在各种Google之后, 找到了有人使用 PyMT 来实现 Magic Mouse 多点触控手势的脚本, 由于原脚本(参考资料1)是针对GNOME/compiz的, 而且网上没有靠谱的KDE可用版本, 于是本猫自己Hack了一下…

安装说明:
首先要安装pymt, ArchLinux用户可以直接

yaourt -S pymt

Ubuntu用户可以直接

sudo apt-get install python-pymt

接下来, 配置pymt识别MagicMouse的多点触控:
编辑 ~/.pymt/config
找到 [input] 段, 修改为:

[input]
default = hidinput,/dev/input/event<n>
</n>

上面的<n>需要替换成MagicMouse对应的编号, 可以用下面这个本猫写的挫挫的语句察看:

cat /var/log/Xorg.0.log|grep udev|grep -i apple|grep /dev/input/event

然后, 给这个文件(设备?信号?事件? = =不知道怎么称呼了)加上读属性, 以使得pymt可以用当前用户身份读取:

sudo chmod a+r `cat /var/log/Xorg.0.log|grep udev|grep -i apple|grep /dev/input/event|sed -e 's/.*\(\/dev\/input[^\)]*\).*/\1/'`

至此, 可以认为pymt安装好啦!
测试:

python -m pymt.tools.demo

(arch用户自行改为python2 = =)

接下来…可以试试我的脚本啦!

— Changelog:
2011/4/19 – 第二个版本, 增加了三指上下调节系统音量的功能~~
2011/4/19 – 第一个版本, 仅简单实现了双指Swipe Left/Right 切换虚拟桌面的效果.
Read the rest of this entry »

ArchLinux 小白好奇看 (2)

Felix Yan | 2011-04-13 | 240 views

纠结了一坨东西之后, 忍不住猫爪痒痒继续记笔记- -

1, 首先记下一些有用的从AUR安装的软件包:

aur/aliedit
aur/arpoison
aur/bin32-wine-suse
aur/chromium-browser-bin
aur/dropbox
aur/ffmpeg-mt-git
aur/googlecl
aur/google-talkplugin
aur/hotot-hg
aur/jdownloader
aur/neroaacenc
aur/nginx-unstable
aur/pacfile
aur/ruijieclient
aur/sdcv
aur/uwsgi
aur/vidalia
aur/virtualbox_bin
aur/virtualbox-ext-oracle
aur/winff
aur/x264-git
aur/xmind

安装Arch之前对Arch的印象都是”难装”, 而事实上, 从AUR安装这些不被官方支持的第三方软件, 比Ubuntu等发行版还要容易的多 XD
Read the rest of this entry »

修改 DHCP 超时时间解决 netcfg 无法连接某些Wifi连接的问题

Felix Yan | 2011-04-12 | 159 views

今天公交车堵在路上, 蛋疼的拿出本本开机, 用爪机的Wi-fi hotspot打开了分享, 但是使用wifi-select的时候却提示连接失败…
失败时候的提示类似如下:

:: WirelessLAN up [BUSY]
...
DHCP IP lease attempt failed [FAIL]

经各种测试和纠结后, 后来在Archlinux论坛上找到可行解了:
修改此连接的profile文件, 增加一行:

DHCP_TIMEOUT=30

然后…再连接就可以啦!
(因为Google搜索此问题这个解法并不在最前面, 而且前面的几个解都很ugly而且不好使..于是在此记录一下^_^)

参考资料: https://bbs.archlinux.org/viewtopic.php?id=55901

ArchLinux 使用 netcfg 建立 Ad-hoc 热点共享上网

Felix Yan | 2011-04-12 | 237 views

为这个问题Felix搜索了一圈, 几个页面上的方法各有问题, 结合自己以前使用Ubuntu里dnsmasq的经验, 拼凑起来成功实现了, 于是就留下这篇笔记啦~
netcfg的前期配置这里不再赘述, 有需求的盆友请移步ArchWiki :)

新建Ad-hoc热点样例:

CONNECTION="wireless"
INTERFACE="wlan0"
SECURITY="wep-old"
IP="static"
ADDR="< 本机IP>"
ESSID="< 网络名>"
KEY="s:< 密码>"
PRE_UP="ifconfig wlan0 down; iwconfig wlan0 mode ad-hoc"
QUIRKS=(prescan predown)

如果网卡不一样请修改=.=

这个配置在我这里可以完全正常工作(虽然不知为何建立的网络会多两个双引号= =|||)

接下来配置dnsmasq: 修改/etc/dnsmasq.conf:

no-resolv
no-poll
server=4.2.2.1
server=2001:470:20::2
dhcp-range=192.168.0.100,192.168.0.200,12h
dhcp-option=3,< 本机IP>
dhcp-option=6,< 本机IP>

注意本机IP要和上面的IP段在一个网段哟^_^
最后…至于通用的iptables和sysctl.conf…我就不说啦..哈哈~~~
Read the rest of this entry »

ArchLinux 小白好奇看 (1)

Felix Yan | 2011-04-11 | 303 views

Hello Felix~
于是…在上次愤怒的卸载掉arch几周之后, 我又忍不住伸出猫爪了~~
这次很乖的Follow着wiki安装, 可是某几个问题依旧没有在wiki上得到(能看懂的)答案, 于是在各种折腾之后…算是解决了吧!
在此记录下解决的过程, 以免自己以后忘掉~!

1, KDE英文locale启用ibus输入中文
首先是需求: 我选择的桌面环境是KDE, 而我要让所有的QT和GTK应用程序都能正确调用ibus输入法!
(题外话: 我把dbus @kdm都加到DAEMONS里才可以正常用KDE4的, 这个wiki里貌似没说耶…)
打开 ~/.bashrc, 在前面加上下面几句:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

然后重启X就好啦~

注意: 如果在GTK程序里仍然不行(貌似不是必然的…吧?), 还需要编辑 /etc/gtk-2.0/gtk.immodules, 找到

"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"

替换为

"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"

(也就是让en的locale也能调用啦~!)
Read the rest of this entry »

Ubuntu 命令行调节屏幕亮度

Felix Yan | 2011-03-10 | 252 views

今天本猫的本本突然开机后最大亮度只能调到30%, 各种漆黑一片纠结无比, 感觉有可能是intel驱动的bug(未确定)…
然后…很笨笨的一度以为是高压条灯管之类的出问题了, 直到某次重启发觉引导界面很亮- -
各种Google之后找到一篇blog及其评论里比较详细的介绍了两种命令行调节屏幕亮度的方法 原理不一样.其中的第一种解决了我屏幕亮度的问题, 第二种让我写出了一个很蛋疼的程序..恩..下面分别介绍.

1, 用setpci命令对显卡设备操作来硬调节亮度:

sudo setpci -s 00:02.0 F4.B=xx

其中的00:02.0来自于

lspci

命令输出结果中显卡对应的序号, 比如我的:

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

而xx对于不同显卡有不一样的取值规律, 在我这里是00最暗, ff最亮(16进制), 而原文作者和我正相反, 读者可以自己试试~~ :)

2, 用xgamma来软调节亮度:

xgamma -gamma x

这里x的取值在0.1到10之间, 0.1最暗, 10最亮.
Read the rest of this entry »

QR Code Business Card