解决新版Edge浏览器右上角不显示Copilot图标的问题_edge配置profile-程序员宅基地

技术标签: edge  copilot  windows  

概述

本文主要介绍一种通过修改配置文件来解决新版Edge浏览器右上角不显示Copilot图标的方法,该方法适用于Edge的正式版和Dev版。

经测试,此方法适用于windows、macOS和linux系统下的Edge浏览器。

另外,文章最后还补充了一种通过下载旧版Edge浏览器解决这个问题的方法,以备将来第一种方法失效。

前提

需要科学上网,对节点没有限制。但如果使用规则/分流模式,需要让 *.bing.com 域名的流量走代理

操作系统:Windows10, macOS Catalina, Debian

测试Edge版本:

正式版:120.0.2210.91 (正式版本) (64 位) 和121.0.2277.83 (正式版本) (64 位)

Dev版:122.0.2353.0 (Official build) dev (64-bit)

解决思路

经过逐步排查发现,正式版Edge浏览器会把用户数据保存在下面这个目录:

Windows系统: %APPDATA%\..\Local\Microsoft\Edge\User Data

linux系统: $HOME/.config/microsoft-edge

macOS系统: $HOME/Library/Application Support/Microsoft Edge

而Dev版Edge浏览器会把用户数据保存在下面的目录:

Windows系统: %APPDATA%\..\Local\Microsoft\Edge Dev\User Data

linux系统: $HOME/.config/microsoft-edge-dev

macOS系统: $HOME/Library/Application Support/Microsoft Edge Dev

而决定浏览器右上角Copilot图标显示与否的开关就藏在浏览器用户数据目录下的某个配置文件中,120版本在 Local State 文件,121及以上版本在 Default 文件夹的 Preferences 文件中。

如此,只需要稍微修改一下这个文件就可以了。

具体步骤

1. 彻底关闭Edge浏览器

(1)Windows和Linux系统关闭Edge

需要彻底关闭浏览器,以防有插件让Edge还在后台运行。

点击浏览器右上角三个点,点击下拉列表的 关闭 Microsoft Edge

在Windows系统中,为了确认Edge浏览器已经完全退出,可以在任务管理器的详细信息中查找是否有名为 msedge.exe 的进程,若有则需要手动结束进程,若无说明Edge浏览器已完全退出。

(2)macOS系统关闭Edge

在Edge浏览器长按 Command + Q 退出。

2. 修改配置文件

(1)找到用户数据目录

首先根据上文的信息,以及自己的操作系统和Edge浏览器版本找到对应的浏览器用户数据目录。如:windows10的正式版Edge浏览器的用户数据目录为 %APPDATA%\..\Local\Microsoft\Edge\User Data

  • 如何打开这个目录

在windows10中:按 win + E 打开资源管理器,将这个路径复制到地址栏,按回车即可进入该目录。

在macOS中:正式版Edge浏览器的用户数据目录为 $HOME/Library/Application Support/Microsoft Edge

首先在访达中按 Shift + Command + H 打开 $HOME。其中的 Library 文件夹是隐藏起来的,如果用户主目录中没有,可以按 Shift + Command + . 显示出来,如果系统语言是中文的话,这个文件夹名为 资源库。随后逐级打开文件夹进入到该目录。

在这里插入图片描述

(2)确定浏览器版本

在Edge浏览器地址栏输入 edge://version,按回车打开,第一行显示的就是版本

(3)编辑配置文件

120版本

如果Edge浏览器版本是120.x.xxxx.xx,则需要修改用户数据目录下的 Local State 文件,这是一个以JSON格式保存数据的文本文件,用文本编辑器打开。

搜索 "variations_country":,将其后紧接着的 "CN" 替换为 "US",这对双引号中的值为一个表示国家的2字母代码,当它的值为 CNRU 等Copilot服务不可用的国家时,Copilot图标将会被屏蔽;当它的值为 USFR 等国家时,Copilot就可用了。

也就是说,需要将 "variations_country":"CN" 替换为 "variations_country":"US"

修改完成后保存退出即可。

121及以上版本

如果Edge浏览器版本是121.x.xxxx.xx或122.x.xxxx.xx时,需要在浏览器用户数据目录下找到诸如 DefaultProfile 2Profile 3 等的用户档案文件夹,再从中找到 Preferences 文件。

众所周知,Edge浏览器可以登录多个用户/账号,每个登录过的用户都会有其独有的个人数据,每一个用户的这些数据都会保存在浏览器用户数据目录下的一个独立的文件夹中。当只登录过一个用户时,浏览器用户数据目录中就会有一个名为 Default 的文件夹用于保存该用户的个人数据,在此基础上再创建/登录一个新的用户时,这个新用户的个人数据就会保存在浏览器用户数据目录中的 Profile 2 文件夹中,当创建第3个用户时,其个性化数据会保存再 Profile 3 文件夹中,以此类推。

暂且将这些浏览器用户数据目录中的 Default 和类似 Profile 2Profile 3 等的文件夹称为用户档案文件夹(Profile),每一个用户档案文件夹都保存有一个Edge浏览器用户的个人数据。

