登录 slack-desktop 无法在 4.23.0 64 位 (Ubuntu) 上运行

Boo*_*oon 95 linux authentication slack kde-plasma

在应用程序中,转到“文件”>“工作区”>“登录新工作区”会启动一个浏览器窗口。在浏览器中选择工作区后,它会启动一个返回到 slack 的深层链接,但它不起作用。Slack 桌面上没有任何反应。

当检查链接过程中运行的命令时,KDE 似乎正在修改链接。我该怎么做才能解决这个问题?

小智 187

Boon提供的答案是正确的。我想在该答案下发表评论,但显然我需要 50 分才能发表评论,所以我只能添加新答案......

深入研究这个问题后,听起来 kde-cli-tools 中的 kde-open5 正在对 URL 的第一个元素(slack://A/B/C变成slack://a/B/C)进行一些时髦的小写处理。这听起来像是一个老错误:https://bugs.kde.org/show_bug.cgi ?id=429408

我怀疑松弛改变了他们处理链接/链接的方式已经改变 - 它与我的情况下的松弛升级一致:slack-desktop:amd64从4.22.0到4.23.0。

查看进程列表:

  • Slack 网站要求浏览器打开大写链接
  • kde-open5 使用正确的链接运行
  • slack 使用小写工作空间运行

我已向 slack 报告了此问题并提供了所有详细信息,因此我希望它能得到解决。

解决方法:

只是添加一些细节(布恩建议

  1. 在 bash 中运行快速脚本:
while sleep .1; do ps aux | grep slack | grep -v grep | grep magic; done
Run Code Online (Sandbox Code Playgroud)
  1. 尝试登录 slack - 在浏览器中接受登录尝试

  2. 您应该在控制台中看到登录链接:

kde-open5 slack://WORKSPACE_ID/magic-login/...
/usr/lib/slack/slack --enable-crashpad slack://workspace_id/magic-login/...
Run Code Online (Sandbox Code Playgroud)
  1. 使用正确的链接打开松弛:
/usr/lib/slack/slack --enable-crashpad slack://WORKSPACE_ID/magic-login/...
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。我在 KDE bug 跟踪器中添加了一条评论:https://bugs.kde.org/show_bug.cgi?id=429408#c3 (4认同)
  • `/snap/bin/slack` 用于从 snap 商店安装的 Slack (3认同)
  • 唯一可行的解​​决方法实际上涉及一些 shell 编程,因此这个问题毕竟适合 StackOverflow。 (2认同)
  • 请注意,您所需要做的就是选择魔术链接并将其复制到剪贴板。当您切换到 slack 时,它会自动登录。 (2认同)

dea*_*908 116

我正在使用 Archlinux,点击链接都不起作用,也没有将链接传递给 slack 参数。如果您在浏览器中打开开发控制台,您也可以找到正确的链接,它应该在控制台输出中。如果您将此链接复制到剪贴板 (ctrl+c),然后切换到 Slack 应用程序。看起来 onFocus slack 会自动读取剪贴板并处理它(如果它是链接)。这样就可以登录了。 在此输入图像描述

  • 它在 Kubuntu 21.10 上有效,你救了我! (7认同)
  • 刚刚为我工作,Kubuntu 22.04,我尝试了这里建议的所有其他内容,除了这个之外没有任何对我有用的。 (7认同)
  • 它可以在运行 Plasma 5.25.4 的 Fedora Workstation 36 上运行,使用 Chrome 和从网站上的官方 RPM 安装的 Slack 4.28.171。不仅需要“复制”链接,还需要首先将其粘贴到某处以确保其位于剪贴板内。 (4认同)
  • 适用于我的 Ubuntu 22.04 和 KDE Plasma 5.24 (3认同)
  • 使用运行 Plasma 5.24.5 的 Garuda Linux 为我工作 (3认同)

Ϲοδ*_*διϲ 44

感谢这里对问题的出色分析,我成功创建了一个脚本来解决这个问题。

#!/usr/bin/env bash

if [[ "${1:-}" = slack://* ]]; then
    exec /usr/lib/slack/slack --enable-crashpad "$1"
fi

exec /usr/bin/xdg-open "$@"
Run Code Online (Sandbox Code Playgroud)

将上述脚本另存为/usr/local/bin/xdg-open并使该脚本可执行。就是这样!

我真的希望 KDE 团队对这样一个基本问题表现出一些热爱,特别是考虑到 Slack 的使用有多广泛。

  • 在某些 linux 中 /usr/lib/slack/slack 只是 /usr/bin/slack (2认同)

小智 20

在 Kubuntu 20.04 和 Chrome 浏览器中遇到同样的问题。火狐解决了这个问题)


Boo*_*oon 15

在尝试了各种方法之后,我注意到我怀疑tlvs8sasf上面的工作空间 ID 通常在日志中以大写字母显示。

因此,我尝试通过大写工作区 ID 来更新深层链接,然后单击它。瞧,这对我有用。希望这可以帮助其他也遇到同样问题的人。


小智 11

我几乎每次重新启动计算机时都会遇到这个问题,并且我有大约 10 个活动的 slack 工作区,因此编写了一个快速的 bash 脚本来为我完成大写技巧。它并不意味着很强大,但它确实有效。我会把它留在这里,以防对其他人有用。

# Workaround to get slack to open workspaces correctly.
# Problem and workarond concept as described here:
# /sf/ask/4960694511/
# Usage: Run this script, open slack as normal, and attempt to log into workspaces as normal. Once done, kill the script.

while sleep .1; do 
        line=$(ps ax | grep slack | grep -v grep | grep magic | awk '{ print $NF }')
        WD=$(echo $line | cut -d '/' -f 3 | tr [:lower:] [:upper:])
        LN=$(echo $line | cut -d '/' -f 5)
        if [ "$WD" != "" ]; then
                echo "got $line"
                line2="slack://$WD/magic-login/$LN"
                echo "Attempting to open $line2"
                /usr/lib/slack/slack --enable-crashpad $line2
        fi
done | grep -v "^$"
Run Code Online (Sandbox Code Playgroud)