loading...

How do I speed up new Terminal tab loading time?

ssbozy profile image Sandilya Bhamidipati ・1 min read

This is a note-to-self post.
from stackexchange

The problem is caused by a (potentially) expensive ASL system log lookup. To see this in action, run sudo fs_usage | grep 'asl.*login' in a Terminal window, then open a new Terminal window.

To solve the problem, configure Terminal to launch a non-standard shell:

  • Create a symlink to your preferred shell. E.g.: sudo ln -s /bin/bash /usr/local/bin/bash
  • Open Terminal Preferences and select the "General" tab.
  • Select "Shells open with: Command" and enter the symlink you created in step 1. E.g. "/usr/local/bin/bash".

Note 1: You may also need to add bash and -bash to the process list at "Terminal Preferences > Profiles > Shell > Ask before closing".

Note 2: /usr/local/bin is writable in OS X 10.11 (El Capitan) Rootless mode.

To verify the fix:

  • Open a new Terminal window.
  • "Last Login:" should not be displayed at the top
  • Open the inspector (Command + I) and select the Info tab.
  • The command should read login -pfq username /usr/bin/bash or login -pfql username ...

Important: If the login command does not include the -q parameter, then you have not fixed the problem.

You can also use sudo fs_usage | grep 'asl.*login' to verify that /var/log/asl is not accessed when opening a new Terminal window.

Posted on Jul 11 '18 by:

ssbozy profile

Sandilya Bhamidipati

@ssbozy

I write code during the day. In the evening I cook for my beautiful family. By night I build fun stuff using hardware and software. Ping me if you have an idea and I can lend my hand.

Discussion

markdown guide