
Jedes Mal, wenn ich iTerm oder Terminal starte, nachdem ich es einige Stunden lang nicht benutzt habe, dauert es zwischen 10 und 20 Sekunden, bis eine Eingabeaufforderung angezeigt wird. Der Bildschirm ist leer, und obwohl ich tippen kann, kann ich keine Befehle ausführen.
Wenn ich eine der Anwendungen beende, sind nachfolgende Starts (sofern sie relativ bald danach erfolgen) recht schnell. Die Verlangsamung scheint nur aufzutreten, wenn die App mehrere Stunden lang nicht ausgeführt wurde.
Ich verwende OSX 10.5.7 auf einem MacBookPro. Auf einem anderen Computer habe ich genau dasselbe Setup, ohne Verlangsamungen.
Irgendwelche Ideen, wie man die Dinge wieder beschleunigen kann?
Antwort1
Versuchen Sie, die Apple-Systemprotokolldateien in folgendem Verzeichnis zu löschen /var/log/asl/
:
sudo rm /var/log/asl/*.asl
Bei mir hat es geklappt.
Antwort2
Ein weiterer Tipp könnte hilfreich sein:
Ändern Sie die Startshell von der Standard-Shell /usr/bin/login
auf /bin/bash -l
oder /usr/bin/zsh
wenn Sie zsh verwenden.
Dadurch kann Ihr Terminal/iTerm2 möglicherweise in Lichtgeschwindigkeit gestartet werden!
Für Terminal: Einstellungen → Start: Ändern Sie von „Standard-Anmeldeshell“ in „Befehl:
/bin/bash -l
“Für iTerm2: Einstellungen → Profile → Allgemein → Befehl: Ändern von „Login-Shell“ in „Befehl:
/bin/bash -l
“
Antwort3
Benötige ich einen bestimmten Ruf, um Beiträge zu kommentieren? Jedenfalls hat das Löschen der Systemprotokolle bei mir auch geholfen, danke. Ich habe versucht, path_helper mit dem Patch hier zu patchen: gist.github.com/123525, wie in einem Kommentar auf vorgeschlagenhttp://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/(in diesem Thread bereits erwähnt), aber ohne Erfolg. Ich erhalte eine kryptische Fehlermeldung. Dieser Patch sollte jedoch den Start von terminal.app beschleunigen.
Zusatz:Wie bereits erwähnt, hat das Löschen der Protokolle bei mir geholfen, aber das Problem tritt weiterhin auf, da die Protokolle nach dem Entfernen kontinuierlich größer werden. Ich habe festgestellt, dass das „Optimieren“ von /etc/asl.conf mir eine dauerhaftere Lösung bietet. Die Änderung besteht darin, nur Nachrichten zu protokollieren, die als „kritisch“ oder kritischer eingestuft sind, im Gegensatz zur Protokollierung der Kategorie „Hinweis“ und aller kritischeren Nachrichten. Außerdem ignoriere ich Nachrichten von FTP, Mail, local0, local1. Hier ist ein Ausschnitt aus meiner /etc/asl.conf:
##
# configuration file for syslogd and aslmanager
##
# redirect com.apple.message.domain to /var/log/DiagnosticMessages
? [T com.apple.message.domain] store_dir /var/log/DiagnosticMessages exclude_asldb
# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80
# remoteauth critical, alert, and emergency messages are root/admin readable
? [= Facility remoteauth] [<= Level critical] access 0 80
# broadcast emergency messages
? [= Level emergency] broadcast
# save kernel [PID 0] and launchd [PID 1] messages
? [<= PID 1] store
# save everything from emergency to notice
#? [<= Level notice] store
? [<= Level critical] store
# save lpr info level and above
#? [<= Level info] [= Facility lpr] store
# save all mail, ftp, local0, and local1 messages
#? [= Facility mail] store
#? [= Facility ftp] store
#? [= Facility local0] store
#? [= Facility local1] store
Antwort4
Wenn die Terminalanwendung geladen wurde, Sie jedoch noch keine Eingabeaufforderung erhalten, dauert die Initialisierung Ihrer Shell eine Weile.
Dies bedeutet wahrscheinlich, dass Sie zu viel oder etwas Zeitaufwendiges in Ihrem .bashrc
(vorausgesetzt, Sie verwendenbash
).