在 Audacity 中使用原生 Unity 菜单

在 Audacity 中使用原生 Unity 菜单

在 Ubuntu 中使用 Audacity 时,您会发现菜单栏位于窗口内,而不是通常的位置。这意味着它占用的空间比应有的要多,并且无法使用菜单Alt来搜索菜单栏项目。

在此处输入图片描述

我想我会分享我的解决方案!

答案1

解决方案:

  1. 重命名(移动)原始文件:sudo mv /usr/bin/audacity /usr/bin/audacity_orig
  2. 创建自定义脚本来启动Auda​​city:sudo nano /usr/bin/audacity_mod并添加以下内容:

    #!/bin/sh
    
    export UBUNTU_MENUPROXY=1
    
    # Preform a check if there is an argument to avoid launching Audacity twice.
    # Audacity has to be opened without an argument first,
    # otherwise the "alt" menu doesn't show results from the menu bar.
    if [-z "$1"]; then
        audacity_orig
    else
        audacity_orig | (sleep 1 && audacity_orig "$1")
    fi
    

    解释:

    • 首先,通过运行启用本机菜单export UBUNTU_MENUPROXY=1
    • 通过执行audacity_orig,我们将启动原始 Audacity 程序(我们在上一步中重命名了该程序)。然后我们等待一秒钟,并使用audacity_orig "$file"将文件加载到之前启动的程序实例中。运行audacity_org "$1"将把文件路径作为参数传递给程序。我们需要同时运行这两个程序的原因是,Alt除非 Audacity 在没有参数的情况下启动,否则菜单(菜单栏搜索)似乎不起作用。

    注意:如果您不使用菜单Alt,您可以将最后 5 行替换为:audacity_orig "$file"

    export UBUNTU_MENUPROXY=1注意:您也可以从上面的脚本中省略该行,而改为改为该Exec=env UBUNTU_MENUPROXY=0 audacity %F/usr/share/applications/audacity.desktop(将 0 更改为 1,或删除该env UBUNTU_MENU_PROXY=0部分)。

  3. 最后,将 bash 脚本链接到 Audacity 的原始位置并使其可执行:

    • sudo ln /usr/bin/audacity_mod /usr/bin/audacity
    • sudo chmod +x /usr/bin/audacity

完毕!

您现在可以通过原生 Unity 菜单享受 Audacity:

在此处输入图片描述

菜单Alt也有效:

在此处输入图片描述

注意:通过 Unity Tweak Tool 更改操作系统主题后,您可能需要注销并重新登录才能使Alt菜单再次正常工作。


如果您希望恢复:

  • A:链接原程序:
    1. 删除链接:sudo rm /usr/bin/audacity
    2. 链接原始文件:sudo ln /usr/bin/audacity_orig /usr/bin/audacity
    3. 使链接再次可执行:sudo chmod +x /usr/bin/audacity
    4. (可选)删除脚本:sudo rm /usr/bin/audacity_mod,或者
  • B:将原始程序放回原处:
    1. 删除链接:sudo rm /usr/bin/audacity
    2. 移动(重命名)原始文件:sudo ln /usr/bin/audacity_orig /usr/bin/audacity
    3. (可选)删除脚本:sudo rm /usr/bin/audacity_mod

答案2

看起来 shell 脚本可能没有必要。根据此主题,该环境变量被更改以解决某些系统上的某些错误,因此他们更改了 Audacity 的 .desktop 条目。

在我的 16.04 系统上,只需更改为 即可让 Audacity 使用全局UBUNTU_MENUPROXY=0菜单。UBUNTU_MENUPROXY=1/usr/share/applications/audacity.desktop

相关内容