Linux 有问必答:如何解决 Linux 上的 Wireshark 界面僵死

问题: 当我试图在 Ubuntu 上的 Wireshark 中打开一个 pre-recorded 数据包转储时,它的界面突然死机,在我运行 Wireshark 的终端出现了下面的错误和警告。我该如何解决这个问题?


  1. (wireshark:3480): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GObject'
  2. (wireshark:3480): GLib-GObject-CRITICAL **: g_object_set_qdata_full: assertion 'G_IS_OBJECT (object)' failed
  3. (wireshark:3480): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkRange'
  4. (wireshark:3480): Gtk-CRITICAL **: gtk_range_get_adjustment: assertion 'GTK_IS_RANGE (range)' failed
  5. (wireshark:3480): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkOrientable'
  6. (wireshark:3480): Gtk-CRITICAL **: gtk_orientable_get_orientation: assertion 'GTK_IS_ORIENTABLE (orientable)' failed
  7. (wireshark:3480): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkScrollbar'
  8. (wireshark:3480): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GtkWidget'
  9. (wireshark:3480): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GObject'
  10. (wireshark:3480): GLib-GObject-CRITICAL **: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
  11. (wireshark:3480): Gtk-CRITICAL **: gtk_widget_set_name: assertion 'GTK_IS_WIDGET (widget)' failed

Wireshark 是一个基于 GUI 的数据包捕获和嗅探工具。该工具被网络管理员普遍使用,网络安全工程师或开发人员对于各种任务的数据包级的网络分析是必需的,例如在网络故障,漏洞测试,应用程序调试,或逆向协议工程是必需的。 Wireshark 允许实时记录数据包,并通过便捷的图形用户界面浏览他们的协议首部和有效负荷。

这是 Wireshark 的 UI,尤其是在 Ubuntu 桌面下运行时,当你向上或向下滚动分组列表视图时,或开始加载一个 pre-recorded 包转储文件时,有时会挂起或冻结,并出现以下错误。

显然,这个错误是由 Wireshark 和叠加滚动条之间的一些不兼容造成的,在最新的 Ubuntu 桌面还没有被解决(例如,Ubuntu 15.04 的桌面)。

一种避免 Wireshark 的 UI 卡死的办法就是 暂时禁用叠加滚动条。在 Wireshark 上有两种方法来禁用叠加滚动条,这取决于你在桌面上如何启动 Wireshark 的。

命令行解决方法

叠加滚动条可以通过设置"LIBOVERLAY_SCROLLBAR"环境变量为“0”来被禁止。

所以,如果你是在终端使用命令行启动 Wireshark 的,你可以在 Wireshark 中禁用叠加滚动条,如下所示。

打开你的 .bashrc 文件,并定义以下 alias。


  1. alias wireshark="LIBOVERLAY_SCROLLBAR=0 /usr/bin/wireshark"

桌面启动解决方法

如果你是使用桌面启动器启动的 Wireshark,你可以编辑它的桌面启动器文件。


  1. $ sudo vi /usr/share/applications/wireshark.desktop

查找以"Exec"开头的行,并如下更改。


  1. Exec=env LIBOVERLAY_SCROLLBAR=0 wireshark %f

虽然这种解决方法可以在系统级帮助到所有桌面用户,但升级 Wireshark 后被覆盖就没用了。如果你想保留修改的 .desktop 文件,如下所示将它复制到你的主目录。


  1. $ cp /usr/share/applications/wireshark.desktop ~/.local/share/applications/


  2. 本文来自合作伙伴“Linux中国”,原文发布日期:2015-09-11
时间: 2024-12-26 10:27:34

Linux 有问必答:如何解决 Linux 上的 Wireshark 界面僵死的相关文章

Linux有问必答 - 如何在linux上安装WPS

Linux有问必答 - 如何在linux上安装WPS 问题: 我听说一个好东西Kingsoft Office(译注:就是WPS),所以我想在我的Linux上试试.我怎样才能安装Kingsoft Office呢? Kingsoft Office 是一套办公套件,支持多个平台,包括Windows, Linux, iOS 和 Android.它包含三个组件:Writer(WPS文字)用来文字处理,Presentation(WPS演示)支持幻灯片,Spereadsheets(WPS表格)是电子表格.其使

Linux 有问必答:在Linux桌面上创建视频DVD

Linux 有问必答:在Linux桌面上创建视频DVD 问题:我想要从MP4电影文件创建一张视频DVD,在Linux桌面环境中有没有我可以用来创建视频DVD的DVD创作工具? DeVeDe是一个开源(GPLv3)DVD创作软件,它允许你从任何数量的视频文件创建视频DVD.VCD.SVCD或者DivX.DeVeDe依赖于其它如Mplayer.FFMpeg.MEncoder.DVDAuthor.VCDImager以及MKisofs之类的软件来进行格式转换.就这点而论,它支持各种各样的主流输入视频/音

