Как сохранить монтирование сетевого ресурса в Mac OS X между перезагрузками

19979
mindless.panda

В настоящее время я подключаюсь к общему ресурсу Windows (smb) через Finder -> Go -> Connect To Server. Я должен ввести IP-адрес (хотя я сохранил учетные данные в моей цепочке для ключей). Если я перезагружаюсь или выходу из системы, я должен сделать это снова.

Я хотел бы, чтобы общий ресурс SMB, к которому я подключаюсь, всегда был доступен, как только я войду в систему. Как я могу сделать это?

6
Это было задано ранее, короче говоря, это не может быть сделано. Josh K 14 лет назад 0
Я могу видеть информацию общего ресурса в терминале через `mount`, как насчет добавления этого к какому-либо сценарию, который запускается при входе в систему? mindless.panda 14 лет назад 0
Позвольте мне пересмотреть мой комментарий, * это не может быть сделано с чем-то встроенным или добавленным *. Конечно, вы можете использовать AppleScript практически для всего, но это вопрос переполнения стека, а не вопрос суперпользователя. Josh K 14 лет назад 0
@Josh K - меня тоже удивило, но принятый ответ действительно находит способ сделать это, используя встроенную функциональность ОС. mindless.panda 14 лет назад 0
Я думаю, я не думал об этом. :) Josh K 14 лет назад 0

7 ответов на вопрос

9
Gordon Davisson

Сделайте точку доступа элементом входа, и он будет автоматически «открыт» (т.е. подключен) при каждом входе в систему. Перейдите в «Системные настройки» -> «Пользователи и группы» -> выберите свою учетную запись на боковой панели -> вкладку «Элементы входа», затем перетащите подключенную точку доступа (вы можете получить ее из представления компьютера Finder, доступного в его меню «Перейти»).

(Историческая справка: панель настроек называлась «Учетные записи» в OS X 10.6, но изменилась на «Пользователи и группы» в 10.7 и более поздних версиях.)

Это работает полностью, как вы описали - спасибо. mindless.panda 14 лет назад 0
Гордон - единственная проблема, с которой я столкнулся при использовании этого метода, заключается в том, что если OSX спит, а затем я сплю, общий ресурс отображается как смонтированный, но его нельзя просмотреть. mindless.panda 14 лет назад 1
Примечание от 2014 года: путь теперь - Системные настройки -> Пользователи и группы. Grandpa 10 лет назад 1
@Grandpa: Обновлено; Спасибо за напоминание. Gordon Davisson 10 лет назад 0
4
milkman

Обзор:

Создайте агент launchd (в данном случае bash-скрипт), который будет монтировать нам любые общие ресурсы каждые две минуты. Это не идеально, но это работает. Это для общих ресурсов Samba, но вы можете изменить его для других типов.

Сделано с помощью Дэйва Николла о совместном использовании библиотек windows / x iTunes.

Я использую беспроводную карту моего ноутбука, чтобы определить, подключен ли я к моему домашнему SSID. Конечно, вы можете использовать все, что вы хотите для условного исполнения.

Если вы собираетесь использовать SSID в качестве условия для монтирования, как у меня, вы можете найти его полезным для псевдонима утилиты Airport, которая поставляется с OS X к вашему / usr / bin /. Если нет, переходите к следующему разделу.

Откройте терминал и запустите:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport
Запомните вывод этого:

airport -I | grep '.* SSID:' | sed 's/^.* SSID: //'

Сценарий:

Мои условные проверки для

  1. Доля еще не установлена (строка 1-4)
  2. SSID нашей карточной сети Аэропорт не является нулевым (строка 5-8)
  3. Что наш SSID должен быть равен предварительно определенному SSID, в моем случае «2600leagues» (строка 9)

Откройте ваш любимый текстовый редактор и начните новый файл, я назвал мой MountShares.sh

if [ -d '/Users/kyle/Music/iTunes/Podcasts/' ]; then #echo Nothing to do, share is mounted exit else  if [ -z `airport -I | grep '.* SSID:' | sed 's/^.* SSID: //'` ]; then #echo SSID is Null, we're not connected with the Airport to any Network. exit else  if [ `airport -I | grep '.* SSID:' | sed 's/^.* SSID: //'` == "2600leagues" ]; then #echo SSID is 2600leagues! /sbin/mount -o nodev,nosuid -t smbfs '//Kyle:NotmyPassword@192.168.1.5/media/Music' '/Users/kyle/Music/' fi fi fi

Далее нам нужно отредактировать строку 11, чтобы представить ваши конкретные потребности. Вам нужно только отредактировать жирные части:

/ sbin / mount -o nodev, nosuid -t smbfs '// Пользователь: Пароль @ ServerIP_or_Name / Поделиться ' ' / Где / Вы / Хотите / it_to_mount / '

Пример:

/sbin/mount -o nodev,nosuid -t smbfs '//Kyle:NotmyPassword@192.168.1.5/media/Music' '/Users/kyle/Music/'

Теперь, когда у нас есть отредактированная команда mount, попробуйте запустить ее в Терминале . В случае успеха ваша общая папка должна быть доступна в месте монтирования. (в моем примере /Users/kyle/Music/)

Отредактируйте строку 1 скрипта bash, чтобы отразить файл или каталог внутри смонтированного общего ресурса. Если вы собираетесь использовать SSID в качестве условия, как у меня, вы захотите изменить строку 5, заменив 2600 Лиги своим SSID.

Сохраните скрипт bash в удобном месте. (Я пользуюсь ~/Library/Scripts/NetworkMounts/MountShares.sh)

Теперь вам нужно сделать исполняемый скрипт bash, для этого мы используем chmod .

