无法登录 Slack snap 应用程序

jay*_*llr 5 chromium snap slack

我已经完成sudo snap install slack --classic并且现在拥有 Slack snap 应用程序(v. 4.1.2)。当我slack从终端运行时,它会打开应用程序,并带有登录按钮。单击此按钮会在我的默认浏览器(chromium、snap app v. 78.0.3904.108)中打开 Slack 登录页面,我在其中成功登录。

问题是它会说,“让你登录到 Slack。你应该在几分钟后被重定向。” 然后,一个弹出窗口出现:“打开xdg-open?” 我选择“xdg-open”(而不是“cancel”)然后……什么也没发生。Slack snap 应用程序仍然显示登录页面,而浏览器认为我已经登录并只说“让你登录到 Slack”。

这是因为 Chromium snap 应用程序的沙盒问题吗?我希望我的 Slack(多个工作区)位于一个单独的应用程序中,而不是被困在浏览器选项卡中,因此我们将不胜感激!并道歉,如果这是张贴在错误的地方;我很想知道其他地方可以更好地解决这个问题。

其他可能相关的细节:

  • 硬件:2015 Macbook Pro 13" Retina
  • 操作系统:LXLE 18.04

小智 15

在快速安装 Slack 时遇到了这个问题。使用 Firefox 而不是基于 Chromium 的浏览器就达到了目的。


Ved*_*eda 7

2022 编辑:这个答案是旧的。Snap 添加了 slack 作为允许的 url 方案。请参阅https://github.com/snapcore/snapd/blob/master/usersession/userd/launcher.go ~第 100 行。

这是因为 snap 不允许您使用特殊的 url 方案,例如 slack:// 。所以 chrome 尝试打开它,但它被阻止了。如果您使用apt中的firefox,则不会出现此错误,并且它会正常工作(即使您使用snap中的slack)。该错误显示在您的系统日志中:

user-open error: Supplied URL scheme "slack" is not allowed
Run Code Online (Sandbox Code Playgroud)

无论如何,要使用 chromium 登录,页面底部会显示以下内容:

App didn't open? Try again, or sign in to Slack for the browser.
Run Code Online (Sandbox Code Playgroud)

右键单击“重试”,选择“复制链接地址”,然后将其复制到剪贴板中,然后返回到 slack。Slack 会在您的剪贴板中看到该 URL 并让您登录。

注意:事实上,这是一个 slack 功能。这不适用于缩放等其他应用程序,除非它们也内置了此功能。


小智 6

从浏览器复制链接并运行

xdg-open slack://...yourlink
Run Code Online (Sandbox Code Playgroud)

在您的终端中。


kri*_*ous 5

将 x-scheme-handler 添加到您的 mimeinfo.cache 中,如下所示:

$ echo "x-scheme-handler/slack=slack.desktop;" >> ~/.local/share/applications/mimeinfo.cache
Run Code Online (Sandbox Code Playgroud)

确保您有 slack.desktop 文件 在/usr/share/applications/~/.local/share/applications/

如果你不这样做,那就试试这个。

$ slack=$(which slack); cat > ~/.local/share/applications/slack.desktop << ENDL
[Desktop Entry]
Name=Slack
StartupWMClass=Slack
Comment=Slack Desktop
GenericName=Slack Client for Linux
Exec=$slack
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Network;InstantMessaging;
MimeType=x-scheme-handler/slack;
ENDL
Run Code Online (Sandbox Code Playgroud)

然后cat ~/.local/share/applications/slack.desktop确保Exec=点松弛。

如果这不起作用,请尝试

$ sudo apt install inotify-tools
$ inotifywait -m ~/.local/share/applications/{slack.desktop,mimeinfo.cache}
Run Code Online (Sandbox Code Playgroud)

并查看这些文件是否正在打开。如果仍然失败,请在下面评论您的问题,我会回来告诉您后续步骤。在互联网上找到这个问题的错误答案真是令人沮丧,我知道你的痛苦。