@shellex说: 定个闹钟,然后,晚安

Posts Tagged ‘tips’

高效使用Compiz工作指北 之 快捷键与鼠标动作

其实就Compiz而言,不仅仅是意味着Desktop Linux的最高特效水平;
在合理的配置下,Compiz也是一个高效的窗体管理器。
我不指望通过本文能达到某些Linux达人的效率,但是至少在对比弱智的Gnome Metacity、更弱智的Windows WM、变态的fvwm、极端的Awesome类WM时,
Compiz在效率和复杂性的抉择上很容易达到一个平衡点。
上回介绍了插件,这次我说快捷键。
快捷键是专家用户的最爱,能够显著地提升效率,而合理的快捷键布局不但可以降低记忆负担,而且可以加快中层用户进入专家用户步伐。
一般来说,快捷键的设置采取惯例制、直觉制,布局上并且应该符合人体工程学,减轻肢体疲劳,而且要保持简单性和复杂性中有一个平衡。

所谓惯例制,即快捷键布局符合惯例。比如上下左右移动符合VI惯例jkhl;比如复制粘贴操作惯例Ctrl+C/V等等。
所谓直觉制,即快捷键布局符合一般人类对快捷键功能的直观印象,这样能降低记忆负担。
所谓符合人体构造,即快捷键组合不能太变态,比如CTRL+Alt+右Shift+T,这样的组合键位需要双手展开才能按下,而且难以记忆。
所谓简单和复杂间的平衡,即对与常用操作应该尽量简单,但是也不能由于过分简单引起误操作;而对于危险操作,组合键应该保持复杂——也就是说,逃生按钮不应该放在飞机驾驶台主面板上。

举例来说,激活Gnome-Do的键位我设置为Alt+Z,这样的组合复杂度适中,按下方便。但是如果单取Super键(像Windows开始菜单那样)就不合适了。我想每个玩魔兽争霸的同学都经历过这样的痛苦——混战中按错Windows键切到桌面,结果全军覆没了。而对于Linux magic Keys这样危险的键位就比较复杂:print screen + alt + reisub。在笔记本上还得多按下一个Fn。
所以我的所有Compiz键位设置都按照以上规则来设置——没错,就从我的习惯来讲,我的是不赞成完全使用键盘工作的(别的同学随意),
原因有2:

我需要鼠标绘图。
不想加入过分的记忆负担。

所以我的Compiz也好,以前的openbox也好,Vimperator也好,都是以这样的特点去配置:即快捷键集中在左边。
这也是为什么我一直不愿意使用Awesome这样的WM,我觉得Awesome很Cool,但是一点都不Awesome。
窗体与工作区控制:

Alt+Tab:默认切换窗体,当然不可少。
Alt+鼠标拖拽:默认移动窗体。
Super+Z/X/C/V:分别代表最小化/切换最大化/关闭窗口/纵向最大化。前三个自不必多说,纵向最大化是平铺两个窗口时用的。对宽屏用户很适合。
Super+A:保持窗体置顶。
Super+F:切换全屏状态。
Ctrl + Alt + 左右方向:切换工作区。

以上几组快捷键在Compiz General Options和Compiz Extra WM Actions中的Key binds中设置。切换工作区则是默认的Desktop Wall的设置

Super+Q/W:这一组快捷键用于整体缩小窗体/恢复至原来大小。这里的缩放不是普通意义上的缩放。而是窗体内容随着窗体的体积也变化,就像一个缩略图一样。缩放以后整个窗口都可以拖拽。Windows用户可能不了解。

这个功能非常有用。比如当我想监视着某窗口的整体变化。但是又不希望窗体占据太大体积,可以使用Super+Q然后Super+A,之后放到一边即可。该组快捷键在Shelf插件中设置。

鼠标移动至左下角:所有活动窗口平铺。有时比Alt+tab好用。毕竟线性选择不如两个方向上的。
鼠标移动至左上角:所有Workspace平铺。偶尔需要。

以上两组动作在Scale插件中设置。Grid插件貌似很好,但是暂时用不到。
应用程序:

Alt+1/2/3/4:启动 终端/文件管理器/Firefox/Chromium。这也是最常用的应用程序。
Alt+S/P/V:启动 星际译王/Pidgin/VIM。这也是最常用的Utilities。

其他程序的启动依靠Gnome-Do就好了。(PS:新Gnome-Do的docky icon背景像Windows 7一样随着图标色彩而变化。看来大家都在进步阿)
以上两组快捷键都是在Commands插件中设置,先设置Commands然后设置对应的Key Binds即可。

Alt+左/右方向键:控制 音乐播放器的上一曲/下一曲
Alt+上/下方向键:控制 音量提高/下降。(因为默认的音量控制键太远了)

