在系统设置>>在线账户当我添加 Facebook 帐户时,它会将我重定向到浏览器并打开下图中的网页,之后什么也不做
有什么帮助吗?
答案1
我想就这个问题发表一下看法,以便澄清一下。我重申一下这个 ubuntu 论坛帖子中的讨论:http://ubuntuforums.org/showthread.php?t=2146595
每个人都遇到的问题是由于 Facebook 的“安全浏览”选项。这要求 Facebook 登录和连接使用 HTTPS,而不是 HTTP(安全 HTTP 与普通 HTTP)。默认情况下,我相信在线帐户使用的是 HTTP,所以这根本行不通。
因此,我们有几个选择。
选项1(不安全的解决方案):通过 Facebook.com 上的安全界面禁用 Facebook 安全浏览。这将禁用所有设备(例如手机、其他计算机等)上所有 Facebook 页面上的 HTTPS 默认设置。这有效,但不是理想的解决方案。
选项 2(正确方法):我们可以简单地要求在线帐户仅使用 HTTPS 连接,而不是 HTTP 连接。为此,我们可以使用 Derek Karpinski 之前的建议(引述如下)。这实际上是告诉在线帐户尝试 HTTP 和 HTTPS。由于 Facebook 需要 HTTPS,这就是我们想要的。执行以下步骤后,删除 Facebook 上的 Ubuntu 应用程序(如果您之前尝试过但未能添加它),退出 Facebook,然后关闭在线帐户。您实际上不需要重新启动计算机,只需关闭在线帐户即可。重新打开在线帐户并重试。一切应该会很好!
修复方法如下,在终端中运行以下命令:
gksudo gedit /usr/share/accounts/providers/facebook.provider
它将打开文本编辑器。该文件是 Facebook 帐户资料。添加以下行:
<setting name="AllowedSchemes" type="as">['https','http']</setting>
紧接着这一行:
<group name="user_agent">
保存文件并关闭文本编辑器。现在您将能够从在线帐户面板正确输入您的 Facebook 凭据。
答案2
一行命令修复以下萨尔普先前的答案(在终端中复制粘贴):
sudo sed -i.bak "/<setting name=\"ClientId\">/a\ <setting name=\"AllowedSchemes\" type=\"as\">\['https','http'\]<\/setting>" /usr/share/accounts/providers/facebook.provider
如果此方法不起作用,您仍然可以使用以下备份回滚到文件的先前版本:
sudo mv /usr/share/accounts/providers/facebook.provider.bak /usr/share/accounts/providers/facebook.provider
希望它能有所帮助!
答案3
我在这里找到了答案https://bugs.launchpad.net/ubuntu/+source/gnome-control-center-signon/+bug/1180297 执行的是 gksu gedit /usr/share/accounts/providers/facebook.provider
添加 <setting name="AllowedSchemes" type="as">['https','http'] 以及其他设置,删除 < 后的空格并保存,对我来说很有效,但发布它的人说它会使你的桌面面临一些安全风险