我该如何解决?
#1 楼
编辑2015年10月14日显然,此问题已在Google Chrome v46中修复。如果仍然遇到问题,请尝试升级Chrome。
要解决此问题,可以按照本文中概述的步骤进行操作:
将Google Chrome的.desktop文件的副本复制到用户的本地应用程序文件夹中:
:
cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications
文件打开后,粘贴以下行:
scratch-text-editor ~/.local/share/applications/google-chrome.desktop
某处文件中的三个部分中的每个部分:
[Desktop Entry]
,[NewWindow Shortcut Group]
和[NewIncognito Shortcut Group]
(例如,在每个部分的末尾)。1保存并关闭文件。
删除Google Chrome从
Plank
启动器(如果已选中,请取消选择Keep in dock
),然后使用Slingshot
启动器打开浏览器。为在Plank中出现的新Google Chrome图标选择
Keep in dock
(应该不会模糊)。1如果要针对其他程序修复此问题,则可以找出窗口中有哪个
WM_CLASS
在输入终端时:StartupWMClass=Google-chrome-stable
,然后单击窗口。如果使用的是Google Chrome浏览器,则输出如下:
xprop WM_CLASS
添加该行之后,请确保删除了先前的启动器,然后启动该应用程序,然后右键单击其停靠图标,检查“保持停靠”:只需拖放
.desktop
文件进入扩展坞仍可能导致第二个启动器/图标出现在扩展坞中。评论
我建议将.desktop文件复制到您的用户本地应用程序文件夹中,然后编辑该文件:cp / usr / share / applications / google-chrome.desktop〜/ .local / share / applications。它可以防止将来的chrome更新覆盖您的更改。
–拉斐尔
15年6月30日在18:55
@Rafael请单独回答,所以我们可以推荐该解决方案(或编辑问题以集成您的方法)。绝对需要一种防更新的解决方案。
–waldyrious
15年6月30日在19:02
我可以添加建议,似乎是一个合理的建议。由于我还没有尝试过,因此首先要提出一个问题:从Slingshot启动浏览器时,此新的.desktop文件是否将是默认文件?如果是这样,我可以在第3点和第4点之间添加cp线。
–加百列
2015年6月30日19:05
@Gabriel是的,将首选本地应用程序文件夹中的每个重复的.desktop文件。我已经编辑了您的答案...
–拉斐尔
2015年6月30日19:11
我不确定将用户引导至终端是最好的选择。也许可以提供使用“文件”应用的替代指导?这里还有一些问题:搜索应用启动器现在将显示两个Chrome条目,并且用户将不再获得最新的Chrome启动器(这意味着如果Google更改了翻译或新的启动器集成等内容,不会得到它,也不知道为什么)。可能需要提及这是Chrome本身存在的问题,并且已在其错误跟踪器中进行了确认:code.google.com/p/chromium/issues/detail?id=378881
–卡西迪(Cassidy James Blaede)
15/09/14在18:55
#2 楼
这是Google Chrome的问题,会影响多个操作系统,并且已在Google的问题跟踪器中得到确认。就是说,您可以在基本OS中解决它。解决方法:
1。复制应用启动器
打开“文件”应用,单击顶部的位置栏,然后键入
/usr/share/applications/
。找到Google Chrome启动器并复制(辅助/右键单击>复制,或Ctrl + C)。
在顶部位置栏中单击并键入
~/.local/share/applications
,然后粘贴(辅助/右键单击>粘贴)或Ctrl + V)Chrome启动器。2。修改新的启动器
第二/右键单击您的
~/.local/share/applications
文件夹中的新Google Chrome启动器,然后选择“打开方式”>“其他应用程序”。它不存在,请选择“查看所有应用程序”,然后选择“临时”,然后单击“选择”。在打开的文件中,找到以
Exec=
开头的每一行,并在每个实例下方的新行上键入StartupWMClass=Google-chrome-stable
。关闭文件(除非已更改Scratch的默认设置,否则应自动保存)。
3。将其重新添加到扩展坞中,方法是:再次/右键单击它,然后取消选中“保留在扩展坞中”,或者直接将图标拖离扩展坞,从扩展坞中删除所有现有的Chrome启动器。
打开应用程序启动器(Applications),然后将Chrome图标拖到您的扩展坞中,或用辅助工具/右键单击它,然后选择添加到Dock。
注意事项:
此方法现已被证明可以使用,但可能会与将来的Google Chrome更新有关。可以删除。
您将继续收到有关Google Chrome浏览器的更新,但不再收到有关Google Chrome浏览器启动器本身的更新。这不应该成为问题,但是,除非您重复这些步骤,否则Google为启动器添加的任何新翻译或功能都不会为您显示。
#3 楼
这是按照盖博瑞尔(Gabriel)的回答所述的单线解决此问题:cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications && sed --in-place --regexp-extended 's/^(\[[A-Za-z ]+\])$/\nStartupWMClass=Google-chrome-stable/g' ~/.local/share/applications/google-chrome.desktop
)到用户目录的全局.desktop文件,因为后者会覆盖当前用户的前者,并且不会被软件包升级更改。如果该操作成功(
cp
),则使用&&
命令执行查找替换操作,该操作遵循模式sed
(其中sed 's/<find>/<replace>/<flags>'
代表“替代”)。逐步说明以下s
命令的内容:找到所有以sed
开头并以[
结尾的行(这是]
的一部分-RegExr或Regex101可以比我更好地解释它可以在这里:))将它们自己替换(
^(\[[A-Za-z ]+\])$
),然后用换行符(
)和字符串“ StartupWMClass = Google-chrome-stable” 替换所有对象,即全局标志(
\n
),并直接编辑文件(/g
),而不是输出到shell。最后一个参数是传递给--in-place
的文件名,这是sed
命令刚刚创建的文件。评论
也许解释一下这行是做什么的?特别是sed部分可能会使新用户感到困惑。
–加百列
15年8月20日在13:21
@Gabriel是的,那只是我的懒惰:)我本来打算像对这个答案那样扩展这个答案,但是我从来没有做过。我将编辑问题以添加详细信息。
–waldyrious
15年8月20日在14:48
@Gabriel感谢来回提示我扩大答案。我现在添加了详细信息,我同意这是一个更好的答案。我还通过将隐含的-i更改为拼写的-i,清除了不必要的-e并使用\ +而不是\ {1,\}来清理了一下命令(我之前曾尝试过Plain +而且它没有用,也没有出现我尝试转义它的方法:P)
–waldyrious
15年8月20日在15:40
实际上,我刚刚了解到,通过使用-r选项(为清晰起见,在此将其拼写),可以使正则表达式更加简单,以避免转义\ +,\(和\)。重新编辑问题。它不断变得更好! :D
–waldyrious
15年8月20日在16:14
真的不喜欢向用户提供神秘的一线终端命令。它鼓励将复制粘贴直接粘贴到Terminal中,这是一种坏习惯,并且可能非常不安全。
–卡西迪(Cassidy James Blaede)
2015年9月14日19:16在
#4 楼
这是非Chrome专用答案。 Chrome专用的解决方案。有关Google Chrome浏览器的大文字。另外,该解决方案实际上对我不起作用(请参阅下面的情况3)。因此,我认为最好有一个明确的单独答案-可以将所有标记为重复的封闭问题(以及其他将具有相同信念的问题)引用给该问题。此问题有所不同第二个图标是模糊的,例如在此Google Chrome问题中。 >同一应用程序的第二个启动器不仅模糊,而且完全缺少图标/图像,例如此处
第二个图标根本不是模糊的,但与第一个图标完全相同。解决这些差异的各种方法都将整合到此答案中。Plank扩展坞中的启动器对应于
.dockitem
中的~/.config/plank/dock1/launchers/
文件。每个.dockitem
文件都对应一个.desktop
文件。此类文件(它们本身就是“启动程序”,可以执行以启动应用程序)通常位于/usr/share/applications
或~/.local/share/applications
中(在这种情况下,可以使用Applications / Slingshot启动器找到并启动该应用程序),被放置在其他地方,从而避免通过更新将其更改(其缺点是无法在“应用程序/弹弓启动器/查找器”面板中看到它们)要在弹弓中找到它们并在更新后保留它们,最佳位置。[情况1-第二个图标与第一个相同,但是模糊]
主要答案中的解决方案是编辑在文本编辑器中,启动应用程序的
~/.local/share/applications
文件。那应该解决问题。上面的1。打开终端并运行 StartupWMClass=Name-of-application
光标变为十字形,单击目标应用程序的窗口。
在终端中,您应该看到一些内容格式为
xprop WM_CLASS
将该名称添加到行中,并将该行粘贴到
.desktop
文件中文件中三个部分的每个部分的某个位置: [NewWindow快捷方式组]和[NewIncognito快捷方式组](例如,在每个部分的末尾)。[情况2-第二个图标与第一个图标不同,只是缺少图像的通用图标]
像这里一样
该问题的OP对此发表了一个简单的答案:最后,有一种简单的方法可以解决此问题:只需将图标文件从
Name-of-application
更改为.desktop
,或使用此有用的应用程序来编辑菜单:https://apps.ubuntu.com/cat/applications/precise/alacarte/。 我无法验证,但与该问题被视为重复的问题所接受的解决方案相去甚远。 (因此,我标记为要重新打开该图标。)
[情况3-第二个图标与第一个完全相同]
当我创建了
webide.png
文件以启动DeadBeeF的静态beta版本时,该文件已在系统级别安装了稳定的(非静态)版本,然后将该文件拖放到扩展坞上。从扩展坞启动器启动程序时,出现了另一个相同的图标。选中“保持停靠”中的第二个图标/启动器,然后取消选中它,然后从中启动应用程序,将没有第二个图标,但是将启动稳定版本,而不是静态版本。同时保留它们和从两者启动应用程序,或者它们将分别启动其自己的版本,但在Plank中仅对系统级已安装版本的启动器加下划线。至此,在
webide.ico
中,存在的一个.desktop
文件将引用~/.config/plank/dock1/launchers/
中的.dockitem
文件启动主稳定版本。静态构建的启动程序是删除.desktop
中的usr/share/applications
文件,该文件引用的是在系统级别安装的稳定版本(同样,.desktop
文件不应出现在usr/share/applications
中),然后再次将其添加到Plank中以进行静态构建。这种情况是由于在系统级别安装了同一应用程序的一个版本而导致的。从系统级别卸载该文件(完全卸载,或者也为此使用静态版本)也可以解决此问题。
#5 楼
升级到版本46.0.2490.71及更高版本后,您可能会再次遇到此问题。发生此问题的原因是WM_CLASS
已更改为google-chrome
。 基于waldyrious的答案,最简单地解决它:
cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications && sed --in-place --regexp-extended 's/^(\[[A-Za-z ]+\])$/\nStartupWMClass=google-chrome/g' ~/.local/share/applications/google-chrome.desktop
#6 楼
sudo scratch-text-editor /usr/share/applications/google-chrome.desktop
找到一条线
Exec=/usr/bin/google-chrome-stable %U
我将我的名字更改为
Exec=google-chrome %U
重新启动Google Chrome浏览器后,该图标都很闪亮而且很漂亮:)
评论
您的更改将无法在下一次Google Chrome更新中保留下来。最好将.desktop文件复制到〜/ .local / share / applications并更改此副本。
–拉斐尔
15年8月20日在11:30
#7 楼
解决方法是安装Google-chrome-beta没问题,这也是一个较新的功能评论
或者只是安装铬浏览器;-)
– png2378
15年7月23日在19:56
评论
这也发生在露娜身上。我认为Freya标签是不必要的。然后我们也添加luna标签:)
我同意@Tim
相当公平,然后删除两个标签(Tim更快)。
@Daniel,该问题的解决是IMO的一个错误举动,因为这会使带有特定chrome图标问题的人更难找到此问题(当查看搜索结果列表时,标题是快速找到最重要的线索过滤结果)。请重新考虑,或者至少让我们首先在评论或meta中进行讨论。