在每一个用户档案文件夹中都有一个名为 Preferences 的文件,这是一个以JSON格式保存数据的文本文件,用文本编辑器打开。

搜索 "chat_ip_eligibility_status":,将其后紧接着的 false 替换为 true

也就是说,需要将 "chat_ip_eligibility_status":false 替换为 "chat_ip_eligibility_status":true

注:若将该文件读取为JSON,则 chat_ip_eligibility_status 这个键位于 browser 键之下。

若文件中找不到 chat_ip_eligibility_status 这个键,则需要手动添加,先搜索 "browser":{ ,然后将 "browser":{ 替换为 "browser":{"chat_ip_eligibility_status":true,

修改完成后保存退出即可。

当你需要在哪个用户启用Copilot图标,就找到这个用户对应的用户档案文件夹,修改其中的 Preferences 文件。

当需要同时启用多个用户的Copilot图标时,建议使用脚本修改。

自动化修改

当然,还可以写个Python脚本,实现一键修改,这样就不用每次都手动修改了。

适用于各个版本和系统的Python脚本:

https://github.com/jiarandiana0307/patch-edge-copilot

这个脚本能自动关闭Edge,根据具体浏览器版本修改特定的配置文件,随后重启浏览器,无须再手动执行退出Edge、改配置文件等操作。

3. 科学上网并打开Edge浏览器

此时右上角的Copilot图标回来了。

注意:如果此后打开Edge时没有科学上网,可能会导致Copilot图标再次消失,重复以上步骤即可

总结

以下是笔者对相关原理的个人猜测:

Edge浏览器右上角的Copilot图标之所以会消失,是因为用户曾在Edge浏览器中以国内IP访问过Bing的AI服务,这样,Edge浏览器就会认定用户在国内,由于微软不在国内提供Bing的AI服务,Edge浏览器便会屏蔽该功能。

通过删除或替换Edge的配置文件,可以在本地抹除用户曾以国内IP访问过Bing服务的痕迹,从而让浏览器误以为用户IP并不在国内,进而实现正常使用Bing AI服务的目的。

而重装Edge浏览器之所以不起作用,是因为用户以国内IP访问过Bing AI服务的痕迹保存在特定的应用数据路径中,重装Edge浏览器并不会清除相关访问数据,Edge浏览器仍会认定用户在国内,从而屏蔽AI功能。

随着Edge浏览器的继续更新升级,Edge的AI服务对国内IP访问的检测和限制可能会越来越严格,如果上述方法失效可以尝试删除整个保存Edge用户数据的文件夹(例如:%AppData%\..\Local\Microsoft\Edge\User Data),但要注意这会导致Edge浏览器的所有用户数据的丢失。

补充:下载旧版Edge

newbing吧的一个帖子提到可以下载旧版本Edge解决

出处:https://tieba.baidu.com/p/8782048284

以下展示Windows系统下安装旧版Edge浏览器的方法,linux和macOS系统可以如法炮制。

1.先下载旧版Edge安装包

打开官网下载链接:

https://www.microsoft.com/en-us/edge/business/download?form=MA13H4

页面往下可以找到旧版Edge的下载方式,选择Stable 119版本,再选择对应的系统版本下载,下载后安装即可。

下载旧版Edge

2.使用Remove-MS-Edge工具卸载Edge

此举不会删除Edge浏览器的用户数据,可以放心卸载。

该工具的github项目地址:

https://github.com/ShadowWhisperer/Remove-MS-Edge

这里使用该工具的GUI版本进行演示:

(1)打开以下链接下载Remove-Edge_GUI.exe

https://github.com/ShadowWhisperer/Remove-MS-Edge/blob/main/Remove-Edge_GUI.exe?raw=true

如果报毒不用理会,继续下载并保留程序

(2)运行程序,点击 Remove 等待显示 Finish 完成卸载

卸载旧版Edge

3.安装Edge

运行步骤1下载的旧版Edge安装包完成安装

4.禁用更新

为了防止Edge浏览器自动更新至最新版本,可以通过禁用更新服务和修改更新程序的方式来禁止Edge浏览器更新。

这里演示修改更新程序的方法:

找到 %ProgramFiles(x86)%\Microsoft\EdgeUpdate 目录中的 MicrosoftEdgeUpdate.exe 更新程序,将它重命名,例如 MicrosoftEdgeUpdate2.exe,另外,还要将 %ProgramFiles(x86)%\Microsoft\Edge\Application\119.0.2151.97 目录下的 elevation_service.exe 重命名(这里的119.0.2151.97对应你所安装的旧版Edge版本号)。

这两个都是Edge浏览器的更新升级程序,将它们重命名后,Edge浏览器就会因为找不到更新程序而无法更新。当需要更新浏览器时,只需改回原名即可。

详见:https://www.zhihu.com/question/426726552/answer/2317056446

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZXF_BW/article/details/135232140

智能推荐

Bug的生命周期状态流程图_bug生命周期流程图-程序员宅基地

文章浏览阅读4.3k次,点赞2次,收藏8次。bug的生命周期BUG的生命周期,就是一个BUG被发现到这个BUG被关闭的过程。生命周期中缺陷状态:新建-->指派-->已解决-->待验-->关闭发现BUG-->提交BUG-->指派BUG-->研发确认BUG-->研发去修复BUG-->回归验证BUG-->是否通过验证-->关闭BUG如果待验的BUG在验证时没有解决好,我们需要重新打开--指派—已解决—待验,循环这个过程。中间其他状态:拒绝、延期等_bug生命周期流程图

Pandas对行/列求和_pandas对具体列求和-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏18次。Pandas对行/列求和_pandas对具体列求和

Visio--用例图、类图、顺序图、活动图_visio画用例图-程序员宅基地

文章浏览阅读1.9w次,点赞32次,收藏228次。做个小结。_visio画用例图

程序员的路----程序员一定要仔细看_程序员的道路-程序员宅基地

文章浏览阅读2.2k次。在网上看到的恶搞程序员的图片,实在是搞笑。看一次笑一次!程序猿的十年他不是乞丐,请尊称他为程序猿。对,他就是程序猿!其实,你们看到的不是僵尸,他们都是苦逼的程序猿!这不是恶搞的,是一个真实的故事!看他的拐杖,其实也挺可怜的!不知是不是敲代码敲多了,把脚敲颓了!_程序员的道路

从Atlas到Microsoft ASP.NET AJAX(6) - Networking, Application Services-程序员宅基地

文章浏览阅读42次。NetworkingCalling Web Service Methods from Script  为了简化Web Services方法调用,客户端代理的设计被改变了,它在方法调用和回调函数设置方面提供了强大的灵活性。  下面的例子展示了CTP版本中Web Services方法的客户端调用,以及回调函数的使用方式。第一个例子展示了在CTP版本中Web ..._.net6 applicationservices

一文带你了解socket网络编程以及详解过程和原理_socket编程-程序员宅基地

文章浏览阅读1.1w次,点赞42次,收藏178次。Socket(套接字)是计算机网络编程中的一种抽象概念,它提供了在网络上进行通信的接口。通过使用 Socket,可以在不同计算机之间建立连接,并进行数据的传输和交换。通过 Socket,客户端可以与服务器建立连接并发送请求,服务器接收请求并返回响应。通过 Socket,可以在多个用户之间实现实时的文字、音频或视频通信。可以使用 Socket 在不同计算机之间传输文件,如上传和下载文件。可通过 Socket 在远程计算机上执行指令或操作。_socket编程

随便推点

IT发展方向_it以后的几个方向-程序员宅基地

文章浏览阅读626次。自己的IT发展方向。1.做T型进化,横向做语言(java、python)的扩展,纵向主要是算法、模式、计算机原理。2.多系统的学习,WINDOW和LINUX的基本操作及维护。3.尽量做产品,少做项目,提高自己的竞争力。4.外语学习,日语是工作方面,英语是学习方面。坚持做自己喜欢的事。_it以后的几个方向

计算机考研408每日一题 day78_命中率高且电路实现简单的cache内存映射方式-程序员宅基地

文章浏览阅读392次。对于二叉排序树,下面的说法 ___是正确的。(华南理工大学 2006年)设备驱动程序在读写磁盘数据时一般釆用下列哪种I/O方式?(中国科学院大学 2018)下列___交换技术是独占信道工作方式。(中南大学 2006年)命中率高且电路实现简单的Cache 与内存映射方式是___映射方式。(中国科学院大学 2015)_命中率高且电路实现简单的cache内存映射方式

Unhandled exceptions: java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException_unhandled exceptions: java.lang.instantiationexcep-程序员宅基地

文章浏览阅读3.2k次。可能是没有异常处理,只需要加上throws Exception就解决问题了。_unhandled exceptions: java.lang.instantiationexception, java.lang.illegalacc

webview ERROR_UNSUPPORTED_SCHEME ,errorcode=-10问题处理-程序员宅基地

文章浏览阅读1.5k次。webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { try{ if(url.startsWith("baidumap://")){ Intent _error_unsupported_scheme

embed标签-程序员宅基地

文章浏览阅读66次。Embed  (一)、基本语法:  embed src=url  说明:embed可以用来插入各种多媒体,格式可以是 Midi、Wav、AIFF、AU、MP3等等, Netscape及新版的IE 都支持。url为音频或视频文件及其路径,可以是相对路径或绝对路径。  示例:<embed src="your.mid">  (二)、属性设置:  1、自动播放...

php 上传文件漏洞,PHP -- 文件包含、文件上传漏洞-程序员宅基地

文章浏览阅读330次。PHP -- 文件包含、文件上传漏洞PHP -- 文件包含、文件上传漏洞文件包含文件引入漏洞,是由一个动态页面编译时引入另一个文件的操作。文件引入本身是没有问题,它是用于统一页面风格,减少代码冗余的一种技术。但是在特定的场景下就会形成漏洞jsp:include指令和include动作,其中include动作用于引入动态文件php:include(),include_once(),require()..._php文件上传4漏洞

推荐文章

热门文章

相关标签