对默认网络助手解决腐败的偏好

这个问题

我更喜欢默认FTP客户端InterarchyI switched about two months ago, after the release of Interarchy 7.

Last week, however, at some point shortly after upgrading to Interarchy 7.1.1, the setting for my preferred FTP client became unset, and, worse, I was unable to reset it to point to Interarchy. I could set it to point to any other FTP client, just not Interarchy, the one I wanted to set it toMy other helper app preferences — for my email client and web browser — were unaffected.

It was just my FTP helper, and it was only blocking me from setting it to Interarchy.

Being that it was specific to Interarchy, I of course suspected that either (a) there was some sort of bug in Interarchy 7.1.1; or (b) my copy of Interarchy had somehow become corrupted; or (c) my Interarchy preferences had somehow become corrupted (which, if true, might be a manifestation of (a), of course, but that’s not a distinction worth worrying about here).

But none of those were the source of my problem, because: (a) no other Interarchy 7 users seem to have the problem; (b) I re-downloaded and re-installed Interarchy 7.1.1, and also tried reverting to Interarchy 7.0, neither of which helped; and (c) I archived and removed my existing Interarchy preferences, letting Interarchy create fresh ones, but to no avail.

Thus, even though it was specific to Interarchy, the problem seemed to be with my Internet Config preferences.

关于互联网配置历史的简要介绍(如果你是一个长期的Mac用户,或者如果你已经通过Google到达这里并且正在寻找我遇到的同样问题的解决方案,请随意跳过整个部分)

互联网配置provides a group of system-wide preferences for Internet-related stuffYou can specify default helper apps for different tasks — email, FTP, web browsing, Usenet — as well as helpers for specific protocols like ‘http:’, ‘afp:’, ‘gopher:’, etc(These protocols aren’t even necessarily Internet-related; for example, Mac OS X’s Help Viewer is the default handler for the ‘help:’ protocol.)

In older versions of Mac OS X, you could change some of these settings via the Internet panel in System PreferencesBefore that, on Mac OS 8 and 9, you used the Internet Control PanelAnd back in System 7, you used the Internet Config application, which is where it started.

互联网配置不是由Apple发明的It was designed, implemented, and released for free by Quinn “The Eskimo!” and Peter N LewisIt was useful, popular, and widely supported by the developers of Internet client software for the MacThus, Apple adopted it and rolled into the system.

On Panther, however, the Internet System Preferences panel is no moreThe only way to see these prefs using software that ships with Panther is to use Internet Explorer(IE not only provides a UI to modify these system-wide Internet Config settings, but it also stores its own IE-specific private preferences inside the Internet Config preferencesThis always struck me as a very odd decision on the part of IE’s engineers.)

Now that the Internet System Prefs panel is gone, it’s up to individual applications to provide a way to set default protocol handlersThus, Safari and Apple Mail provide preferences to specify default apps for web and emailIt is a bit weird to have to open Safari to tell the system that you’d rather use FireFox.

然而,第三方开发商正在向前迈进Mailsmith, for example, now provides a button in its preferences window to set it as the default email client, obviating the need to do so via Apple MailAnd given that the author of Interarchy is Peter N Lewis — co-inventor of Internet Config — it’s not surprising that Interarchy 7’s preferences window allows you to specify it as the default FTP client.

的症状

After the problem started, each time I launched Interarchy, it would prompt me with a dialog asking if I’d like to use Interarchy as the default FTP clientI’d click Yes, quit, relaunch, and but it would ask me again.

You can change this setting at any time using a checkbox in Interarchy’s prefs, “Use Interarchy for FTP”Every time I opened Interarchy’s prefs window, this checkbox was联合国检查Check it, close prefs, open prefs, and it’d be unchecked again.

根本无法设置偏好。

Although Apple has eliminated the Internet System Preferences panel, it hasn’t eliminated the underlying Internet Config preferences themselvesThe OS just no longer offers a user interface to see and change themOne solution, as mentioned above, is to use Internet Explorer.

一个更好的选择是使用第三方软件。Alexander Clauss’s MisFoxis a free application that allows you to see and change all of the important Internet Config settings: default apps, file mappings, and protocol helpers(老人的作者因为iCab)。

But I couldn’t set my default FTP app to Interarchy using MisFox, either同样的Monkeyfood更多的互联网, a free System Preferences panel that lets you edit and change Internet Config’s protocol mappingsIt was by using these tools that I determined that my problem affected only Interarchy, and not other FTP clients such as发送获取

解决方案

Although I hadn’t yet found the source of the problem, I had at least eliminated some suspsectsIt was not the Interarchy applicationIt wasn’t Interarchy’s prefs data.

Plus, since I saw the same problem using MisFox and More Internet, I figured it must be some sort of corruption in the file — or files — that store my Internet Config settingsBut what and where are those files? The only obvious one is “com.apple.internetconfig.plist”. The name is a giveaway, and the modification date changes when you make changes to Internet Config settings.

Sadly, trashing this file — then immediately logging out and logging back in — did not helpAll my Internet Config prefs were reset to factory settings, but I still could not assign Interarchy as my default FTP app.

I found no other file in my home folder that had a name containing “internet” and “config”, or a modification date that changed upon making changes to Internet Config settings.

在这一点上,我被卡住了I was fairly certain that there were one or more other files where the system was storing Internet Config data, and that those files were in some way corrupt, but I had no more guesses left as to where those files may beOf course I tried searching for a solution via Google, but found nothingYou know you’re in deep shit when Google doesn’t have the answer to a troubleshooting issue.

Then, I asked Rich Siegel, who suggested that the problem might be related to发射服务That sounded like a promising idea, and in fact proved correct.

这是我做的:

  1. I started by logging out and logging back in, holding down the Shift key to suppress my normal login items.

  2. 我打开终端,输入:

    cd /图书馆/缓存

    这是根级库文件夹,the Library folder in your home folder.

  3. 要删除启动服务缓存文件,我键入:

    sudo rm com.apple.LaunchServices *
  4. 我和我的密码验证。

  5. 我马上重新启动机器。

This fixed the problem — albeit at the expense of deleting all of my existing Launch Services preferences, which includes the mappings that bind filename extensions to default applicationsA minor irritation, but certainly not a big deal.

I doubt that step #1 is necessary, but I didn’t want to take any chances by deleting the Launch Services files while other applications were runningIt’s also possible that I could have simply logged out and logged back instead of restarting at step #5; but once again, why take a chance?

In hindsight, it’s easy to draw the connection between Launch Services and Internet Config例如。,Apple’s developer introduction for Internet Config状态:

Internet Config, a Mac OS 8 and 9 API, supports centralized entry and management of Internet preferences for all of a user’s Internet applicationsFor example, email programs and Web browsers can obtain a user’s name, email address, home page, incoming mail server, and similar preferences from one common place that is easily edited by the user via the Internet Config application.

Mac OS X applications should employ Launch Services and System Configuration for managing Internet preferencesIn Mac OS X, Internet Config calls through to these newer APIsUsing them directly increases your application’s efficiency.