如何在后台启动缩放?

如何在后台启动缩放?

我希望 Zoom 在桌面环境加载后立即在后台启动(即,它的图标显示在系统托盘中,但其窗口不出现)。

在 Windows 上,只需勾选“常规”中的“启动 Windows 时启动 Zoom”复选框即可让 Zoom 在计算机启动时启动,但 Linux 上没有此选项。

如果我添加zoom到自动启动,它可以工作,但 Zoom 窗口会出现在屏幕上,我必须自己关闭它。

我知道要使用 Telegram 实现类似的行为,我只需执行:/opt/telegram/Telegram -startintray。但我找不到用于 Zoom 的类似命令,尽管我找到了如何从终端开始/进入会议等等。

PS:我使用的是Linux Fedora 33 KDE。

答案1

据我所知,Zoom 仍然没有任何在托盘中启动的选项。

要理解该脚本,需要了解 Zoom 如何启动其 UI:

首先,Zoom 会启动一个登录窗口。如果它记住了您的凭据,它会为您登录,关闭登录窗口,然后启动主窗口。

如果脚本关闭登录窗口,Zoom 将退出。因此,脚本会等待主窗口出现后再尝试关闭它。

我添加了一行来最小化未登录时的登录窗口(因为不退出 Zoom 就无法关闭它),但随后将其注释掉,因为如果没有自动发生这种情况,人们可能希望保持它最大化以便登录。

该脚本检查主窗口 10 次,每次检查之间有半秒的延迟,如果未登录,则总共运行 5 秒。您可以根据您的系统通过修改来调整检查时间-lt 10。在我的系统上,它需要尝试 5 次才能检测到主 Zoom 窗口。要确定需要尝试多少次,请在第一次退出之前取消注释 echo 语句,然后将循环变量设置为该值加上 1 或 2。

    #!/bin/sh
    # Launch zoom in the background
    zoom "$@" &
    
    # Check for zoom main window (10 tries with 0.5 secs between)
    HOSTNAME=`hostname`
    i=0
    FWID=
    while [ $i -lt 10 ]; do
        i=$((i+1))
        sleep 0.5
        wid=`wmctrl -l | grep -E " $HOSTNAME Zoom(\s|$)" | cut -d' ' -f1 | head -1`
        test -n "$wid" && {             # we got a window-id
            test "$wid" = "$FWID" || {  # that is not already found
                if [ -n "$FWID" ]; then # and is not the first (login) window
                    wmctrl -ic $wid     # close main window
                    #echo Took $i tries
                    exit 0
                else
                    FWID=$wid           # this is the first window found
                fi
            }
        }
    done
    # If we reach this point the main window did not come up so if there is a 
    # window found, we can elect to minimize it by uncommenting the next line:
    #wmctrl -ir $wid -b add hidden
    # (but I guess one would want to log in and then close it manually instead).
    exit 0

因此,将此脚本复制到您的 PATH 中,例如/usr/local/bin/zoom-start-in-tray,并使其可执行:

chmod 0755 /usr/local/bin/zoom-start-in-tray

您可以使用它在后台启动 Zoom,然后关闭窗口。

我在我的后台启动了上述脚本.xsession,但如果您想将其用作桌面环境自动启动,您还需要为其创建一个应用程序文件,例如~/.local/share/applications/zoom-start-in-tray.desktop

[Desktop Entry]
Name=Zoom
Comment=Zoom Video Conference
Exec=/usr/local/bin/zoom-start-in-tray %U
Icon=Zoom
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
StartupWMClass=zoom
MimeType=x-scheme-handler/zoommtg;x-scheme-handler/zoomus;x-scheme-handler/tel;x-scheme-handler/callto;x-scheme-handler/zoomphonecall;application/x-zoom
X-KDE-Protocols=zoommtg;zoomus;tel;callto;zoomphonecall;
Name[en_US]=Zoom

如果您想使用系统范围的桌面文件(可能位于)/usr/share/applications/Zoom.desktop,只需更改Exec参数以匹配上述内容。

相关内容