6

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

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

7 ответов7

9

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

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

4

Обзор:

Создайте агент 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. Выход Лингон

это оно

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

3

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

1

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

0

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

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

0

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

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

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

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

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

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

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

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

0

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

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

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, общий ресурс будет автоматически сопоставлен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .