Секреты Терминала. Часть 11: Двенадцать полезных команд

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

Терминал можно сравнить со скальпелем хирурга — зная что и где «резать», можно неплохо прокачать сложный «организм» системы Mac OS X, если же необдуманно сделать «надрез» не в том месте, то это чревато смертью «пациента». Разница лишь в том, что Mac OS X можно в случае чего восстановить из резервной копии. Мы продолжаем рассказ о практическом применении этого приложения для настройки и обслуживания Mac OS X и ряда других программ.

Напоминаем, что при работе в Терминале следует быть осторожным с командами, которые начинаются с sudo. Это команды системного уровня, которые при неправильном использовании могут вызвать серьезные проблемы в Mac OS X, вплоть до краха системы. Поэтому эти команды нужно вводить максимально аккауратно и именно так, как указано в инструкции. Как правило, при работе с такими командами требуется ввести пароль администратора, который вводится вслепую.

SPOTLIGHT

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

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

  • Исправление проблем с поиском

Даже в такой достаточно отлаженной системе, как Mac OS X, может случиться так (хотя и достаточно редко), что начинают глючить те или иные приложения. Так, например, Spotlight может начинать выдавать неверные результаты поиска, а то и вовсе отказываться от поиска. Как правило, такие сбои получаются в результате того, что в базе программы появились ошибки. Чтобы ликвидировать эти ошибки нам будет необходимо удалить всю базу метаданных и провести повторную индексацию содержимого всех разделов/дисков. Для этого можно воспользоваться следующими командами Терминала (не забываем после каждой команды нажимать RETURN):

[php]sudo mdutil -E
sudo mdutil -i on[/php]

После выполнения этих команд Spotlight заново проиндексирует все данные на вашем диске/дисках и ошибок больше возникать не будет.

  • Убираем иконку Spotlight из менюбара

Наверняка найдется определенный ряд пользователей Mac OS X, например некоторые свичеры, недавно перешедшие с Windows на Mac OS X,  в силу своих устоявшихся привычек совсем не использующие возможности Spotlight. Мы не будем сейчас говорить о том, хорошо или плохо ли не использовать Spotlight при повседневной работе в системе, а просто приведем команду Терминала, позволяющую убрать из менюбара иконку Spotlight, дабы освободить место для значка другого приложения.

[php]sudo chmod 0 /System/Library/CoreServices/Spotlight.app[/php]

Для того, чтобы вернуть иконку на место вводим другую команду:

[php]sudo chmod 755 /System/Library/CoreServices/Spotlight.app[/php]

Не забывайте, что эта команда убирает только иконку Spotlight, а само приложение продолжает работать.

ОБЛЕГЧАЕМ РАБОТУ СИСТЕМНОГО АДМИНИСТРАТОРА

Что самое трудное в работе системного администратора? Правильно, это работа с рядовыми пользователями сети и исправление последствий тех или иных действий, произведенных, например, какой-нибудь секретаршей. Неопытные пользователи, сами того не зная, могут зачастую натворить такого, чего не достичь даже при намеренном разрушении системы. Именно поэтому имеет смысл лишить пользователя возможности воздействовать на те или иные параметры системы, тем более, если этого не требуется при выполнении его обязанностей.

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

  • Блокировка Дока от изменения его содержимого

[php]defaults write com.apple.Dock contents-immutable -bool YES; killall Dock[/php]

  • Блокировка Дока от изменения его размеров

[php]defaults write com.apple.Dock size-immutable -bool YES; killall Dock[/php]

  • Блокировка Дока от смены его положения на экране

[php]defaults write com.apple.Dock position-immutable -bool yes; killall Dock[/php]

Для того, чтобы отменить ту или иную блокировку, нужно повторно ввести команду, не забыв заменить YES на NO.

  • Блокировка доступа к меню Системных настроек

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

Это наиболее радикальный способ, позволяющий исключить внесение нежелательных изменений в систему. Сразу хотим предупредить о том, что если вы не очень хорошо знакомы с разрешениями и chmod, то лучше воздержаться от использования следующей команды Терминала, дабы оградить себя от возможных последствий. Ведь что бы ни случилось с компьютером пользователя сети, которая находится в вашем ведении, разбираться с проблемой всеравно придется вам.

[php]sudo chmod /Applications/System Preferences.app 000[/php]

Для того, чтобы снять блокировку, используем следующую команду:

[php]sudo chmod /Applications/System Preferences.app 777[/php]

