如何让 Firefox 像铬一样在后台运行?

akk*_*kk3 7 firefox window-manager chromium minimize background-process

Chromium 中的一个已知功能是使其在后台运行的选项,这使得打开 .

是否可以对 Firefox(和其他应用程序)执行相同的操作?

Jac*_*ijm 6

在后台运行应用程序

下面的解决方案将允许您在后台运行 Firefox(或任何其他应用程序),这意味着:没有可见窗口。该应用程序也不会在 Dash 中显示为正在运行的应用程序:

在此处输入图片说明

在此处输入图片说明

Toggle Firefox但是,如果您选择,应用程序将立即弹出:

在此处输入图片说明

这个怎么运作

  1. 如果面板图标(指示器)启动,它会启动一个新firefox窗口,但立即将它(包括可能的现有firefox窗口)隐藏在地球表面,使用xdotool

    xdotool windowunmap <window_id>
    
    Run Code Online (Sandbox Code Playgroud)

    这不仅会隐藏窗口,也将隐藏的事实firefox是运行在所有的,因为发射器作用明显现有窗口的统一。

  2. 指示器将所有未映射窗口的 id 存储在 中~/.config/hidden_windows,以便在您下次Toggle Firefox从菜单中选择时进行映射。

剧本

xdotool windowunmap <window_id>
Run Code Online (Sandbox Code Playgroud)

如何使用

  1. 该脚本同时需要wmctrlxdotool

    sudo apt-get install wmctrl xdotool
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将脚本复制到一个空文件中,另存为 firefox_bg.py

  3. 通过以下命令测试运行脚本:

    python3 /path/to/firefox_bg.py
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果一切正常,请将其添加到启动应用程序:Dash > 启动应用程序 > 添加。添加命令:

    /bin/bash -c "sleep 10 && python3 /path/to/firefox_bg.py"
    
    Run Code Online (Sandbox Code Playgroud)

    或者,将下面的代码复制到一个空文件中,将其另存为firefox_bgrunner.desktopin ~/usr/share/applications,注销并重新登录。

    [Desktop Entry]
    Type=Application
    Exec=python3 /path/to/firefox_bg.py
    Name=Firefox Webbrowser Background Runner
    Icon=firefox
    StartupWMClasss=nonsense
    
    Run Code Online (Sandbox Code Playgroud)

    *最后一行,StartupWMClasss=nonsense是为了确保Firefox windows will appear under their own icon, not the one of the indicator.

    无需提及您必须编辑该Exec=行以反映您存储位置的真实(绝对)路径firefox_bg.py

    然后,您将可以从 Dash 获得面板运行器:

    在此处输入图片说明

其他应用?

我用gnome-terminaland测试了相同的过程Thunderbird(后者通常不是启动最快的),它运行良好:

在此处输入图片说明

要与其他应用程序一起使用,只需编辑以下行:

app = "firefox"
Run Code Online (Sandbox Code Playgroud)

但是请注意,某些应用程序似乎会检查他们创建窗口的尝试是否成功,如果第一个未映射,则创建第二个。这发生在我身上Inkscape

该脚本甚至可以完美地使用,但需要进行小的编辑。如果有人可能需要将它与 一起使用Inkscape,请发表评论。