Archive

Posts Tagged ‘Linux’

Gnome-Terminal 的默认窗口大小

August 15th, 2009

尝试了各种方案,Gnome-Terminal死活不听话,.Xdefaults完全没有用,Gconf似乎也没有对应的选项,最后屈服,还是用了在Main Menu里面修改了Launcher参数,加了 –geometry=90×30的启动参数。现在通过菜单和Gnome-Do都OK了,我也就满足了,惟一的问题就剩下通过Gnome-Terminal的Open-Terminal菜单打开的新窗口还是老样子。这个bug悬在那里多少年了都没人管以下~……

Linux , ,

Linux下firefox播放Stage6视频

August 5th, 2007

Divx的Stage6是个很不错的视频站,高速,清晰,简直惊艳。不过播放需要安装Divx Web Player,而它只有windows和mac版。Linux下可以用mplayer的mozilla Plugin来播放。ubuntu下只要安装 mozilla-mplayer 然后重启firefox就可以了。不过这个package有些问题,mplayerplug-in-dvx.so文件没有被连到/usr/lib/firefox/plugins中,launchpad的Bug #112055题到了这个问题。解决很简单,只要把/usr/lib/mozilla/plugins/下的mplayerplug-in-dvx.so和mplayerplug-in-dvx.xpt符号连接到/usr/lib/firefox/plugins/下面就可以了:


cd /usr/lib/firefox/plugins
sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.so .
sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.xpt .

Linux , , ,

Tips: find到带空格文件名用xargs处理的技巧

February 4th, 2007

find和xargs是最好的组合,可以说是linux shell下的瑞士军刀,用xargs配合find,比直接用find的-exec参数,速度更快,用法也更直观。
基本的用法比如:
find ./ -name '*.bak' | xargs rm -rf


一般情况,上面这个命令运行的很好,但是如果找到的文件名代空格,上面的命令运行就可能会出问题了。

find有一个参数-print0,于默认的-print相比,输出的序列不是以空格分隔,而是以null字符分隔。而xargs也有一个参数-0,可以接受以null而非空格间隔的输入流。所以说xargs简直就是为find而生的。上面的问题就很好解决了:

find ./ -name '*.bak' -print0 | xargs -0 rm -rf



Linux ,

udev的static device node

August 31st, 2006

这两天帮QA的同事安装nistnet,使用中发现,每次reboot以后,都会丢失/dev下所需的设备节点,包括/dev/nistnet,/dev/hitbox等。后来我想到ubuntu使用udev来动态建立设备节点,应该是reboot的时候,udev没能正确的重新建立这些节点。于是,需要udev建立这些静态的设备节点。

google了一下,在LFS中找到了方法。udev的init script会把/lib/udev/devices/下预建立的静态device nodes拷贝到/dev下面。所以,只要把需要的static device node预先mknod到/lib/udev/devices下面就行了。

Linux ,

Tips:autossh

June 6th, 2006

SSH的特性就是安全,如果一个连接长期闲置,那么就可能被利用,所以SSH服务端一般都会有一个超过Idle时间踢出的设置。不过像我们经常会用SSH登陆到远程服务器上长时间的工作的,这个特性就非常不方便了。于是autossh,就是这么一个牺牲安全性,换取便利性的工具。

autossh通过建立另一个SSH连接来监视工作SSH连接,当工作连接断开的时候,能够自动发起重连。不过你得设置ssh-agent,否则,重连的时候还是会提示你输入密码的,这样就失去意义了。

不过,就算是重连,你正在做的工作也会因为失去连接登出而都被杀死的。这时候就该GNU screen登场了。在你ssh到远程服务器的时候,启动一个screen Session,screen可以让你在ssh失去连接的时候自动detach,然后重连上来的时候,只要用screen -D -R取回screen Session就可以了。而且,autossh自带了一个非常好用的script rscreen,已经完完整整的帮忙做好了这件事情,只要直接拿过来用就可以了。

至于安装嘛,对于Debian,照例只要apt就可以了,下面贴一下我的对rscreen的小小修改,去掉了不需要的键设置,使用remoteSSH做为screen Session的名字以区别其他的screen Session,接收全部的ssh参数:

--- /usr/share/doc/autossh-1.3/examples/rscreen 2005-03-23 10:05:20.001000000 +0800
+++ /usr/local/bin/rscreen  2006-05-16 11:41:23.705698100 +0800
@@ -23,4 +23,4 @@
 #AUTOSSH_PATH=/usr/local/bin/ssh
 export AUTOSSH_POLL AUTOSSH_LOGFILE AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME AUTOSSH_PORT

-autossh -M 20004 -t $1 "screen -e^Zz -D -R"
+autossh -M 20004 -t $* "screen -D -R remoteSSH"

Linux , ,