ОТКЛЮЧАЕМ СОЗДАНИЕ ФАЙЛОВ .DS_STORE НА СЕТЕВЫХ ДИСКАХ

Как известно, файлы .DS_Store  — это специальные файлы метаданных, которые Mac OS X использует для хранения персональных настроек папки (иконка, положение окна, фоновое изображение и пр.). Все бы хорошо, но Mac OS X создает такие файлы на всех дисках и их разделах, к которым только имеет доступ, включая сетевые диски и внешние накопители. А между тем, сетевые диски могут физически находится на удаленной машине, работающей под управлением системы Windows, для которой файлы .DS_Store совершенно бесполезны и будут только захламлять каталог файлов в каждой папке. Именно поэтому признаком хорошего тона стало бы отключение создания таких файлов метаданных на сетевых дисках. В этом нам поможет следующая команда Терминала:

[php]defaults write com.apple.desktopservices DSDontWriteNetworkStores TRUE[/php]

Для возврата к предыдущему значению следует повторно ввести данную команду, заменив TRUE на FALSE.

ЕСЛИ ЗАВИС МАК

У любой, даже самой совершенной системы случаются внештатные ситуации. Так и у Mac OS X иногда случается так, что зависает какое-то одно приложение или, что бывает гораздо реже, виснет вся система сразу. Особенно данная проблема касается пользователей Хакинтошей, так как в этом случае мы имеем дело не с оригинальной, а с модифицированной Mac OS X и ожидать такой же стабильности, как и у оригинальных Маков, здесь не приходится. Обращаем ваше внимание, что при принудительном завершении приложения, все данные, с которыми вы работали в зависшей программе, как правило, будут потеряны.

  • Если зависло одно приложение

Если при зависании какого-либо приложения функция Принудительного завершения не работает, то проблемную программу можно завершить через Терминал. Для этого вам понадобиться узнать PID (идентификатор процесса) нужного приложения. Сделать это можно, как мнинмум, двумя способами.

Первый — запустить Мониторинг системы и, найдя соответствующий процесс, запомнить или записать его PID.

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

Второй — выполняем в Терминале следующую команду, заменив, в данном случае, FINDER.APP на название нужного приложения:

[php]ps ux | fgrep -i FINDER.APP | fgrep -v fgrep[/php]

После выполения этой команды обращаем внимание на число, показанное сразу после имени пользователя (в данном случае после слова anjul). Это число и будет являться идентификатором процесса зависшего приложения. Для контроля правильности выбора проверяем путь до приложения.

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

После того, как мы узнали PID зависшего приложения, можно приступать к его завершению, используя одну из трех команд Терминала. Во всех трех командах слово PID заменяем на на числовой идентификатор зависшего приложения.

Первая команда по своему действию является самой «мягкой» из трех команд и, если приложение не удалось завершить обычным способом, то ее применение, скорее всего, ни к чему не приведет. Тем не менее, начинать «убивать» программу следует именно с этой команды.

[php]kill -QUIT PID[/php]

Вторая команда является продвинутым вариантом первой и в большинстве случаев ее использования достаточно чтобы справиться с зависшей программой.

[php]kill -TERM PID[/php]

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

[php]kill -KILL PID[/php]

  • Если завис весь Мак

Если у вас под рукой нет ни второго компьютера, ни какого-либо apple-устройства, то в этой ситуации вам поможет только принудительное выключение компьютера, с помощью нажатия и удерживания кнопки питания до тех пор, пока Мак не выключится. Если имеется устройство, с которого можно удаленно подключитья к зависшему Маку, то принудительного выключения машины можно будет избежать. Надо ли говорить о том, что для данного способа необходимо, чтобы у Мака было включено удаленное управление. Для этого необходимо в Системных настройках зайти в раздел Общий доступ и отметить соответствующий пункт.

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

Со второго компьютера (в нашем случае это второй Мак) открываем ва Терминале Shell -> Новое удаленное подключение -> Безопасный Shell (ssh) и выбираем компьютер, к которому хотим подключиться.

Секреты Терминала. Часть 11: Двенадцать полезных команд Cтатьи

После подключения вводим одну из двух команд, в зависимости от желаемого действия.

Для завершения сеанса работы на зависшем компьютере пишем в Терминале:

[php]sudo killall -HUP WindowServer[/php]

В случае того, если хотим перезагрузить зависший Мак, используем следующую команду:

[php]sudo shutdown -r now[/php]

После использования этих команд вы также потеряете все несохраненные данные, как и при завершении только зависшего приложения.

Источник: appstudio.org

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *