在 Xfce4 里一键切换 Composite 开关

常用 KDE4 的用户可能很熟悉 KDE 的 Alt-Shift-F12 切换 Composite 状态, 下面咱让 Xfce4 拥有相同的效果:

xfconf-query -c xfwm4 -p /general/use_compositing -T

在 Xfce4 的快捷键设置里, 定义一个快捷键(我选的是Ctrl-Alt-Backspace, 不知为何 Alt-Shift-F12 无法选用), 绑定上面的命令, 就可以了 🙂

Google TalkPlugin (包括 Hangout) 不能正常使用与 iptables NAT

嗯, 准确的说, 如果 iptables -t nat 吃掉了 lo 的包 (MASQUERADE 之类的), Google TalkPlugin 就会傲娇掉, 具体表现为无论刷新重装多少次, 都提示没有连接, 网上介绍的各种方法都无效.

[006:450] Started GoogleTalkPlugin, path=/opt/google/talkplugin/GoogleTalkPlugin 
[006:450] Waiting for GoogleTalkPlugin to start... 
[007:451] Read port file, port=52545 
[007:453] Initiated connection to GoogleTalkPlugin 
[007:551] Socket connection established 
[007:551] ScheduleOnlineCheck: Online check in 5000ms 
[007:552] Warning(clientchannel.cc:669): Connection lost while waiting for authorization reason=0 
[012:567] HandleOnlineCheck: Starting check 
[012:567] Warning(clientchannel.cc:778): Not connected; restart already tried, giving up 

简单举例, 引起问题的会吃掉 lo 的包的规则如:

-A POSTROUTING -j MASQUERADE

如果想尽量保持原语句正常功能, 而仅仅排除掉 lo 的包, 可以用:

-A POSTROUTING ! -o lo -j MASQUERADE

-A POSTROUTING -o ‘!lo’ -j MASQUERADE
注意: 网上各种教程都玩坏了, ! 和 lo 之间不能有空格, 且用单引号以防止被转义.

更新: ‘!lo’ 也是错的!!!

当然如果能指定 -o eth0 什么更准确的当然最好啦 🙂

最新 nvidia 295.20 驱动造成 gnome-shell 搜索时崩溃的临时解决方案

最近的 nvidia 295.20 驱动会造成 gnome-shell 搜索时崩溃, 查看自己的log有类似如下输出者即为此 bug 所致:

/var/log$ sudo grep gnome messages.log | grep nvidia
Feb 15 14:16:16 archdesktop kernel: [10841.584296] gnome-shell[9257]: segfault at c ip b5433ea3 sp ab7f3c8c error 6 in libnvidia-tls.so.295.20[b5433000+3000]

下面翻译来自 Arch 官方论坛的一些临时解决方案(任选):

  1. 清除GLCache的旧缓存文件:
    rm -rf ~/.nv/GLCache

    不过肯定过些时会重现这个问题

  2. 清空最近打开文件记录:
    echo "" > ~/.local/share/recently-used.xbel
    sudo chattr +i ~/.local/share/recently-used.xbel

    第二句会让文件处于”只读”状态, 使问题不再重现.

  3. 降级 nvidia 驱动到 290.10 或更早的版本

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

QR Code Business Card