Skip to content

auval command (and related code) not working properly in iTerm >=3.2.8

auval -a and command-line utilities with code such as components = AVAudioUnitComponentManager.shared().components(matching: componentDescription) should list 3rd-party Audio Unit plugins in addition to ~50 Apple ones.


This appears to have stopped working in iTerm v3.2.8. I've tested this issue does not happen for Apple Terminal in Yosemite, High Sierra, Mojave, Catalina.


I "git-bisected" and have convinced myself that this issue is due to:

commit 2fc36054 Author: Ra************ Date: Wed Jan 30 04:12:10 2019 -0200

Move iTerm-server daemon to per-user namespace. Issue 4147 (#381)

Commenting out the following line in shell_launcher.c (attached) appears to fix the issue:

MoveOutOfAquaSession();

That line has the this comment:
// Let's move to the 'per-user' namespace! [Must be done here, just before the fork()]

The only real change to shell_launcher.c in this commit is the addition of the definition of that function and the call to it in int iterm2_server(int argc, char *const *argv).



Detailed steps to reproduce the problem:

  1. Install a 3rd-party Audio Unit plugin if you don't have any installed, e.g., https://www.tokyodawn.net/tdr-nova/
    (free download under GUI photo, use AU alias in Installer dmg)
  2. Skip to step 3 or log out and back in (even a reboot might be necessary to register the plugin).
  3. Check 3rd-party AU(s) are installed in Apple Terminal with auval -a | grep -v Apple
  4. Open iTerm and type auval -a [ | grep -v Apple ]

What happened: No 3rd-party plugins are listed -- only the Apple ones, about 56 of them.

What should have happened: In my case, an additional ~80 plugins should be listed.

Edited by James