Stworzyłem aplikację, która uruchamia się przy logowaniu przy użyciu SMLoginItemSetEnabled
. Oto kod, którego używa. Moje pytanie brzmi: jak ręcznie usunąć tę aplikację z uruchamiania podczas logowania ?
Aplikacja nie wyświetla się w „Elementach logowania”, lub /Library/LaunchAgents
, /Library/LaunchDaemons
lub w folderach /Users/username/Library/LaunchAgents
lub /Users/username/Library/LaunchDaemons
. Rozejrzałem się /Library/Preferences
i PreferecePanes
nic nie znalazłem. Aplikacja ładuje się przy logowaniu.
preferences
launchd
login-items
Tarandeep Gill
źródło
źródło
Odpowiedzi:
Powinieneś być w stanie zatrzymać i usunąć pomocnika z
launchd
linii poleceń. Otwórz Terminal.app i zróbPo znalezieniu Job_label w trzeciej kolumnie możesz uruchomić
Podręcznik do
launchctl
można znaleźć tutajźródło
A jeśli dodałeś go z pomocnikiem, tak jak powiedziałeś, to powinieneś być w stanie zobaczyć go na liście (myślę).
Popatrz na to:
źródło: http://blog.mcohen.me/2012/01/12/login-items-in-the-sandbox/
źródło
Elementy logowania są przechowywane w ~ / Library / Preferences / com.apple.loginitems.plist i można nimi zarządzać ręcznie w Preferencjach systemowych -> Użytkownicy i grupy -> konto użytkownika na pasku bocznym -> zakładka Elementy logowania.
źródło
~/Library/Preferences/com.apple.loginitems.plist
żadnym z nich!Gdy znajduje się w koszu, uruchom ponownie komputer Mac w trybie pojedynczego użytkownika (zacznij, przytrzymując cmd+ s): otworzy się to w oknie Terminal, uruchom
i naciśnij enter, a następnie uruchom ponownie normalnie.
źródło
Możesz zatrzymać uruchomienie elementu za pomocą .
launchctl disable gui/$UID/bundle-id
Jeśli nie znasz identyfikatora pakietu, możesz go znaleźć, pisząc
launchctl list
. Spowoduje to wyświetlenie listy wszystkich procesów uruchomionych przez użytkownika wraz z ich identyfikatorami PID w pierwszej kolumnie. Więc jeśli widziałeś to:… Możesz użyć Monitora aktywności, aby potwierdzić, że identyfikator PID niepożądanej aplikacji to 189, co stanowi identyfikator jej pakietu
com.example.ExampleDaemon
. Następnie:to jest to! Na dysku jest nadal zapisany element logowania, po prostu wyłączony. Jeśli chcesz go wyczyścić lub po prostu chcesz dowiedzieć się więcej, czytaj dalej.
Wbrew intuicji (ale zabawnie?) Lista jest zapisywana tutaj:
Ten plik będzie wyglądał mniej więcej tak:
Tak,
false
oznacza to, że aplikacja o tym identyfikatorze pakietu powinna zostać uruchomiona podczas uruchamiania. Po uruchomieniulaunchctl disable
Thefalse
zmieni siętrue
. (O ile mi wiadomo, uruchomione nie zapisuje od razu tych plików, więc możesz tego nie zobaczyć, dopóki nie uruchomisz ponownie.) Za pomocą tego polecenia możesz zobaczyć wyłączone elementy:Jest tam także kilka dodatkowych informacji o każdym zapisanym tutaj elemencie logowania, ale usunięcie go nie powstrzyma uruchomienia elementu:
Wszelkie zmiany wprowadzone podczas działania systemu zostaną zastąpione po wyłączeniu / ponownym uruchomieniu. O ile wiem, jedynym sposobem na całkowite usunięcie elementu
disabled.$UID.plist
jest ponowne uruchomienie w trybie pojedynczego użytkownika i dokonanie tam edycji. Nawet bez uruchomienialaunchctl disable
usunięciekey
/false
pary z tego pliku powstrzymuje aplikację przed uruchomieniem przy logowaniu. W tej odpowiedzi nie dołączę instrukcji dotyczących edycji tych plików w trybie pojedynczego użytkownika.źródło