В терминале :

chmod 777 ~/Library/Scripts/NetworkMounts/MountShares.sh

Если сетевой ресурс все еще подключен, убедитесь, что вы размонтировали / удалили его сейчас. ( Finder работает)

Попробуйте выполнить скрипт через Терминал :

~/Library/Scripts/NetworkMounts/MountShares.sh

Если все идет хорошо, ваша доля должна быть установлена. Теперь осталось только сделать так, чтобы скрипт запускался очень часто. Обычно вы используете crontab для такого рода вещей, но 10.6 устарела. Apple предпочла бы, чтобы вы использовали их сервис запуска .

Создание запуска агента

Чтобы помочь вам сделать агент запуска, получите Lingon из sourceforge.

  1. Открытый лингон
  2. Создать новый пользовательский агент (Мой агент)
  3. Дайте ему имя, например com.kyle.MountShares
  4. Выберите или введите путь к скрипту bash ~/Library/Scripts/NetworkMounts/MountShares.sh
  5. Укажите, когда вы хотите запустить его. (У меня есть Запуск, когда он загружен системой и * Запускать каждые 10 минут)
  6. Сохрани это
  7. Выход Лингон

это оно

Позвольте мне знать, если это помогает; Я набрал все это как можно быстрее.

Вау, круто! До сих пор я использовал ответ Гордона, но этот кажется немного более надежным. Один вопрос - это сохранится, если компьютер перейдет в спящий режим? У меня возникают проблемы, когда, если у меня есть общий ресурс в качестве элементов входа и OSX спит, я теряю общий ресурс. Он все еще отображается как смонтированный, но не может просмотреть его. mindless.panda 14 лет назад 0
У меня не было этой проблемы на 10.6.3. Честно говоря, если вы используете 10.6, лучшая утилита для такого рода вещей - это auto_master, я не смог заставить master_auto работать удовлетворительно, так что я все еще с этим справляюсь. http://www.macosxhints.com/article.php?story=20100203124656707 milkman 14 лет назад 0
Я полагаю, что мне просто лень не погружаться в чтение документов на auto_master. mindless.panda 14 лет назад 0
Я попытался снова с auto_master, все еще получая ошибки с этим. Этот скрипт, кажется, мой билет на данный момент milkman 14 лет назад 0
3
Mark

С помощью auto_fs, auto_master и т. Д. Попробуйте прочитать Autofs: Автоматическое монтирование общих сетевых файловых файлов в Mac OS X (PDF) . Это немного устарело сейчас (2009), но, используя примеры в документе, я организовал все мои ресурсы NFS и SMB и легко монтировал их автоматически.

1
Spiff

Вы смотрели auto_master(5)? На первый взгляд это выглядит возможным, но похоже, что для настройки может потребоваться много работы.

Это актуально: http://www.stress-free.co.nz/automounting_samba_shares_in_leopard mindless.panda 14 лет назад 0
0
Ye Lin Aung

System Preferences> Sharing> File Sharing> Option> Share Files and Folders Using SMB. Я думаю, что он может распознать настройки обмена. Если нет, то вы можете добавить smb share к себе favorite serverтоже.

Если вы хотите добавить его в качестве избранного сервера, нажмите Apple+Kв Finder, чтобы открыть Connect to Serverдиалоговое окно. Введите адрес, а затем нажмите +рядом с адресом. Затем он будет добавлен в область ниже Favorite Servers.

Место, которое вы упоминаете в Системных настройках, не имеет ничего общего с автоматическим подключением общего ресурса. Как мне добавить на любимый сервер, как вы упомянули? mindless.panda 14 лет назад 0
Извините, но ничего в этом ответе не относится к моему вопросу. Вы указали мне на включение SMB и как использовать привилегии Finder. mindless.panda 14 лет назад 0
0
Grue

Мое решение состоит в том, чтобы использовать Automator и создать небольшое приложение, которое автоматически подключается, а затем настроить его на запуск при входе в систему.

Запустите Automator и выберите Приложение, а в Библиотеке файлов и папок вы увидите «Получить указанный сервер» и «Подключиться к серверам». Добавьте их в указанном порядке, добавьте ваш IP-адрес и общее имя (если применимо).

На этом этапе вы можете сохранить его как приложение (~ / Applications - хорошее место). Затем добавьте его в элементы входа в систему через «Системные настройки»> «Пользователи».

Однако в Automator я добавил 30-секундную паузу (из библиотеки Utilities) и четыре цикла по 1000 итераций. Это должно поддерживать его работу до тех пор, пока я не выйду из системы или не перезагрузюсь.

Примечание: если вы не сможете подключиться, появится всплывающее диалоговое окно:

Ошибка подключения

Сервер "xxxx" может не существовать или недоступен в данный момент. Проверьте имя сервера или IP-адрес, проверьте сетевое подключение и повторите попытку.

Примечание: он не проверяет, подключен ли он уже. Может быть способ проверить вывод Connect to Server

0
Cristi Diaconescu

Есть несколько решений здесь, самый простой из которых (ИМХО) я перепечатывать ниже:

Из терминала:

sudo vifs 

Если вы не знакомы с vi: нажмите «i» для вставки (режим редактирования), затем вставьте это в новую строку:

smbserver:/share /Volumes/mount_point url automounted,soft,url==cifs://user:pass@smbserver/share 

Нажмите, Escа затем, zzчтобы сохранить и выйти.

В заключение:

sudo automount -vc 

Теперь, когда вы нажмете /Volumes/mount_pointв консоли / Finder / Whatnot, общий ресурс будет автоматически сопоставлен.