Tor-Browser 在 Unity Launcher 中显示为 Firefox

Mos*_*rha 7 icons launcher .desktop tor-browser

运行 Ubuntu 16.04 64 位,我已经从 Ubuntu 存储库(通过终端)安装了 Tor-Browser。但是当我运行它时,它作为 Firefox 运行。虽然它在破折号中的图标是它自己的,但当它运行时,它会在窗口之间切换时显示 Firefox 图标。在顶部面板上,它还显示了 Firefox 网络浏览器,而不是 Tor-Browser。

在此处输入图片说明

这是当前的内容/usr/share/applications/torbrowser.desktop

[Desktop Entry]
Name=Tor Browser
GenericName=Tor
Comment=Launch Tor Browser
Exec=torbrowser-launcher %u
Terminal=false
Type=Application
Icon=/usr/share/pixmaps/torbrowser.png
Categories=Network;WebBrowser;
Run Code Online (Sandbox Code Playgroud)

(图标相关的那一行是我自己改的)

如果我打开一个普通的 Firefox 窗口,Firefox 和 Tor-Browser 都会出现在 Firefox 图标下。

在迁移到 16.04 之前,我在 15.10 中没有遇到此问题,我从其网站安装 Tor-Browser。

Jac*_*ijm 4

该问题是由Tor 浏览器Firefox在其属性中共享一个字符串引起的WM_CLASSS

如果您打开终端,请输入

xprop WM_CLASS
Run Code Online (Sandbox Code Playgroud)

点击Firefox的窗口,你会得到:

WM_CLASS(STRING) = "Navigator", "Firefox"
Run Code Online (Sandbox Code Playgroud)

...以及 Tor 浏览器:

WM_CLASS(STRING) = "Navigator", "Tor Browser"
Run Code Online (Sandbox Code Playgroud)

因此,该firefox.desktop文件(及其在 Unity/Dash 中的图标)假定 Tor 浏览器窗口是“他的”。

怎么解决

  • 运行命令:

    cp '/usr/share/applications/torbrowser.desktop' ~/.local/share/applications && gedit ~/.local/share/applications/torbrowser.desktop
    
    Run Code Online (Sandbox Code Playgroud)

    这会将全局复制torbrowser.desktop~/.local/share/applications,然后使用 打开它gedit

  • 现在将以下行添加到文件的最末尾:

    StartupWMClass=Tor Browser
    
    Run Code Online (Sandbox Code Playgroud)

    保存并关闭文件。这样,Tor 浏览器的.deskop文件将识别其自己的窗口。

  • 注销并重新登录,应该可以修复。

    在此输入图像描述

  • 我认为应该向 Tor 浏览器开发人员报告,他们应该更改其“WM_CLASS”或至少更改浏览器附带的“.desktop”文件。很高兴它有效! (2认同)