[macOS] Принудительное выключение экрана

В MacOS есть функция — выключение экрана по таймеру. Все бы хорошо, но она иногда глючит и по истечении заданного времени экран не гаснет.

По этому, чтобы принудительно взять и выключить экран, достаточно «Control + Shift + Eject«.

Как правильно отправить iMac в сон

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

Многие, чтобы отправить iMac в сон, просто нажимаю клавишу «Power» на задней стороне моноблока (можно и комбинацией Command + Option + Media Eject), а беспроводную клавиатура и мышь так и остаются быть включенными. И хотя в этих устройствах и присутствует система энергосбережения, я все равно выключаю и их.

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

Я нашел весьма банальный выход из этой ситуации — изменил порядок выключения устройств.

Т.е. теперь действия стали такими: выключаю мышь, потом на клавиатуре нажимаю Command + Option + Media Eject, чтобы перевести компьютер в сон, и лишь затем выключаю клавиатуру.

Удаление Jenkins в Mac OS

Чтобы в Mac OS удалить установленный ранее Jenkins, нужно запустить специальный скрипт:

sudo /Library/Application Support/Jenkins/Uninstall.command

Отобразится:

Jenkins uninstallation script

The following commands are executed using sudo, so you need to be logged
in as an administrator. Please provide your password when prompted.

+ sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
+ sudo rm /Library/LaunchDaemons/org.jenkins-ci.plist
+ sudo rm -rf /Applications/Jenkins '/Library/Application Support/Jenkins' /Library/Documentation/Jenkins
+ sudo rm -rf /Users/Shared/Jenkins
+ sudo rm -rf /var/log/jenkins
+ sudo dscl . -delete /Users/jenkins
+ sudo dscl . -delete /Groups/jenkins
+ pkgutil --pkgs
+ grep 'org\.jenkins-ci\.'
+ xargs -n 1 sudo pkgutil --forget
Forgot package 'org.jenkins-ci.documentation.pkg' on '/'.
Forgot package 'org.jenkins-ci.jenkins.osx.pkg' on '/'.
Forgot package 'org.jenkins-ci.jenkins1531.postflight.pkg' on '/'.
Forgot package 'org.jenkins-ci.jenkins1549.postflight.pkg' on '/'.
Forgot package 'org.jenkins-ci.launchd-jenkins.pkg' on '/'.
Forgot package 'org.jenkins-ci.support.pkg' on '/'.
+ set +x

Jenkins has been uninstalled.

[macOS] Ограничение скорости Интернета

Есть несколько способов, чтобы ограничить скорость сетевого трафика в Mac OS (бывает полезно для тестирования ПО в условиях медленного Интернета). Наиболее интересным вариантом является графическая утилита Network Link Conditioner от самой Apple, которая имеет ряд уже встроенных профилей различных скоростей сетевого соединения (3G, DSL, Edge и пр.)

Скачать данную утилиту можно непосредственно на сайте разработчика в разделе «Downloads» (https://developer.apple.com/downloads/), которая входит в состав пакета «Hardware IO Tools for Xcode». После установки утилита будет доступна через оснастку  «System Preferences».

Network Link Conditioner

[Debian] Включение цвета вывода для ls в консоли

Чтобы задействовать цветное выделение данных, выводимых командой ls, достаточно раскомментировать в файле .bashrc (если работаете из под root’а, то находится в директории /root) следующие строки:

export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'

Чтобы изменения вступили в силу, нужно выполнить:

. ~/.bashrc

Результат:

ls_color

Просмотр подключенных модулей у Apache и nginx

Порой нужно узнать, какие модули подключены для Apache или nginx. К примеру, буквально пару дней назад необходимо было выяснить, подключен ли модуль mod_deflate у Apache.

Выполняем:

apache2ctl -M

Читаем:

Loaded Modules:
core_module (static)
...
deflate_module (shared)
...
Syntax OK

Для nginx также есть команда, которая показывает подробную информацию о сборке:

nginx -V

Читаем:

nginx version: nginx/x.x.0
built by gcc 4.4.5 (Debian x.x.x-x)
TLS SNI support enabled
configure arguments:
...
--with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-cc-opt='-g -O2 -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt=-Wl,--as-needed --with-ipv6

[Linux] Удаленный запуск графических приложений

Недавно нужно было на удаленной машине, работающей на Debian, запустить графическое приложение. На самом же Debian отсутствует X-сервер и графической оболочки, соответственно, ОС не имеет. К тому же, доступ к серверу есть только по SSH.

Теперь немного теории:

В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя (в случае, если это разрешено в настройках). Таким образом оконная система может находиться на другом компьютере, а графическое приложение связываться с ней через сеть. Так можно запустить приложение на удаленном компьютере, заставив его рисоваться на том компьютере, за которым сейчас работаете.

Наиболее простым решением является использованием Xming, который представляет собой локальный X-сервер.

Я использовал следующую инструкцию для настройки Xming — ссылка. Однако при попытке запустить графическое приложение я получал следующее сообщение:

Xming.exe: client 4 rejected from IP …

Решение этой проблемы описано здесь.

pkgutil — утилита для управления пакетами (.pkg) в Mac OS X

В Mac OS X есть утилита под названием pkgutil, предназначенная для манипуляции с установщиками пакетов.

Чтобы вывести список всех установленных пакетов, достаточно выполнить команду

pkgutil --packages

Чтобы найти нужный пакет, можно воспользовать grep’ом:

pkgutil --packages|grep ...

Чтобы отобразить список всех файлов, принадлежащих конкретному пакету, нужно использовать параметр —files. В примере ниже выводится список файлов для пакета ru.mail.macagent:

pkgutil --files ru.mail.macagent

Mail.Ru Agent.app
Mail.Ru Agent.app/Contents
Mail.Ru Agent.app/Contents/Frameworks
Mail.Ru Agent.app/Contents/Frameworks/Growl.framework
Mail.Ru Agent.app/Contents/Frameworks/Growl.framework/Growl
...

Если вы удаляете файлы пакета вручную, то после таких действий нужно указать системе, чтобы она «забыла» такой пакет:

pkgutil --forget package-name

Обновление кэша пакетов в ISPManager

Обновил вручную интерпретатор PHP до версии 5.4, а вместе с ним и MySQL до 5.5. Однако в панели  ISPManager все равно значились старые версии установленных пакетов.

Чтобы исправить ситуацию, нужно обновить кэш пакетов. Для этого достаточно выполнить следующую команду:

/usr/local/ispmgr/sbin/pkgctl cache