以上两组快捷键设置是在Gnome快捷键里面设置的。所以你需要打开Compiz的Gnome兼容性插件。
可以发现我的快捷键大部分集中在键盘左边。使用时一般是拇指按下Alt(大多数是程序相关)或者Super(多数是窗体操作),另外四个手指几乎不用太多移动就可以按下第二个键。至于右手,放在键盘上,还是放在鼠标上,那就随意了。

高效使用Compiz工作指北 之 插件使用

Compiz fusion(下文简称Compiz) 是众所周知的Linux窗口管理器,以特效丰富牛逼,部分细节粗糙而著称。
但是我这次不谈Compiz的特效有多牛逼,只说如何使用掩盖在特效光环下的Compiz特性来提高工作的效率。 shellex (sxnsx.com) 出品
当然了,这些都是我的一家直言,故名曰指北。如果不幸到了北方,不要怪我,我事先说明了。

为什么是Compiz Fusion:
如果追求效率和高定制性,为什么不fvwm / box系列 / awesome ?
——虽然使用效率和高定制性不是一回事,但是它们有互相制约的关系:
即低定制性必定能满足所有人的某些操作需求,而注定无法满足某些人的所有操作需求。
而定制性又与易用性有互相制约的关系:
即高定制性一般都难于上手,而低定制性一般都容易上手。
知道了这样的关系,根据自己的情况选取一个合适的WM就很容易的了。对我来说,Compiz定制性上有Compiz Config Setting Manager和插件作为支持,而且是GUI的,这就足够了。
Compiz太笨重了
——轻量级的WM运行效率高,但是不意味着使用效率就高。比如用openBox的,不去自己配置快捷键和鼠标动作,那和Windows那种脑残WM也差不了多少。
何况,Compiz能提供的一些能力是一般WM不具备的,即使是fvwm也得经过配置才能做到——而这一点,一般的同学可做不到。
这也是我推荐Gnome-Do的原因。
好了,我们开始吧
这次我先介绍一下我在用的,认为有助于提供效率的插件集。
在此之前你应该先把Compiz Config Setting Manager和Compiz的扩展插件装好,这部分不在赘述。
既然我的目标是使用Compiz提高工作效率,那么像在屏幕上玩火(Paint fire on screen)这样的插件肯定不在介绍范围之内,虽然这个插件在你展示幻灯片时可能造成轰动效果。
现在打开Compiz Config Setting Manager,看看哪些插件是值得勾选的。
General:

General Options: 定义普通窗体操作。
Commands:自定义命令,可以用于启动程序或者别的变态操作。
Gnome Compatibility:保持Gnome兼容性,比如Gnome快捷键。

Accessibility:
这里一般没什么值得一提的。比如Zoom Desktop这样的插件没有显著的作用,如果您有生理障碍可以试试看。
Desktop:

Desktop Wall:只用于切换工作区。所以就没必要用Desktop Cube系列的大堆插件了。当然,为了养眼的话,启用Cube系列也行,聊胜于无。
Expo:方便在工作区间拖拽窗口,也方便查看情况。
Widget Layer:如果很依赖Screenlets(推荐用于代替conky),不妨启用该插件。一些不定时看一眼的程序都可以放到Widget layer去。

Effect:
该系列的插件注定是悲剧的,大多数都不在讨论范围之内。

Animations:这里需要设置一下。最小化窗口推荐全部设置为Magic lamp。原因很简单:当最小化时,该特效会使得窗口形成一条缩小轨迹,轨迹终点指向任务栏或者Dock,这样会给用户留下一个窗体缩小到哪个方向的临时印象,当需要再次用鼠标激活窗口时,能减少目光检索窗口列表或者图标的时间。

Extras:
这里可以启用的是Window Previews。可惜Compiz有个通病,就是最小化的窗口是无法获得缩略图的。
这个问题的存在,给像Window Previews这样需要缩略图来提供可用性的插件所提供的能力大打折扣。
Image Loading:
出于兼容性的原因,这里全部选上。
Untility:
这里使用默认的勾选就可以。
Window Management:
除了默认勾上的插件(除非你了解插件功能,否则不要随意取消,否则你会失去窗体控制能力,比如Move Windows,Resize Window等),还有一下插件值得启用。

Application Switcher:这个Switcher系列挑一个使用就行,没有太大区别,可惜由于缩略图的原因,可用性上是有不足的。
Extra WM Actions:补充常用的窗体操作,比如全屏,置顶等等。
Scale:很好的插件。缩略图平铺选择由它提供。
Shelf:很好的插件。作为最小化和缩放的一种替代形式,这个插件提供的能力在很多情况下会异常方便。

知道了这些好用的插件,那么如何进一步提升效率呢?
请看下文:高效用Compiz工作指北 之 快捷键与鼠标动作
未完待续…

用tmpfs让Firefox在内存中飞驰II

