Як запускати програми GUI з терміналу

Anonim

Ми всі знаємо, як запускати програми з графічного інтерфейсу, подвійним клацанням миші на піктограмі або клацанням програми в Dock, і існує багато способів зробити це, і всі вони відносно швидкі. Якщо ви проводите пристойну кількість часу з командним рядком, приємно мати можливість запускати програми Mac безпосередньо звідти. Крім того, у терміналі є достатня частка програм, які працюють у текстовому режимі, але, можливо, ви хотіли редагувати текстовий файл у програмі Mac OS X GUI TextWrangler, а не в текстовій програмі nano або vim.

Ми збираємося продемонструвати, як запустити будь-яку графічну програму Mac з командного рядка MacOS X, зокрема, як відкривати певні файли з командного рядка за допомогою програми графічного інтерфейсу користувача, а також як редагувати та відкривати ті файли з кореневим доступом, якщо це необхідно.

Відкриття програм Mac OS X з командного рядка

Команда терміналу для запуску програм графічного інтерфейсу MacOS називається «відкрити», і ось як вона працює найпростіше:

open -a ApplicationName

Це відкриє визначену програму під назвою «ApplicationName».

Але open набагато потужніший за це. Якщо ви просто введете «відкрити» в командному рядку, ви повернете базовий файл довідки з докладною інформацією про те, як правильно використовувати команду з різними прапорцями та синтаксисом.

Хоча команда open існує в усіх версіях Mac OS X, можливості дещо відрізняються залежно від версії MacOS / Mac OS X, на якій працює Mac. Тим не менш, у сучасних випусках ви побачите ось що:

$ open Використання: open Довідка: Open відкриває файли з оболонки. За замовчуванням відкриває кожен файл за допомогою стандартної програми для цього файлу. Якщо файл має форму URL-адреси, файл буде відкрито як URL-адресу. Параметри: -a Відкривається за допомогою вказаної програми. -b Відкривається з указаним ідентифікатором комплекту програм. -e Відкривається за допомогою TextEdit. -t Відкривається текстовим редактором за замовчуванням. -f Читає вхідні дані зі стандартного вводу та відкриває за допомогою TextEdit. -F --fresh Запускає програму свіжо, тобто без відновлення вікон. Збережений постійний стан втрачено, за винятком документів без назви. -R, --reveal Вибирає у Finder замість відкриття. -W, --wait-apps Блокує, поки не буде закрито використовувані програми (навіть якщо вони вже запущені). --args Усі решта аргументів передаються в argv до функції main() програми замість відкриття. -n, --new Відкрити новий екземпляр програми, навіть якщо вона вже запущена. -j, --hide Приховано запускає програму. -g, --background Не виводить програму на передній план.-h, --header Шукає у файлах заголовків заголовки, що відповідають заданим назвам файлів, і відкриває їх.

Іншими словами, приклад простого синтаксису команди може виглядати так, відкриваючи «ApplicationName» з файлом, розташованим на шляху «/file/to/open»:

open -a ApplicationName /file/to/open

Зверніть увагу, що вам не потрібен повний шлях до імені програми, але вам знадобиться повний шлях до імені файлу.

Використання, ймовірно, зрозуміле для тих, хто має досвід роботи в середовищі командного рядка, але для тих, хто вперше користується терміналом, не надто плутайтеся, він простий у використанні, і ми поясню. Наприклад, якщо ви хочете відредагувати /etc/motd за допомогою TextWrangler, щоб змінити своє повідомлення дня, але ви ненавидите редактори командного рядка nano та vi, ось що вам потрібно ввести:

$ open -a TextWrangler /etc/motd

Тепер ви можете редагувати ці файли у знайомому графічному інтерфейсі. open достатньо розумний, щоб знати, що коли ви застосовуєте прапорець -a, ви запускаєте програму, тому вам не потрібно вводити її повний шлях. Очевидно, що все одно знадобиться повний шлях до файлу, який ви редагуєте.

Існує багато інших способів використання команди open, а не просто редагування текстових файлів, тому використовуйте свою уяву та будьте творчими. open може бути особливо корисним для системних адміністраторів, які використовують його в сценарії оболонки, можливо, для запуску певної програми GUI у запланований час.

Також варто зауважити, що якщо ви запускаєте програму з пробілами в її назві, ви захочете додати зворотну косу риску після кожного слова, відкриття Adobe Photoshop CS виглядатиме так:

$ open -a Adobe\ Photoshop\ CS

Запуск програм графічного інтерфейсу користувача від імені користувача root з командного рядка

Ви навіть можете відкривати файли за допомогою sudo за допомогою команди open, якщо вам потрібно редагувати файл від імені root, наприклад:

sudo open -a TextEdit /tmp/magicfile

Це запустить цільовий файл у потрібну програму як root-користувач, надаючи повні привілеї root для редагування та зміни файлу, що дуже корисно для редагування багатьох системних файлів. Звичайно, не змінюйте жодного системного файлу, якщо ви не знаєте, що робите.

Створення псевдонімів оболонки для програм графічного інтерфейсу користувача, що часто запускаються

Тож це певний біль у сідниці вводити повну команду кілька разів або вводити все це знову і знову, чи не так? Давайте спростимо це, призначивши псевдонім програмі, яка часто запускається. Ми візьмемо вищезгадану програму Adobe Photoshop як приклад, оскільки ім’я файлу є довгим, тому ось як ми це зробимо за допомогою оболонки Mac OS X за замовчуванням Bash:

Спочатку запустіть профіль або .bash_profile у текстовому редакторі:

$ nano .profile

або

$ open -e .profile

Ігноруючи все, що може бути в цьому файлі (він також може бути порожнім), додайте наступне до нового рядка:

"

alias photoshop=open -a Adobe\ Photoshop\ CS"

Це створює псевдонім, тож команда «open -a Adobe\ Photoshop CS» тепер скорочена до просто «photoshop». Збережіть .profile, і ви в дорозі! Ви можете використовувати команду alias у поєднанні з open практично для будь-чого, просто переконайтеся, що ви вибрали псевдонім для команди, якої ще немає.

Команда open дуже зручна, як ви бачите, якщо у вас є інші чудові варіанти її використання в Mac OS X, обов’язково повідомте нам про це в коментарях.

Як запускати програми GUI з терміналу