4
29
2012
53

放弃 gnome-terminal,转到 Xfce 终端

本文来自依云's Blog,转载请注明。

前日进行了系统升级,结果分外悲剧。在 Awesome 下,Empathy 和 gnome-terminal 都不能正常使用了。当然,Awesome 并没有升级,它很稳定。关于 Empathy 的事下篇再写,本篇只吐槽 gnome-terminal。

早些时候,我就发现我经常不能在 gnome-terminal 中成功打开输入法。昨天将 gnome-terminal 从 3.2.1-1 版本升级到 3.4.1.1-1 (以及相伴的其它组件升级)后,我发现我已经很难遇到输入法「恰巧」能够打开的时候了。于是给 GNOME 他们报了 bug。而昨天和今天早些时候,只好使用 vimim 或者复制的方式来在终端里输入中文。今天,收到 gnome-terminal 开发者 Christian Persch 的回复:

Please test if this is reproducible with either gnome-shell or metacity (latest versions from gnome 3.4) in click-to-focus mode. Anything else is entirely unsupported.

他说,如果不能在 GNOME 的组件中重现,那么他们不会修复。操你妹啊,你丫又没有平铺式WM!这不就相当于我说你们的某家电在我家里无法使用,经销商却说你们要是不能在商场里重现问题那不关他们的事么!

于是决心放弃一切有问题的 GNOME 组件,换终端了。我不想用 guake 那种特别的终端,因为一个普通的正常终端在 Awesome 下已经被我调教得很听话了。先尝试的是 lxterminal。忽略掉不完整的中文翻译,开始迁移自己的配置。终端光标不能更改为竖线就算了,竟然没办法通过命令行参数的方式指定窗口的任何可以用作区分的参数。原来 gnome-terminal 我是指定 class 的,这样我可以设置一个流动终端——按一个组合键把它叫过来,用完后再按个键让它离开。但这样做必须能够匹配到那个窗口;我还有些放 mosh 会话的终端,我可不希望它们也跟过来。

又尝试了 Xfce 的终端。这个长得和 gnome-terminal 已经比较像了。看看命令行选项,能设置 role。这个足够用了。配置下字体、颜色什么的,再去改改 Awesome 的配置就可以用了。途中还修整了下run_or_raise函数的匹配逻辑。

PS: GTK 3 更新到 3.4 后,UI 发生了很大的变化,如:

  • 数字输入框的加减号变大了,更占地方,点击时也需要移动更远的距离了;
  • 滚动条变窄变丑了,点中它更难了;
  • gnome-terminal 的颜色设置比 Windows 的取色器还难用了;
  • 好端端的复选框不用,非得弄成滑块,这个是要让用户练习鼠标的拖动操作么?
Category: Linux | Tags: GNOME gtk 终端 linux awesome | Read Count: 29907
INNOCENT 说:
Apr 29, 2012 09:30:46 PM

...或者sakura?

Avatar_small
依云 说:
Apr 29, 2012 10:28:59 PM

已经找到能用的啦~

Avatar_small
依云 说:
Apr 29, 2012 10:30:32 PM

这个谐音「吓哭啦」,哈哈~

INNOCENT 说:
Apr 29, 2012 10:33:59 PM

是樱花啦...多好听

lainme 说:
Apr 29, 2012 11:33:36 PM

我觉得xterm就很好

Avatar_small
依云 说:
Apr 30, 2012 12:12:47 AM

我还没能把 xterm 调教得比较满意呢。

Avatar_small
依云 说:
Apr 30, 2012 12:14:07 AM

这个以后需要时再研究。

jiazhoulvke 说:
Apr 30, 2012 09:09:07 AM

在我理所当然的想来,你肯定是用urxvt的,汗……

Avatar_small
依云 说:
Apr 30, 2012 01:20:14 PM

那个好像也是很强大的样子,可我只需要能改下色彩和光标形状、设下窗口属性、能复制和打开链接和邮件地址就行了呀。

自由建客 说:
Apr 30, 2012 07:21:59 PM

还是 xterm 好用,又好看。

maplebeats 说:
May 01, 2012 06:23:22 PM

gnome shell升级到3.4之后,给我唯一的感觉就是把我以前的配置全给废了。还好我对终端要求不高...

Avatar_small
LoveDavid 说:
May 03, 2012 01:59:19 PM

试一试lilyterm,很好用的,支持透明,
可以Alt+J/K来切换tab,Alt+N打开新tab...

Avatar_small
星空™ 说:
May 03, 2012 02:38:40 PM

一直在用terminator感觉还不错

Avatar_small
依云 说:
May 03, 2012 05:00:04 PM

我还没试到它就找到了满意的终端了呢。用 Alt+字母键 作为快捷键可不好,我的 zsh 和 vim 都会用到的。而且,自从用上了 screen/tmux,我再也不用终端的多标签功能了。

Avatar_small
依云 说:
May 03, 2012 05:00:42 PM

