gnome-terminal 上面有个红红的 叉叉,就是关闭按钮了。因为开 tab 多的时候会不小心按到,所以就想把他干掉。可惜 gnome 没提供去掉的选项,google 了下,发现不少人烦这个,可是 gnome 不理会这些声音,2007 年有人写了个补丁,可惜没转正。我琢磨琢磨改巴改巴把他弄到自己能用了。原来那个补丁还添加了 gconf 的配置项,我没那需求,就去掉了。这个是对 gentoo 里面的 gnome-terminal-2.24.2 打的补丁,别的版本没准还得改改。
diff -ur gnome-terminal-2.24.2.org/src/terminal-window.c gnome-terminal-2.24.2/src/terminal-window.c
--- gnome-terminal-2.24.2.org/src/terminal-window.c 2009-02-06 17:51:54.277755771 +0800
+++ gnome-terminal-2.24.2/src/terminal-window.c 2009-02-06 18:04:34.601756240 +0800
@@ -1929,7 +1929,7 @@
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
- close_button = gtk_button_new ();
+/* close_button = gtk_button_new ();
gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE);
gtk_button_set_focus_on_click (GTK_BUTTON (close_button), FALSE);
gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE);
@@ -1939,17 +1939,17 @@
image = gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU);
gtk_container_add (GTK_CONTAINER (close_button), image);
gtk_box_pack_end (GTK_BOX (hbox), close_button, FALSE, FALSE, 0);
-
+*/
sync_tab_label (screen, NULL, label);
g_signal_connect (screen, "notify::title",
G_CALLBACK (sync_tab_label), label);
- g_signal_connect (close_button, "clicked",
+/* g_signal_connect (close_button, "clicked",
G_CALLBACK (close_button_clicked_cb), screen_container);
g_signal_connect (hbox, "style-set",
G_CALLBACK (tab_label_style_set_cb), close_button);
-
+*/
gtk_widget_show_all (hbox);
return hbox;
->
gnome 中的 window manger (wm) 是 metacity,有时候可能会用的不爽,换成 openbox ,或着 xfwm4 之类。
gnome 提供了简单的方法,就是设置 WINDOW_MANAGER 这个变量。如果用的是 dm,例如 gdm ,那么在 .profile 里面放上下面一句就可以了。startx 的话,放在 .xinitrc 里面。
export WINDOW_MANAGER=”/usr/bin/openbox”
用 gdm 的话,还可以在启动的时候选择 openbox-gnome-session 这个来使用 openbox 做为 wm,那个命令是个 shell 脚本,可以看看。
如果设置了不管用,可以看看 gconf 里面的 desktop/gnome/session/required_components/windowmanager 的值。/usr/bin/gnome-wm 这个程序可能会用这个,具体好像和 gnome 的版本有关,这个文件是 gnome-base/gnome-session 这个包里面的。
gdm 启动的时候,会运行 /etc/X11/gdm/Xsession 这个程序。可以试试看在这里面小小的 debug 一下。
最后郁闷一下,openbox 在 gnome 的 dual head 里面好像有个 bug,提交给了 openbox,还没回复,只能继续 metacity 了。
->
安装emacs之后,发现在 pidgin 里面选择打开 hotmail 邮箱的时候不好用了,浏览器没反映,以前是会打开一个 file:///tmp/purple2CMD9T 这样的文件的,然后这个文件重定向到 hotmail 邮箱,其实说白了基本没用,还不如自己在浏览器打一个 hotmail.com,因为他好像不会发送你的帐户信息,就像在msn里面那样,直接登录。
但是不能用了,总觉得心里堵的荒,趁着刚搞定 mplayer 对gnome的屏保的xxoo,以及 automount 的东风,一定要搞定这个,嗯。
查看 pidgin 的debug信息可以看到,pidgin是调用xdg-open 来打开那个文件,由xdg-open 调用相应的程序来打开。命令行执行一下,可以看到xdg-open 调用了 emacsclient 来打开那个文件,这显然是不行的。
$ xdg-open readme.htm
/usr/bin/emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
/usr/bin/emacsclient: No socket or alternate editor. Please use:
--socket-nam
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)
怎么修改,尝试了 xdg-mime ,结果不行。今天 sssslang 提醒说 xdg-open 是个shell脚本,看了之后发现在gnome下面,他调用的其实是 gnome-open 来打开的。gnome-open 是个bin文件,没的看了。搜了一下,发现 /etc/gnome-vfs-mime-magic 似乎是用来判断文件类型的,根据文件的头。不过这个和打开程序没关系。
然后找到 /usr/share/applications/mimeinfo.cache 这个文件,把里面emacsclient 相关的都删掉,反正我也不用他。然后还得把 /usr/share/applications/emacsclient.desktop 里面 MimeType 行干掉,要不后面执行更新的时候会再次把emacsclient 的信息更新到 mimeinfo.cache 里面。
好了,执行一下 sudo update-desktop-database 更新一下cache,就没问题了。需要注意这个cache在 .local/share 下面也有一个。
太高兴了,问题都解决了。
升级到 gnome 2.22 之后,发现 usb 不自动mount了,归罪于gnome 2.22。但是刚才尝试手动mount的时候才发现,根本没有 /dev/sdx 设备,靠。想起来我好像把 scsi 相关的 kernel 选项都关掉了,nnd。重新编译内核之后,啥问题都没了。。。
就连之前 分区不显示在桌面上面 的问题都好了,ft,和scsi有关系?
gnome 下面有 gnome-volume-manager & gnome-mount & gnome-vfs 和自动挂载相关。
使用mplayer其实没必要用什么前端了,多简洁,不过可能是因为我很少看有字幕的视频的缘故。smplayer是基于qt的,有兴趣可以试试看,我觉得速度有点慢。此外还有gnome-mplayer,有选项可以stop gnome的screensaver。
今天忽然兴起就想看看smplayer的最新版是否能在播放的时候屏蔽gnome screensaver,结果在他们论坛上面找到了方法。其实smplayer本身是没那个功能的,作为前端,他只是负责把 stop-xscreensaver 参数传递给mplayer而已。不过却发现了一个mpalyer的设置:
heartbeat-cmd="gnome-screensaver-command -p"
这个设置不知道是从什么时候出现的,可以用来停止gnome的screensaver,放到 .mplayer/config 里面就行了。
这下子gnome-screensaver 也可以干掉了,这玩意不支持mplayer的一些快捷键,例如osd切换。在播放一些有问题的文件的时候,还经常 cpu 100% 死掉。
另外,gnome里面的文件,在nautilus里面双击默认的打开方式是由 /usr/share/applications 里面的那些desktop文件决定的,这些文件里面定义了可以打开什么类型的文件。gnome的菜单也是从这里生成的。当然,在文件上面右键->属性->打开方式也可以自定义一个。
此外,~/.local/share/applications 里面也有一些 desktop,这些是你自定义的。比如系统经过判断,rmvb的文件使用 realplayer 来打开,但是你又想用 mplayer 来打开,那么就会在这个目录下面的文件里面记录下来。
mplayer 的那个 desktop 文件里面指定的是 gmplayer 来打开文件的,我可不喜欢这个gmplayer,所以修改一下这个文件就好了。这样比自己添加自定义命令的好处是,有个图标。。。还有可以打开 smb:// 的文件。
上周没忍住诱惑,升级到了 gnome 2.22 。惊喜不多,问题不少。
automount 功能不能用了。以前桌面上面会出现一些别的分区的图标的,现在也没有了。这是很郁闷的一个事情。别的比如 metacity的compiz特性,alt+tab切换窗口的效果等,原来都是和compiz是一样一样的,都一样的耗费资源,shit。
不过值得欣慰的一点是 evolution 2.22 里面邮件提醒可以设置不只监控收件箱了,过滤到别的文件夹里面的邮件也会提醒了。mail-notification 可以删掉了。
scribefire 好像没办法设置 post slug?那怎么用?不设置的话,中文标题生成的链接太恶了。
近期评论