在《用tmpfs让Firefox在内存中飞驰》这篇文章我提到了关于如何使用tmpfs来加速Firefox的方案。(关于这个方案请看Gentoo Forums的讨论 )
但是这个方案的不足之处是:

由于.mozilla一般都比较大,所以第一次启动可能比较慢
需要额外修改/etc/fstab,操作比较复杂

还好,
YCF同学告诉我可以不必将整个.mozilla放入tmpfs,这样就没有必要同步不必要的文件进tmpfs了。
花花告诉我可以使用现成的/dev/shm,这样就不必修改fstab了。
这就是我现在用的方案。该加速方案不需要修改fstab或者特别配置,比较傻瓜。
首先提供speedfox.sh脚本一枚[这里,via]~请修改它的前四个变量保存待用。
# 同步到/dev/shm
MOZTMPFS=/dev/shm/mozilla_`whoami`_profile
# 原始的火狐profile目录存放点,如果你的firefox只有一个profile,
# 那么一般是结尾为default的那个目录。我常用的profile是shellex,我的选择是在后面加 .backup
MOZHDD=”/home/shellex/.mozilla/firefox/yj6mxdhg.shellex.backup”
# 火狐启动时的连接点
MOZHOME=”/home/shellex/.mozilla/firefox/yj6mxdhg.shellex”
# 同步的时间间隔,单位秒
INTERVAL=600
好了,现在请将所有的firefox方式指向这个脚本(记得加上可执行权限),然后将对应的profile目录改名,比如我是:
yj6mxdhg.shellex 重命名为 yj6mxdhg.shellex.backup
好了,关闭firefox,去~/.mozilla 清空cache啥的(我的设置是浏览器的cache放在别处,所以cache不同步),再用speedfox.sh代替之就会有很好的效果。

用tmpfs让Firefox在内存中飞驰

也不知道是Mozilla对Linux有偏见还是X-Window确实太慢,反正就是感觉Firefox在Linux下和Windows下速度那个差异啊,我操,太吓人了。
Shellex觉得是Mozilla没做好优化,反正Google Chromium for Linux和Midori的速度可是飞快的。
之前Shellex只是把Cache目录放到/tmp下去了(注意,Shellex把整个/tmp都用tmpfs挂载了的),效果不尽人意。后来按照est同学的危险方法优化,还是没什么效果。
偶一狠心,决定把整个.mozilla目录放到/tmp这个内存文件系统去。这些该爽了吧,不管firefox做什么查询,查历史,查书签,查哪天上的玛雅,查我和MM聊天,都在内存中进行。但是应该怎么搞呢…其实很简单的啦…
先备份一下。
mv ~/.mozilla ~/.mozilla-hdd
放到/tmp去一份:
cp ~/.mozilla-hdd/ /tmp/shellex-mozilla
然后创建一个从/tmp/shellex-mozilla到~/.mozilla的符号链接
ln -s /tmp/shellex-mozilla ~/.mozilla
开Firefox试试看?是不是爽了?“啾啾”就射出去鸟。
但是这样有个问题。/tmp下的东东每次重启都会被自动清除的,啊~我的NSFW收藏夹,啊~我的PRON FORUM cookies,啊~我的MM…. 你不会想要你的Firefox每次都运行在隐私模式下吧….呵呵
还好,有位同学给我们写了一份脚本,参见这里。
这个脚本好哇,只要使用这个脚本启动firefox,可以按时用rsync同步你的~/.mozilla-hdd和/tmp/shellex-mozilla。
把这个脚本下载下来,命名为speedfox.sh。好了。以后需要用firefox时,就启动它好了。
第一次请在终端下启动它,这样可以发现可能的错误提示,出现问题按照提示解决就可以了。以后会发现Firefox除了开机后第一次启动比较慢(需要同步文件到tmpfs),以后的各种速度都相当8错哦。
尤其是Awesome bar和以后的启动速度,很明显哦
友情提示:
无法运行speedfox.sh的同学请检查是否为其添加执行权限;
运行了speedfox.sh还是慢的同学请检查/etc/fstab和自身人品;
tmpfs /tmp tmpfs defaults,size=1000m,mode=1777 0 0
没看懂的同学请打怪练级赚经验。
Over。
==========Update 2009 16 June =========
改进方法参见:
用tmpfs让Firefox在内存中飞驰II

今天挖掘到两个趁手的语句

via: Python-cn
很帅。
1. 和朋友共享局域网内的文件:
python -mSimpleHTTPServer
记得以前还煞费苦心想自己用SocketServer写一个…完全没有必要.
2. 快速发送邮件以及附件
稍微配置一下mutt,然后写一个小脚本叫sendfile,内容如下
#!/bin/bash
if [ $# -lt 2 ]
then
echo “usage:”
echo ” $0 [Email Addr] [Content] ”
exit
fi

files=”"
if [ $# -gt 2 ]
then
count=0
for param in $@
[...]

Page 1 of 11