Linux 有问必答:在 Linux 上如何通过命令行来更改日期和时间

Linux 有问必答:在 Linux 上如何通过命令行来更改日期和时间 问题: 在 Linux 上, 我怎样通过命令行来改变日期和时间? 在 Linux 系统中保持日期和时间的同步是每一个 Linux 用户和系统管理员的重要责任. 很多程序都依靠精确的时间信息得以正常工作. 另外, 不精确的日期和时间会使得日志文件中的时间戳变得毫无意义, 减弱了它们在系统检查和检修中的作用. 对于生产系统来说, 精确的日期和时间甚至更为重要. 例如, 在零售公司中, 所有产品必须时刻准确地计数(并储存在数据库服

Linux有问必答-如何在Linux中安装Go语言

Linux有问必答-如何在Linux中安装Go语言 Go (也叫 "golang")是一款由Google最初开发的编程语言.它自诞生就有几个设计原则:简单性.安全性和速度.Go语言发行版拥有各种调试.测试.调优和代码审查工具.如今Go语言和它的工具链在大多数Linux发行版的基础仓库都可用,用默认的包管理器就可以安装. 在Ubuntu.Debian 或者 Linux Mint上安装Go语言 下面是在基于Debian的发行版上使用apt-get来安装Go语言和它的开发工具. $ sudo

Linux有问必答——如何在Linux命令行中剪裁图像

Linux有问必答--如何在Linux命令行中剪裁图像 问题:我想要去除图像文件中的白色空白,有没有什么便捷的方法能在Linux命令行中对图像文件进行剪裁? 当涉及到在Linux中转换或编辑图像文件时,ImageMagick毫无疑问是最为熟知的一体化软件之一.它包含了一整套命令行工具,用以显示.转换,或复制超过200中类型的光栅或矢量图像文件,所有这一切都在命令行下完成.ImageMagick可以用于多样化的图像编辑工作,如转换文件格式,添加特殊效果,添加文本,以及改变图像(调整大小.旋转.翻转

Linux 有问必答:在 Linux 如何更改文本文件的字符编码

Linux 有问必答:在 Linux 如何更改文本文件的字符编码 问题:在我的 Linux 系统中有一个编码为 iso-8859-1 的字幕文件,其中部分字符无法正常显示,我想把文本改为 utf8 编码.在 Linux 中, 有没有一个好的工具来转换文本文件的字符编码? 正如我们所知道的那样,电脑只能够处理低级的二进制值,并不能直接处理字符.当一个文本文件被存储时,文件中的每一个字符都被映射成二进制值,实际存储在硬盘中的正是这些"二进制值".之后当程序打开文本文件时,所有二进制值都被读

Linux有问必答:Ubuntu桌面上如何禁用默认的密钥环解锁提示

问题:当我启动我的Ubuntu桌面时,出现了一个弹出对话框,要求我输入密码来解锁默认的密钥环.我怎样才能禁用这个"解锁默认密钥环"弹出窗口,并自动解锁我的密钥环? 密钥环是一个以加密方式存储你的登录信息的本地数据库.各种桌面应用(如浏览器.电子邮件客户端)使用密钥环来安全地存储并管理你的登录凭证.机密.密码.证书或密钥.对于那些需要检索存储在密钥环中的信息的应用程序,需要解锁该密钥环. Ubuntu桌面所使用的GNOME密钥环被整合到了桌面登录中,该密钥环会在你验证进入桌面后自动解锁.

Linux有问必答:怎样解决“XXX is not in the sudoers file”错误

Linux有问必答:怎样解决"XXX is not in the sudoers file"错误 问题:我想在我的Linux系统上使用sudo来运行一些特权命令,然而当我试图这么做时,我却得到了"[我的用户名] is not in the sudoers file. This incident will be reported."的错误信息.我该怎么处理这种sudo错误呢? sudo是一个允许特定的用户组用另一个用户(典型的是root)的特权来运行一个命令.sudo

Linux 有问必答:如何在 Ubuntu 上配置网桥

Linux 有问必答:如何在 Ubuntu 上配置网桥 Question: 我需要在我的Ubuntu主机上建立一个Linux网桥,共享一个网卡给其他一些虚拟主机或在主机上创建的容器.我目前正在Ubuntu上使用网络管理器(Network Manager),所以最好>能使用网络管理器来配置一个网桥.我该怎么做? 网桥是一个硬件装备,用来将两个或多个数据链路层(OSI七层模型中第二层)互联,以使得不同网段上的网络设备可以互相访问.当你想要互联一个主机里的多个虚拟机器或者以太接口时,就需要在Linux