- How to Sync Your iPhone or iPod Touch in Ubuntu
- Updating Libimobiledevice
- Step One
- Step Two
- Step Three
- Step Four
- Syncing Your iPhone in Rhythmbox
- Manually Managing Songs and Podcasts on your iPhone
- Step One
- Step Two
- Step Three
- Step Four
- Step Five
- Automatically Syncing your iPhone in Rhythmbox
- Step One
- Step Two
- Step Three
- Conclusion
- Как мы iOS приложение тестировали из-под Ubuntu
- Apple Remote Desktop
- Действия со стороны Mac
- Действия со стороны Ubuntu
- Настраиваем Xcode
- Работа полученной системы
- Appendix
- Заключение
- Запускаем командную строку Linux на iOS
- Подключение к клавиатуре
- Устанавливаем оболочку на iOS
- Вариант 1: оболочка в «песочнице»
- Вариант 2: SSH
- Вариант 3: запуск Linux
- Запуск Alpine Linux с iSH
- Установка iSH
- Управление пакетами
- Установка текстового редактора
- Смена оболочки
- Смена оболочки по умолчанию
- Настройка Python и pip
- Читаем мануалы
- Дополнительная информация
- На правах рекламы
How to Sync Your iPhone or iPod Touch in Ubuntu
This tutorial is part of our groovy series that makes the case that you can use Ubuntu for your everyday computing needs without bouncing back and forth between Linux and Windows or OS X.
For many geeky, professional or casual tech users, the desktop serves as a hub and docking station for their mobile devices. Until recently, the lack of smartphone and/or MP3 player support was one of the largest barriers to full-time adoption of Linux. With the most recent releases of Ubuntu, that is no longer an issue. You can use Ubuntu to sync your iPhone and other iOS devices in Linux, giving you one more compelling reason to kiss iTunes goodbye.
Read on to learn how to add and remove songs, podcasts, and playlists to your iPhone in Linux.
Updating Libimobiledevice
The magic that makes iPhone syncing in Ubuntu possible is a software library called libimobiledevice. In fact, this is the crux of any Linux program that interfaces with an iOS device. Libimobiledevice is included in Ubuntu 10.10, Maverick Meerkat, but it stops working once you upgrade to iOS 4.2. No big deal, you just have to upgrade your libimobiledevice package.
To do this, you’ll need to add the developer’s PPA (Personal Package Archive). This can be done in Terminal.
Note: This step is necessary if you get the error message:
Unable to mount iPhone_ org.freedesktop.DBus.Error.NoReply DBus error: MESSAGE DID NOT RECEIVE A REPLY (TIMEOUT MESSAGE BY BUS)
when you try to mount your iPhone. While you may or may not receive this message, it’s a good idea to complete this section so you’ll be ready for the next iOS/libimobiledevice update.
Step One
Launch Terminal. Find it in Applications > Accessories.
Step Two
When prompted, enter your password.
This will add the Launchpad PPA for Paul McEnery (the libimobiledevice developer), allowing you to update your existing libimobiledevice package using apt-get.
Step Three
This will update your package index, including the PPA you just added.
Step Four
This will upgrade libimobiledevice to your current version.
Syncing Your iPhone in Rhythmbox
At this juncture, you should be able to plug in your iPhone via USB and have it sync to any music library in Ubuntu. For now, let’s take a look at the default music player: Rhythmbox.
Note: For this tutorial, we’ll just be exploring the bare essentials of Rhythmbox. We’ll go more in-depth with Rhythmbox and other Ubuntu music players in later groovyPosts.
Manually Managing Songs and Podcasts on your iPhone
Just as with iTunes, you have the option to add songs and podcasts one at a time on your iPhone or sync your library automatically. Here’s how to do the former:
Step One
Launch Rhythmbox. Find it in Applications > Sound and Video > Rhythmbox Music Player.
Step Two
Connect your iPhone via USB. It will appear under Devices.
Step Three
Click Music in your computer’s library. Browse for songs to add to your iPhone. Sync them to your iPhone by Dragging and Dropping onto your iPhone’s icon under devices.
You can also copy songs from your iPhone to your computer by Dragging and Dropping them from your iPhone into your library. (Take that iTunes! ).
Step Four
To add podcasts, do the exact same thing, except the Podcasts section of your library.
Step Five
To delete content from your iPhone, Right-click a song and choose Delete.
Automatically Syncing your iPhone in Rhythmbox
Automatically syncing your iPhone will keep your local library or a select few playlists, and your iPhone’s music library synced. As with iTunes, this means that it will delete content from your iPhone that doesn’t exist on your local computer–so make sure that you have everything backed up locally before you sync your iPhone automatically for the first time.
Step One
With your iPhone connected, Right-click its icon under Devices and choose Sync with Library. Don’t worry–you’ll have a chance to set up your preferences before anything gets deleted.
Step Two
Choose whether you want to sync your Music, your Podcasts or both. You can expand either of these options to choose specific podcast feeds or playlists to sync.
Step Three
Pay close attention to how many files will be removed. Rhythmbox will give you a breakdown of how your storage space will be used up before and after. If there is more content being removed than you anticipated, you may want to review your selections.
If you have no trepidations about what will be added or removed from your iPhone, go ahead and Click Sync with the device. Now, whenever you plug in your iPhone, Rhythmbox will automatically sync your songs according to these settings.
Conclusion
Libimobiledevices and Rhythmbox allow you to do basic syncing of music and podcasts to your iPhone. Obviously, there are some limitations here. You can’t do apps or anything else that deals with proprietary Apple services, such as iTunes or the Apple App Store. You also can’t manage contacts with Rhythmbox, as you can with iTunes. But for day-to-day syncing and adding/removing of songs and podcasts, Rhythmbox is more than enough. The good news is that Ubuntu is serious about supporting mobile devices and smartphones. There are a few apps available that utilize the Mobile One cloud services for streaming content on your phone (similar to Amazon Cloud Player and SugarSync) and syncing of your contacts. These, however, are paid apps–we’ll talk about those later.
For now, thanks to this native iPhone support in Ubuntu, there’s one less reason to boot back into OS X or Windows. And for anyone who’s trying to go Linux full-time, that’s a very groovy thing.
Источник
Как мы iOS приложение тестировали из-под Ubuntu
В компании где я работаю наступила пора корпоративов тестирования нашего iOS приложения, и т.к. мако тут только у меня, а все остальные разработчики и, что самое главное, QA работают под Ubuntu, а значит айфонов у них нет , то пришлось придумать решение проблемы и избавить себя от мук передачи личного айфона в руки тестеров.
Если Вы сталкивались с подобной проблемой или просто интересуетесь темой шаринга одного мака с возможностью одновременной работы на нём, то прошу под кат.
Apple Remote Desktop
Сначала мы попробовали www.pieceable.com, вещь действительно хорошая, особенно с перспективами развития проекта, т.к. судя по главной его купили Facebook, но пока что скорость его работы оставляет желать лучшего, хотя самая идея (если кто не знаком с ней, то это запуск эмулятора на маке с последующей трансляцией картинки на клиенты) нам приглянулась.
Начиная с Mac OS X 10.6 Apple Remote Desktop (VNC, по сути дела, только тссс. ) поддерживает Multi-user Screen Sharing, и это как раз то, что нам надо, ведь основная задача была не отвлекать от рабочего процесса iOS разработчика, который работает за этим Mac-ом.
Действия со стороны Mac
Настройки для Mac OS X 10.8 aka Mountain Lion (для остальных систем не должны сильно отличаться):
- Создаём юзера, например, SimulatorViewer;
- Идём в Settings -> Sharing -> Remote Managment, там настраиваем Allow access for: SimulatorViewer, там выбираем как минимум Observe + Control + Open And Quit Applications;
- Жмём на Computer Settings и выбираем там VNC viewers may control screen with password, а так же вводим пароль для VNC.
На этом настройка Mac OS X части закончена.
Действия со стороны Ubuntu
Для подключения к Mac-у будем использовать Remmina Remote Desktop Client, который уже присутствует в стандартной поставки Ubuntu, как мне сказали:) Прошу прощения за «чужой» скриншот, нет сейчас возможности сделать свой:
- Connection->New.
- Protocol: VNC — Virtual Network Computing;
- Server — IP адрес Mac-а (показывается на нём в окне Sharing да и вообще много где, взрослые уже)
- Вписываем в User и Password наши данные для юзера SimulatorViewer, которого мы создали чуть выше;
- Color Depth выставляем в High color (15 bit), можно и больше, если сеть позволяет), от тормозов значение особо не избавит:)
Можете попробовать уже присоединиться, должен отобразиться экран Mac OS X, при этом сессия её пользователя за компьютером не прервётся.
Настраиваем Xcode
Осталось лишь сделать так, чтобы simulator билды Xcode-а были доступны для нашего юзера. Я выбрал самый простой вариант, переместив build-директорию в /Users/Shared/:
- Выгоняем iOS-разработчика от Mac-а покурить на 5 минут, а сами в это время лезем в настройки Xcode, секция Locations;
- Выбираем Derived Data: Custom, путь /Users/Shared/Xcode/DerivedData;
- В Advanced. жмём на Shared Folder и вводим Build;
- Комментируем рандомную строчку в коде программиста;
- создаём исполняемый(!) файл /Users/Shared/run.sh с таким содержимым:
- Заметаем следы и уходим от компьютера iOS-программиста.
Внимательный читатель заметит иденификатор blah, краткое объяснение: без него работать не будет мы специально задаём несуществующий путь и тогда симулятор попросит нас его указать при старте:)
Работа полученной системы
Как подсоединиться к рабочему маку мы уже разобрались, осталось запустить в нём симулятор и начать издеваться над программистом.
- Просим iOS разработчика собрать билд для симулятора(!);
- Заходим через VNC на наш мак (дальнейшие действия я описываю уже внутри машины, на которую зашли);
- Переходим в Finder-е в /Users/Shared/;
- Запускаем run.sh, который откроет симулятор с окном выбора файла;
- Если у нас приложение называется Habrahabr, то путь к нему будет такой:
Если всё сделали правильно, то приложение запустится и можно начинать тестировать.
Appendix
Q: У разработчика iMac 27» и айфон головного мозга, нельзя ли сделать разрешение поменьше?
A: При работе через VNC Вы можеет спокойно менять разрешение экрана, а так же их конфигурацию. Настройки экрана -> Scaled, 1024×768
Q: На маке 2 монитора, как отобразить только один из них?
A: Просто зайдите в настройки экрана и нажмите Mirror Displays, тогда будет показан только один экран.
Q: При работе ощущаются тормоза, что делать?(
A: Мы перепробовали несколько VNC клиентов и их настроек, но везде присутсвует проблема лагов и медленного «умерания» коннекта, с чем это связано так и не нашли, потому что в целом тестеров устроило. Помогает переподключение.
Q: А что делать пользователям Windows?
A: Тут такое дело (с), что мы не нашли Win компьютера в офисе, но всё сводится к простейшему поиску VNC клиента под Win, который умеет коннектится к Apple Remote Desktop.
Заключение
По сути дела статья — собирательный образ Mac VNC + VNC Client + Xcode custom build path + Running Simulator with target application и была написана с целью избавить Вас от гугления данных тем.
Приветствуются советы по улучшению схемы, особенно узкого места в виде VNC и его медленной работы.
Спасибо за внимание!
Источник
Запускаем командную строку Linux на iOS
А вы знали, что можно запустить командную строку Linux на устройстве iOS? Возможно, вы спросите: «Зачем мне пользоваться текстовыми приложениями на iPhone?» Справедливый вопрос. Но если вы читаете Opensource.com, то, вероятно, знаете на него ответ: пользователи Linux хотят иметь возможность работать с ним на любом устройстве и хотят пользоваться собственными настройками.
Но больше всего они жаждут решения сложных задач.
У меня есть семилетний iPad 2 Mini, который по-прежнему неплохо подходит для чтения электронных книг и других задач. Однако я хочу использовать его и для доступа к командной строке приложений с моим набором программ и скриптов, без которых не могу работать. Мне нужно окружение, к которому я привык, а также моя стандартная среда разработки. И вот как мне удалось этого добиться.
Подключение к клавиатуре
Работать с командной строкой для программирования через экранную клавиатуру телефона или планшета довольно неудобно. Я рекомендую подключить внешнюю клавиатуру, или через Bluetooth, или воспользовавшись адаптером подключения камеры, чтобы подключить проводную клавиатуру (я выбрал второе). При подключении разделённой клавиатуры Kinesis Advantage к iPhone 6 получается странное устройство, напоминающее корпоративный кибердек из классической ролевой игры Shadowrun.
Устанавливаем оболочку на iOS
Для запуска полнофункциональной системы Linux на iOS есть два варианта:
- Secure shell (SSH), подключаемая к компьютеру с Linux
- Запуск виртуальной системы с помощью Alpine Linux с iSH, который является open source, но должен устанавливаться с помощью проприетарного приложения TestFlight компании Apple
В качестве альтернативы существуют два приложения-эмулятора терминала в open source, предоставляющие возможность работы с open-source-инструментами в ограниченном окружении. Это самый урезанный вариант — на самом деле так вы запускаете не Linux, а инструменты Linux. При работе с этими приложениями существуют жёсткие ограничения возможностей, однако вы получаете частичную функциональность командной строки.
Прежде чем перейти к сложным решениями, я рассмотрю простейший способ.
Вариант 1: оболочка в «песочнице»
Один из самых простых способов — установить приложение для iOS LibTerm. Это опенсорсная командная оболочка в «песочнице» с поддержкой более 80 команд по цене в ноль долларов. В комплекте с ней поставляются Python 2.7, Python 3.7, Lua, C, Clang и многое другое.
Примерно такой же функциональностью обладает a-Shell, описываемая разработчиками как «тестовый интерфейс пользователя для платформы с экранным вводом». Исходники a-Shell выложены open source, она находится в активной разработке, предоставляет доступ к файловой системе и поставляется с Lua, Python, Tex, Vim, JavaScript, C и C++, а также с Clang и Clang++. Она даже позволяет устанавливать с помощью pip пакеты Python.
Вариант 2: SSH
Ещё одним шагом вперёд по сравнению со скачиванием приложения является настройка SSH-клиента. Уже долгое время мы могли использовать любое из множества приложений SSH-клиентов для iOS, чтобы подключаться к серверу, на котором запущен Linux или BSD. Преимущество использования SSH заключается в том, что на сервере может работать любой дистрибутив с любым программным обеспечением. Вы работаете удалённо и результаты работы просто передаются в эмулятор терминала на устройстве iOS.
Blink shell — это популярное платное SSH-приложение в open source. Если не обращать внимания на маленький экран устройства, то использование этого ПО похоже на подключение к серверу через любую другую командную строку. Терминал Blink замечательно выглядит, имеет множество готовых тем и функцию создания собственных, в том числе возможность настройки и добавления новых шрифтов.
Вариант 3: запуск Linux
Использование SSH для подключения к серверу под Linux — это отличный способ доступа к командной строке, но для него требуется внешний сервер и сетевое подключение. Это не самая большая преграда, но её нельзя полностью игнорировать, поэтому вам может потребоваться работать с Linux без сервера.
Если это ваш случай, то вам нужно будет сделать ещё один шаг вперёд. TestFlight — это проприетарный сервис для установки разрабатываемых приложений ещё до того, как они были выложены в Apple App Store. Приложение TestFlight можно установить из App Store, а затем пользоваться тестовыми приложениями. Приложения в TestFlight позволяют в течение ограниченного времени работать с ними ограниченному количеству бета-тестеров (обычно до 10 000). Чтобы скачать тестовое приложение, нужно перейти со своего устройства по ссылке, которая обычно находится на веб-сайте разработчика тестового приложения.
Запуск Alpine Linux с iSH
iSH — это open-source-приложение TestFlight, запускающее виртуальную машину с готовым дистрибутивом Alpine Linux (немного потрудившись, можно запускать и другие дистрибутивы).
Важная особенность: приложение экспериментальное. Так как iSH сейчас пока являются тестовым приложением, не ожидайте постоянной и надёжной работы. Приложения TestFlight ограничены по времени. Моя текущая сборка будет работать всего 60 дней. Это означает, что через 60 дней меня исключат и придётся снова присоединяться к следующему этапу тестирования iSH. Более того, я потеряю все свои файлы, если не экспортирую их с помощью Files на iOS или не скопирую их на Git-хост или через SSH. Иными словами: Не надейтесь, что всё это будет продолжать работать! Не помещайте в систему ничего важного для вас! Выполняйте резервное копирование в отдельное место!
Установка iSH
Начните с установки TestFlight из App Store. Затем установите iSH, получив ссылку на установку с веб-сайта приложения. Есть ещё один способ установки с использованием AltStore, но я его не пробовал. Или, если у вас есть платный аккаунт разработчика, можете скачать репозиторий iSH с GitHub и установить его самостоятельно.
При помощи ссылки TestFlight установит приложение iSH на ваше устройство. Как и в случае с любым другим приложением, на экране появится значок.
Управление пакетами
iSH выполняет эмулятор x86 с Alpine Linux. Alpine — это крошечный дистрибутив размером меньше 5 МБ. Я впервые работал с Alpine, поэтому думал, что такой минимализм будет раздражать, но на самом деле он мне очень понравился.
В Alpine используется менеджер пакетов apk, который проще, чем даже apt или pacman.
Как установить пакет:
Как удалить пакет:
Как узнать другие команды и информацию:
Обновление менеджера пакетов:
Установка текстового редактора
Стандартным текстовым редактором Alpine является Vi, но я предпочитаю Vim, поэтому установил его:
При желании можно установить Nano или Emacs.
Смена оболочки
Не знаю, как насчёт вас, а мне нужна была fish shell. Другие люди предпочитают Bash или Zsh. Однако в Alpine используется ash! Ash — это форк оболочки Dash, которая сама является форком оригинального ash, или Almquist shell. Её приоритетом является скорость. Я решил обменять скорость на встроенное автодополнение, цвета, управление клавишами Vim и подсветку синтаксиса, которые я люблю и знаю по fish shell.
Если вам нужна Bash с её автодополнением и man-страницами, то установите их:
Минималистичная идеология Alpine обычно означает, что некоторые программы, которые в других дистрибутивах являются одним пакетом, будут разделены на несколько пакетов поменьше. Также это означает, что вы можете настраивать и уменьшать размер системы ровно так, как вам этого хочется.
Подробнее об установке Bash можно узнать из этого туториала.
Смена оболочки по умолчанию
После установки fish можно временно переключиться на неё, введя fish и перейдя в оболочку. Но я хочу сделать fish оболочкой по умолчанию, а команда chsh , которую я использовал в других дистрибутивах, не работала.
Сначала узнаем, куда установилась fish:
Вот, что получилось у меня:
Далее изменим login shell на fish. Можете использовать любой удобный вам редактор. Если в новичок, то установите Nano (командой apk add nano ), чтобы можно было отредактировать файлы конфигурации и сохранить их через CTRL+X, подтвердить и выйти.
Но я использовал Vim:
У меня первая строка была такой:
Чтобы сделать fish оболочкой по умолчанию, изменим эту строку на следующую:
Затем сохраним файл и выйдем.
Я уверен, что существует хороший способ изменить путь к оболочке, чтобы её можно было использовать сразу. Но я его не знаю, поэтому рекомендую вернутся в браузер приложений, принудительно выполнить выход из оболочки и для надёжности выключить и перезагрузить iPad или iPhone. Снова откройте iSH и теперь кроме сообщения «Welcome to Alpine!» и информации о запуске с apk вы увидите стандартное приветственное сообщение логина fish: Welcome to fish, the friendly interactive shell. Ура!
Настройка Python и pip
Я решил добавить Python (версию 3.x), не только для того, чтобы писать код, но и потому, что я пользуюсь несколькими программами на Python. Установим его:
Хотя Python 2.x устарел, можно установить и его:
Установим менеджер пакетов Python под названием pip и setuptools:
Для установки и настройки менеджера пакетов понадобится какое-то время, поэтому просто подождите.
Затем можно будет скачать инструмент для передачи файлов по сети curl:
Читаем мануалы
Fish использует встроенное автодополнение на основе man-страниц. Как и другие пользователи командной строки, я пользуюсь мануалом man , а в Alpine он не установлен. Поэтому я установил его с терминальным пейджером less:
В дополнение к man я использую великолепный проект tldr pages, предоставляющий упрощённые и управляемые сообществом man-страницы.
Я установил его с помощью pip:
Команда tldr соединяется с вебом для получения страниц, когда встречает запрос на новую страницу. Если вам нужно узнать, как пользоваться командой, то вы можете написать что-то типа tldr curl и получить описание на простом английском языке и хорошие примеры по использованию команды.
Разумеется, всю эту работу по установке можно автоматизировать с помощью dotfiles или скрипта установки, но на самом деле это не очень соответствует идеологии Alpine — настройке минимальной установки чётко под свои потребности. Кроме того, это ведь заняло так много времени, правда?
Дополнительная информация
В Вики iSH есть страница «what works» с отчётами о том, какие пакеты сейчас работают. Кстати, похоже, что npm сейчас не работает.
На ещё одной вики-странице объясняется, как получить доступ к файлам iSH из приложения iOS Files. Это один из способов, которым можно перемещать и копировать файлы.
Можно также установить Git (да! apk add git ) и пушить свою работу в удалённый репозиторий или передавать его на сервер через SSH. И, разумеется, можно скачивать и запускать любое количество замечательных open-source-проектов с GitHub.
Подробнее об iSH можно узнать по этим ссылкам:
На правах рекламы
Вдсина предлагает виртуальные серверы на Linux или Windows. Используем исключительно брендовое оборудование, лучшую в своём роде панель управления серверами собственной разработки и одни из лучших дата-центров в России и ЕС. Поспешите заказать!
Источник