试过,太丑了 :-(
而且分隔对于我说意义不大,我用 tmux 就可以了嘛。

Avatar_small
依云 说:
May 04, 2012 02:46:25 PM

昨天看到你的Xfce截图了,好漂亮~

Avatar_small
星空™ 说:
May 04, 2012 03:36:01 PM

tmux和系统的几个快捷键冲突,有点恼火

Avatar_small
LoveDavid 说:
May 19, 2012 02:12:47 PM

okay,我准备去试试tmux,早就听说过这个工具了,只是没有去用.

kaji331 说:
May 21, 2012 09:35:17 PM

最近LinuxToy上不是在讲GNOME打算焊死ibus么,可能因此就一步步不兼容别的输入法了吧~从12.04发布开始,我已经彻底告别Ubuntu,转用LMDE了~工作机要稳定啊~

jiazhoulvke 说:
May 21, 2012 09:56:49 PM

求教神马是LMDE,我只用过LXDE

kaji331 说:
May 22, 2012 12:52:35 PM

Linux Mint Debian Edition

Cnfn 说:
May 24, 2012 07:16:09 PM

记得 gnome-terminal + tmux 可以使 gnome-terminal 标题显示正在运行的进程名, 但 xfce4 的 Terminal 怎么设置呢?

Avatar_small
依云 说:
May 24, 2012 08:35:59 PM

不一样吗,绕过 tmux 直接给终端发指令就是了。

自由建客 说:
May 25, 2012 01:12:56 AM

我也试了下 xfce 这终端。这玩意怎么是单进程的?能改成多进程吗?和 xterm 一样的多进程。

Avatar_small
依云 说:
May 25, 2012 01:30:04 AM

gnome-terminal 也是这样子的。你就不会 terminal --help 一下下么?

Cnfn 说:
May 25, 2012 02:31:58 AM

恩, 是一样的, 但当 tmux 有 terminal-overrides 配置选项时, Terminal 就不能显示进程名称了...

自由建客 说:
May 25, 2012 01:09:18 PM

help 里面没有,这玩意有些「隐藏选项」,所以想问问。

Avatar_small
依云 说:
May 25, 2012 03:18:53 PM

>>> terminal --help
用法:
terminal [选项...]

常规选项:
-h, --help; -V, --version; --disable-server;
--default-display=显示; --default-working-directory=目录
....

man 文档里有详细解释。

自由建客 说:
May 25, 2012 03:30:03 PM

找到了,隐藏选项在帮助菜单打开的那里面。这些是 man 里面没提的。不过也没见到有多进程的相关说明。

Avatar_small
依云 说:
May 25, 2012 03:36:23 PM

大哥,--disable-server 被你无视了吗?

自由建客 说:
May 25, 2012 07:32:16 PM

「 --disable-server
不向 D-BUS 会话消息通知机制注册」
没想到是这功能!
~/.config/Terminal/terminalrc 还是没有相应选项,尝试 MiscDisableServer=TRUE、DisableServer=TRUE 无果。

Cnfn 说:
May 25, 2012 11:43:22 PM

你可以给 Terminal 设置快捷键啊, 在启动参数里添加 --disable-server 不就行了?

自由建客 说:
May 26, 2012 12:20:10 AM

OpenBox 好说,但 lxpanel 和 thunar 都不行。不过我想到了另一个方法,myterm!
#!/bin/sh
exec xfce4-terminal --disable-server "$@"

自由建客 说:
Jun 01, 2012 06:04:47 PM

那字体还是不好看,用回 xterm 了。

比尔盖子 说:
Jun 03, 2012 11:14:26 AM

Gnome的滑块是可以点的,谁叫你自己拖的,难道是自愿练习“鼠标的拖动操作么“?

Avatar_small
依云 说:
Jun 03, 2012 04:26:39 PM

滑块不用滑,就好比 MS Word 的插入分节符不在「插入」选项卡中。

ddmbr 说:
Jul 05, 2012 12:45:49 AM

这东西很赞!我尝试了各种term之后的最终归宿

jiazhoulvke 说:
Jul 25, 2012 02:09:28 PM

哈哈,依云时刻不忘黑一下ms

yuyichao 说:
Jul 26, 2012 03:49:47 AM

刚刚发现Terminal也可以设置wm_class, 在exec的时候设置$0好像就可以了, gtk貌似就是从这里读的...

话说bash里面exec的时候不能设$0? 我是用python启动设的

Avatar_small
依云 说:
Jul 26, 2012 07:58:09 AM

这样啊……

bash 我也不知道怎么弄,zsh 是 ARGV0=xxx cmd 这样子设。

zlbruce 说:
Aug 23, 2012 05:16:19 PM

我也经常fcitx呼不出来,原来是gnome-terminal的问题,看来得换了

zodiacg 说:
Sep 22, 2012 03:45:39 PM

我的fcitx在gnome-terminal里还是正常的……所以就一直用着了。

我想问下LZ的awesome配置文件里面,floating_apps里'Flashplayer'项是怎么获取到的……?它解决了一个困扰我半天的问题,但是我自己用xprop怎么也没抓到想抓的东西,请问LZ是用什么获取到的?

Avatar_small
依云 说:
Sep 22, 2012 09:16:55 PM

就是 xprop 啊。是不是你去执行 xprop 时 flash 视频回去了?加延时吧:sleep 3 && xprop 这样?

zodiacg 说:
Sep 23, 2012 11:38:16 AM

哦……可能我们遇到的问题不太一样。我是Chrome里的Flash播放器,在某些站点会遇到载入完成后Flash消失的问题。拿xprop怎么点也只能点到Chrome主窗口的信息。不过加上这条'Flashplayer'之后确实表现正常了(◠‿◠)ノ

Avatar_small
依云 说:
Sep 23, 2012 12:05:57 PM

哦。我没试过 Chrome 里的 Flash。

zodiacg 说:
Sep 26, 2012 08:52:19 PM

失败了……今天回到Linux发现又不正常了……完全没头绪啊

比尔盖子 说:
Oct 12, 2012 12:30:30 PM

Apple的iOS和OS X的滑块,也不用滑,点击一下就行
:)

aaa 说:
Nov 03, 2013 11:42:49 AM

lilyTerm 也不错


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

| Theme: Aeros 2.0 by TheBuckmaker.com