登录 slack-desktop 无法在 4.23.0 64 位 (Ubuntu) 上运行
Signing into slack-desktop not working on 4.23.0 64-bit (Ubuntu)
在应用程序中,转到 文件 > 工作区 > 登录新工作区 启动浏览器 window。在浏览器中选择工作区后,它会重新启动一个深度 link 回到松弛状态,但它不起作用。 slack-desktop 上没有任何反应。
为了弄清楚发生了什么,我 运行 /usr/bin/slack 查看了日志。
我看到了 HANDLE_DEEP_LINK 的日志,但没有跟进 activity。
[01/27/22, 00:37:00:872] info: Store: HANDLE_DEEP_LINK {
"url": "slack://tlvs8sasf/magic-login/3034334935776-be4bc1d875407dce8b1d32f74698c927a95ed50f2c2b770e731cfbdbcba21a93"
}
在尝试了各种方法之后,我注意到我怀疑是工作区 ID,上面的 tlvs8sasf
通常在日志中大写。
因此,我尝试通过大写工作区 ID 来更新深度 link,然后单击它。瞧,它对我有用。希望这能帮助其他也遇到同样问题的人。
是正确的。我想在那个答案下发表评论,但显然我需要 50 分才能发表评论,所以我只能添加新答案...
在深入研究之后,听起来 kde-cli-tools 的 kde-open5 在 URL 的第一个元素上做了一些时髦的 lower-casing(slack://A/B/C
变成了 slack://a/B/C
).这听起来像是一个老错误:https://bugs.kde.org/show_bug.cgi?id=429408
我怀疑他们处理 links/links 的方式发生了变化 - 在我的情况下它与 slack 升级一致:slack-desktop:amd64 从 4.22.0 到 4.23.0。
查看进程列表:
- slack 网站要求浏览器打开 link 大写
- kde-open5 运行 正确 link
- slack 是 运行,工作空间 lower-cased
我已将此问题报告给 slack 的所有细节,所以我希望它会得到修复。
解决方法:
只是添加一些细节到什么 ()
- 运行 bash中的快速脚本:
while sleep .1; do ps aux | grep slack | grep -v grep | grep magic; done
尝试登录 slack - 在浏览器中接受登录尝试
您应该在控制台中看到登录 link:
kde-open5 slack://WORKSPACE_ID/magic-login/...
/usr/lib/slack/slack --enable-crashpad slack://workspace_id/magic-login/...
- 打开 slack 正确 link:
/usr/lib/slack/slack --enable-crashpad slack://WORKSPACE_ID/magic-login/...
我正在使用 Archlinux,点击 link 都没有用,也没有将 link 传递给 slack 参数。如果你在浏览器中打开开发控制台,你也可以找到正确的 link 它应该在控制台输出中。如果您将此 link 复制到剪贴板 (ctrl+c),然后切换到您的 slack 应用程序。似乎 onFocus slack 会自动读取剪贴板并处理它(如果它是 link)。这样就可以登录了。
我几乎每次重新启动计算机时都会遇到这个问题,而且我有大约 10 个活动的 slack 工作区,所以破解了一个快速的 bash 脚本来为我做大写技巧。它并不意味着坚固,但它确实有效。我会把它留在这里以防它对其他人有用。
# Workaround to get slack to open workspaces correctly.
# Problem and workarond concept as described here:
#
# 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 "^$"
感谢这里对问题的出色分析,我设法创建了一个脚本来避免这个问题。
#!/usr/bin/env bash
if [[ "${1:-}" = slack://* ]]; then
exec /usr/lib/slack/slack --enable-crashpad ""
fi
exec /usr/bin/xdg-open "$@"
将上述脚本保存为/usr/local/bin/xdg-open
并使脚本可执行。就是这样!
我真的希望 KDE 团队对这样一个基本问题表现出一些热爱,尤其是考虑到 Slack 的广泛使用。
在 Kubuntu 20.04 和 Chrome 浏览器中遇到同样的问题。 Firefox 解决了这个问题)
在应用程序中,转到 文件 > 工作区 > 登录新工作区 启动浏览器 window。在浏览器中选择工作区后,它会重新启动一个深度 link 回到松弛状态,但它不起作用。 slack-desktop 上没有任何反应。
为了弄清楚发生了什么,我 运行 /usr/bin/slack 查看了日志。
我看到了 HANDLE_DEEP_LINK 的日志,但没有跟进 activity。
[01/27/22, 00:37:00:872] info: Store: HANDLE_DEEP_LINK {
"url": "slack://tlvs8sasf/magic-login/3034334935776-be4bc1d875407dce8b1d32f74698c927a95ed50f2c2b770e731cfbdbcba21a93"
}
在尝试了各种方法之后,我注意到我怀疑是工作区 ID,上面的 tlvs8sasf
通常在日志中大写。
因此,我尝试通过大写工作区 ID 来更新深度 link,然后单击它。瞧,它对我有用。希望这能帮助其他也遇到同样问题的人。
在深入研究之后,听起来 kde-cli-tools 的 kde-open5 在 URL 的第一个元素上做了一些时髦的 lower-casing(slack://A/B/C
变成了 slack://a/B/C
).这听起来像是一个老错误:https://bugs.kde.org/show_bug.cgi?id=429408
我怀疑他们处理 links/links 的方式发生了变化 - 在我的情况下它与 slack 升级一致:slack-desktop:amd64 从 4.22.0 到 4.23.0。
查看进程列表:
- slack 网站要求浏览器打开 link 大写
- kde-open5 运行 正确 link
- slack 是 运行,工作空间 lower-cased
我已将此问题报告给 slack 的所有细节,所以我希望它会得到修复。
解决方法:
只是添加一些细节到什么 (
- 运行 bash中的快速脚本:
while sleep .1; do ps aux | grep slack | grep -v grep | grep magic; done
尝试登录 slack - 在浏览器中接受登录尝试
您应该在控制台中看到登录 link:
kde-open5 slack://WORKSPACE_ID/magic-login/...
/usr/lib/slack/slack --enable-crashpad slack://workspace_id/magic-login/...
- 打开 slack 正确 link:
/usr/lib/slack/slack --enable-crashpad slack://WORKSPACE_ID/magic-login/...
我正在使用 Archlinux,点击 link 都没有用,也没有将 link 传递给 slack 参数。如果你在浏览器中打开开发控制台,你也可以找到正确的 link 它应该在控制台输出中。如果您将此 link 复制到剪贴板 (ctrl+c),然后切换到您的 slack 应用程序。似乎 onFocus slack 会自动读取剪贴板并处理它(如果它是 link)。这样就可以登录了。
我几乎每次重新启动计算机时都会遇到这个问题,而且我有大约 10 个活动的 slack 工作区,所以破解了一个快速的 bash 脚本来为我做大写技巧。它并不意味着坚固,但它确实有效。我会把它留在这里以防它对其他人有用。
# Workaround to get slack to open workspaces correctly.
# Problem and workarond concept as described here:
#
# 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 "^$"
感谢这里对问题的出色分析,我设法创建了一个脚本来避免这个问题。
#!/usr/bin/env bash
if [[ "${1:-}" = slack://* ]]; then
exec /usr/lib/slack/slack --enable-crashpad ""
fi
exec /usr/bin/xdg-open "$@"
将上述脚本保存为/usr/local/bin/xdg-open
并使脚本可执行。就是这样!
我真的希望 KDE 团队对这样一个基本问题表现出一些热爱,尤其是考虑到 Slack 的广泛使用。
在 Kubuntu 20.04 和 Chrome 浏览器中遇到同样的问题。 Firefox 解决了这个问题)