OS X'de Finder'ı öldürmek ve yeniden başlatmak için launchd komutunu kullanma


4

Finder'ı öldürmek için oturum açma sırasında launchagent kullanmaya çalışıyorum ve sonra yeniden başlatıyorum. TotalFinder , OS X 10.7 için renk çubuğu modunu otomatik olarak uygulamak için (mod bulunabilir İşte ).

Launchagent'ı bir kabuk betiği çağırmak için kullanırsam, bunun gibi olur:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.colorsidebar.root</string>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
        <string>/POSIX/path/to/some/shell/script.sh</string>
    </array>
</dict>
</plist>

Ve sonra kabuk betiğinde, tek kullandığım

#!/bin/bash
#
#This file kills the finder on user session start
#and re-launches TotalFinder
#

killall Finder
Open /Applications/TotalFinder.app

Şimdi, ikisini birleştirmeyi denediğimde

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.colorsidebar.root</string>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>killall Finder</string>
        <string>open /Applications/TotalFinder.app</string>
    </array>
</dict>
</plist>

Çalışmıyor ve konsol aşağıdaki hatayı gösteriyor:

8/21/11 5: 16: 16.957 PM com.colorsidebar.root: / bin / bash: killall Bulucu: Böyle bir dosya veya dizin yok

Yanıtlar:


3

bash Argüman olarak bir dosya adı (yani bir komut dosyası) verilmesini bekler. "Killall Finder" adında bir dosya olmadığı için bu etkide hata alırsınız. Eğer bash komutlarını argüman olarak iletmek istiyorsanız, -c seçeneği ve komutları tek bir argüman olarak iletin:

<key>ProgramArguments</key>
<array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>killall Finder; open /Applications/TotalFinder.app</string>
</array>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.