Skypeforlinux 将不再启动

Tox*_*Tox 5 skype kali-linux

由于最新更新(在过去两周内)skypeforlinux停止工作,我在日志中找到的唯一内容是 [ 324.575813] traps: skypeforlinux[2487] trap int3 ip:555cb8dab847 sp:7fff797c57b0 error:0 in skypeforlinux[555cb6e96000+5016000]. Google 搜索没有返回任何有用的信息,大多数结果处理的invalid opcodeint3陷阱而不是陷阱。

操作系统是kali-rolling 2019.3,不知道 Skype 是哪个版本,因为甚至skypeforlinux --help失败了。

我尝试重新安装skypeforlinux,我尝试以非 root 用户和 root 用户身份运行它,我已经升级了所有内容并重新启动了系统几次,但没有解决问题。

有没有人有关于如何解决问题的建议,或者至少获得更多信息以找出可能是这里的罪魁祸首?

根据要求,这里是 apt-cache 输出:

skypeforlinux:
  Installed: 8.51.0.86
  Candidate: 8.51.0.86
  Version table:
 *** 8.51.0.86 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
        100 /var/lib/dpkg/status
     8.51.0.72 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
     8.50.0.38 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
     8.49.0.49 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
     8.48.0.51 500
        500 https://repo.skype.com/deb stable/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)

查看日志$HOME/.config/skypeforlinux/logs/skype-startup.log我看到一个单一的条目:[7784:0821/103123.389602:FATAL:atom_main_delegate.cc(207)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.运行时,我得到它skypeforlinuxroot 作为,以及与运行它non-root的用户。

小智 8

在 Centos 7 下从 8.50.0.38-1.x86_64 升级到 8.51.0.86-1.x86_64 版本后,我遇到了同样的问题。

我通过检查日志文件发现以下消息:

FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, 
but is not configured correctly. Rather than run without sandboxing I'm aborting now. 
You need to make sure that /usr/share/skypeforlinux/chrome-sandbox is owned by root 
and has mode 4755
Run Code Online (Sandbox Code Playgroud)

如果您按照错误消息中的说明进行操作:

    chmod 4755 /usr/share/skypeforlinux/chrome-sandbox
Run Code Online (Sandbox Code Playgroud)

它解决了这个问题。

  • 我在日志中得到一个条目:`[7784:0821/103123.389602:FATAL:atom_main_delegate.cc(207)] 不支持以 root 身份运行而不支持 --no-sandbox。请参阅 https://crbug.com/638180。` 我在以 root 身份运行 `skypeforlinux` 以及以非 root 用户身份运行时得到它。 (2认同)
  • @Tox 该消息非常有帮助;请将其编辑为您的问题。 (2认同)

tel*_*coM 7

因此,您的skypeforlinux版本是 8.51.0.86,这是当前的最新版本 - 最近发布。事实上,我的 Debian 10 系统上有完全相同的版本,并且运行良好。

int3是一条 x86 处理器指令,用于实现调试断点。

但是在您的情况下,在未在调试器下运行时int3遇到skypeforlinux,因此 int3 陷阱向量指向默认内核例程,这本质上等同于向SIGTRAP程序发送信号。

为什么skypeforlinux程序代码int3在没有调试器的生产版本中包含指令?只有能够访问源代码的 Microsoft 人员skypeforlinux才能回答这个问题,而无需进行大量的逆向工程工作。

请注意,Microsoft 仅承诺可skypeforlinux在 Ubuntu、Debian、OpenSuSE 和 Fedora 上运行。可能是这个最新版本可能不小心包含了一些调试代码,这些代码仅在某些条件与任何受支持的发行版不匹配时才会执行 - 并导致 Skype 崩溃,因为预期的调试环境不存在。

您可以尝试将 Skype 降级到以前的版本(或apt-cache policy输出中列出的任何版本),看看是否更适合您:

# apt install skypeforlinux=8.51.0.72
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be DOWNGRADED:
  skypeforlinux
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 0 B/79.0 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue? [Y/n]
Run Code Online (Sandbox Code Playgroud)

如果降级软件包版本有帮助,您可能希望将软件包设置为暂停,因此apt upgrade在取消暂停之前不会再次升级它:

# apt-mark hold skypeforlinux
Run Code Online (Sandbox Code Playgroud)

然后,您可能会向 Microsoft 发送关于您的体验的错误报告,但由于他们没有做出任何支持 Kali 的承诺,因此它可能会被忽略或分配到非常低的优先级。