MacOS не работают горячие клавиши в itunes

Раньше работало, а сейчас почему-то перестало? А это из-за хрома, точнее из-за Google Play Music. Для лечения откроем настройки Google Chrome > Расширения > в самом низу ссылка на "Быстрые клавиши". Уберем там привязку горячих клавиш.

Mac OS. Конвертировать jpg в pdf каждый в свой файл с сохранением названия. Используем imagemagick.

port install imagemagick
Команда конвертации в pdf с сохранением оригинального названия файла:
convert *.jpg -set filename:original %t +adjoin %[filename:original].pdf

Конвертация с незначительным снижением качества:

convert -monitor -gaussian-blur 0.05 -quality 85% *.jpg resized%04d.jpg

Использование встроенного TFTP-сервера на Mac OS

В Mac OS существует встроенный tftp-сервер. Его удобно использовать для заливки прошивок на устройства по протоколу tftp. Запуск его осуществляется в две команды.
Для начала проверим что в tftp.plist определен корневой каталог tftp-сервера (по умолчанию это /private/tftpboot):
nano /System/Library/LaunchDaemons/tftp.plist:
<key>ProgramArguments</key>
        <array>
                <string>/usr/libexec/tftpd</string>
                <string>-i</string>
                <string>/private/tftpboot</string>
        </array>
Подгружаем tftp.plist:
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
Запускаем tftp-сервер:
sudo launchctl start com.apple.tftpd 
 Остановка tftp-сервера:
sudo launchctl stop com.apple.tftpd 
Открываем папку: 
open /private/tftpboot
Копируем прошивку в этот каталог.
На прошиваемом устройстве вводим IP-адрес нашей системы Mac OS, указываем протокол tftp и имя прошивки. Не забываем проверить права на файл.
Содержимое tftp.plist по умолчанию:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <true/>
        <key>Label</key>
        <string>com.apple.tftpd</string>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/libexec/tftpd</string>
                <string>-i</string>
                <string>/private/tftpboot</string>
        </array>
        <key>inetdCompatibility</key>
        <dict>
                <key>Wait</key>
                <true/>
        </dict>
        <key>InitGroups</key>
        <true/>
        <key>Sockets</key>
        <dict>
                <key>Listeners</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>tftp</string>
                        <key>SockType</key>
                        <string>dgram</string>
                </dict>
        </dict>
</dict>
</plist>

MacOs. Ошибка при подключении по SSH: Too many authentication failures for root.

Суть проблемы:
Для подключения по SSH вы используете сертификаты для определенных хостов, а для других заходите по паролю. Сертификаты добавлены в keychain (связку ключей) с помощью ssh-add -K *.pem для удобного вызова без указания конкретного сертификата ключом -i. После этого при попытке захода по ssh на сервера, где не настроен сертификат, по паролю получаем ошибку: Too many authentication failures for root (ну или другой пользователь).

Причина:

К сожалению подстановка ключей не интеллектуальна, она не знает к какому хосту какой ключ нужно подставлять. Проверить это можно указав ключ -v при подключении к хосту, где нет сертификатов.

Получим что-то подобное:

OpenSSH_6.9p1, LibreSSL 2.1.7
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 102: Applying options for *
debug1: Connecting to msk-saprouter [192.0.0.3] port 22.
debug1: Connection established.
debug1: Host 'msk-saprouter' is known and matches the RSA host key.
debug1: Found key in /Users/User/.ssh/known_hosts:3
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Volumes/PEMS/cert1.pem
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Volumes/PEMS/cert2.pem
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: /Volumes/PEMS/cert3.pem
Received disconnect from 192.0.0.3: 2: Too many authentication failures for root

Выходит, что сертификаты перебираются по очереди, пока не найдется нужный, или не истечет кол-во попыток неудачного подключения.

 

