Zoom.us 无法在 Fedora 30 和 Ubuntu 19.04 w Wayland 上运行

Zoom.us 无法在 Fedora 30 和 Ubuntu 19.04 w Wayland 上运行

当屏幕共享时我收到此消息:

Can not start share, we only support wayland on 
GNOME with Ubuntu(17,18), Fedora (25 to 29), 
Debian9, openSUSE Leap 15, Arch Linux. If your 
OS is not on the list, please use x11 instead.

有没有什么解决方法不需要禁用所有 Wayland 功能?

放大图片

答案1

这个 reddit 帖子中也有一些不错的技巧。特别是对特定文件的调用的库覆盖:

我认为最有益的时间利用方式是交换 Zoom 用于获取操作系统数据的一些底层方法。

首先,您要确定“钩子”要做什么以及要钩住什么。这是一个简单的钩子,它只是通过替换 open 的实现,用短字符串“ZV”替换 /etc/os-release 中实际的内容。您需要使用 strace 程序来真正弄清楚 Zoom 是如何做到这一点的。

#define _GNU_SOURCE
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <dlfcn.h>

int open(const char *path, int oflag) {
    if (strcmp(path, "/etc/os-release")) {
        int (*nopen)(const char *path, int oflag);
        nopen = dlsym(RTLD_NEXT, "open");
        return nopen(path, oflag);
    } else {
        int *fildes = calloc(2, sizeof(int));
        pipe(fildes);
        const char *fake = "ZV";
        write(fildes[1], fake, strlen(fake));
        return fildes[0];
    }
}

要使用此功能,您必须将根据上述代码创建的文件写入一个文件(我将其命名为 fakeread.c)并进行编译:

$ gcc -shared -fPIC -ldl -o fakeread.so fakeread.c

然后,您只需使用环境变量调用您的命令,指示动态链接器优先使用新共享对象导出的符号。

$ LD_PRELOAD=`pwd`/fakeread.so WHATEVER_ZOOM_COMMAND_IS

您可以用相同的原理挂钩其他库函数(如 exec)或甚至系统调用(如 uname)。

https://www.reddit.com/r/archlinux/comments/8winpp/tricking_application_into_thinking_im_on_fedora/?st=jzmuc1b0&sh=20c82d5d

答案2

更新

https://www.dropbox.com/sh/3klzwv3n3xn09s4/AAD28SF62Z9cXKCSCxz6SOb5a?dl=0

这是一个运行良好的开发版本。如果您不信任它,请查看其他解决方案。希望很快就能修复。


您可以编辑 os-release 文件,让 zoom 误以为您的操作系统已过时。我会在截屏开始后立即撤消更改,因为这可能会导致操作系统损坏。

因此对于 Fedora 30 进行更改

$ cat /etc/os-release
NAME=Fedora
VERSION="30 (Workstation Edition)"
ID=fedora
VERSION_ID=30

$ cat /etc/os-release
NAME=Fedora
VERSION="30 (Workstation Edition)"
ID=fedora
VERSION_ID=29

类似的更改也适用于 Ubuntu 19,04+

以下是可以加快该过程的 bash 别名。 https://gitlab.com/snippets/1883723

答案3

我在 Debian 10 中遇到了同样的问题,可以通过将以下行附加到以下内容来解决/etc/os-release

VERSION_ID="99"
VERSION="99 (sid)"
VERSION_CODENAME="sid"

相关内容