Решения:

  1. Ииспользовать для хостов без сертификатов ключ -o PubkeyAuthentication=no
    пример: ssh root@192.0.0.3 -o PubkeyAuthentication=no. 
    Для систем с сертификатом ключ будет продолжать подставляться из-за ssh-add -K *.pem.
  2. Изменить порядок методов аутентификации:правим файл sudo nano /etc/ssh/ssh_config

    находим строку: PreferredAuthentications gssapi-with-mic,hostbased,publickey,keyboard-interactive,password

    меняем на: PreferredAuthentications password,gssapi-with-mic,hostbased,publickey,keyboard-interactive.Тогда для всех хостов система будет спрашивать пароль, а для указания сертификата нужно будет воспользоваться ключом -i:
    ssh root@192.0.0.3 -i /Volumes/PEMS/cert1.pem
  3. Создать алиас для команды ssh:
    правим sudo nano ~/.bash_profile
    добавляем строку alias zzh='ssh -o PubkeyAuthentication=no'

    Тогда для доступа по сертификатам используем команду ssh, указывать ключ не придется, а для хостов без сертификата используем команду (алиас) zzh, которая укажет ssh что не нужно использовать сертификаты и она спросит пароль.
  4. Насильно объявить сертификаты для каждого хоста:
    sudo nano ~/.ssh/config:

     Host host1
      IdentityFile /Volumes/PEMS/cert1.pem
      IdentitiesOnly yes
      Port 22
    Host host2
      IdentityFile /Volumes/PEMS/cert2.pem
      IdentitiesOnly yes
      Port 22
    Host host3
      HostName 192.0.0.3
      IdentitiesOnly yes
      Port 22
      User root

Тогда для хостов с сертификатом будет выбираться именно его сертификат, а для хостов с паролем будет запрашиваться пароль.

 

 

 

 

Если игра или программа не запускается, а в консоли «…denied since it was quarantined…»

Exec of /Games/Call of Duty 2.app/Contents/MacOS/Call of Duty 2 denied since it was quarantined by TextEdit and created without user consent, qtn-flags was 0x00000006

Так случается когда система блокирует приложение. Варианта решения два:

  • перенести приложение в /Applications
  • выполнить команду sudo xattr -dr com.apple.quarantine /<directory-path>/<app-name>.app/  ,  где /<directory-path>/<app-name>.app/ - путь к приложению

В случае Call of Duty если при запуске сетевой игры она ругается на то, что не может создать какой-то файл - дайте права на каталог с игрой на запись текущему пользователю:

sudo chmod 775 /<directory-path>/<app-name>.app/ -R

После обновления MacOS до 10.10.1 перестали запускаться программы

После запуска программы, например, Adobe Media Encoder видим в консоле надпись :

Adobe Media Encoder CS6[3909]: WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.1 instead of 10.10.1. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.

 

Внимание! Данная настройка почти наверняка может привести к не возможности запуска встроеных в MacOS программ, ведь они тоже проверяют версию OS и она окажется старее, чем нужно!

В программе зашита проверка на версию OS, можно попробовать подменить эту версию:

открываем консоль, выполняем:

sudo nano -w /System/Library/CoreServices/SystemVersion.plist

Правим:

        <key>ProductUserVisibleVersion</key>

        <string>10.9.1</string>

        <key>ProductVersion</key>

        <string>10.9.1</string>

Cохраняем.

Перезагружаем и получаем мертвую панель:  :-P

Снимок экрана 2014-11-26 в 14.28.45

Снимок экрана 2014-11-26 в 14.24.56

Чтобы вернуть все обратно, отредактируйте /System/Library/CoreServices/SystemVersion.plist через, например, Sublime, потому что терминала у вас уже не будет :-P

Конкретно для этого случая помогло вот что: запустить программы >Adobe Media Encoder > показать содержимое пакета > contents > mac os > Adobe Media Encoder. Он хоть и будет ругаться на версию, но запустится.

Вывести графический экран X11 c linux-системы в windows и mac

В Windows:

1. Putty. Connection > SSH > X11 > Enable X11 forwarding. Сюда IP-адрес windows-машины, где запущен Xming.
2. Коннектимся putty к linux-хосту.
3. Xming. Скачиваем, ставим, настраиваем : start no client, no access control
4. Доп параметры xming -dpi 96 -xkblayout us,ru -xkbvariant basic,winkeys
5. Готово. Запускаем xming.
6. В putty  export DISPLAY=<ip address>:0.0
7. Запускаем для теста что-нибудь system-config-users $ ($ для фонового режима)

В MAC:

ssh -Y root@hostname

Нужен установленный xQuartz

Учим транзакции SAP (под MacOS)

Написал простенькую программу для запоминания транзакций SAP, или запоминания вообще чего-либо. Для этого нужно просто поправить текстовый файл с вопросами и ответами.

Программа поможет выучить необходимые для работы транзакции SAP.

Скачать

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

Файл с вопросами и ответами содержится внутри пакета (правой кнопкой мыши > показать содержимое пакета) /contents/macos/file.txt

Снимок экрана 2014-01-21 в 16.05.16