Запуск windows-додатків під FreeBSD
Однак у Вас може виникнути питання: «А як справи із запуском виконуваних файлів?» Якщо Ваша «інша» операційна система зроблена корпорацією Майкрософт, і, крім того, Ви скористаєтеся емулятором Windows (Wine), то на FreeBSD цілком можна буде виконувати досить велику кількість Windows-додатків. (Крім Windows-додатків, FreeBSD дозволяє виконувати програми, скомпіловані для операційної системи Linux. Підтримка Linux-додатків реалізована набагато повніше і краще, ніж підтримка Windows-програм. Досить сказати, наприклад, що під FreeBSD чудово почувається Linux-версія сервера баз даних Oracle версії 8 -прим. перекладача.)
У сьогоднішній статті я хочу продемонструвати процес встановлення та використання емулятора Wine. Якщо все піде нормально, то я ризикну випробувати долю, спробувавши запустити якийсь Windows-додаток на комп'ютері, на вінчестері якого, крім FreeBSD, взагалі нічого немає – жодного розділу із софтом від Майкрософта.
Після того, як Wine встановлений, на обох машинах необхідно перевірити конфігураційні файли ядра на наявність у них необхідних роботи Wine опцій. Залишаючись під суперкористувачем, пишемо:
На моїй FreeBSD 4.3-RELEASE, три опції SYS* вже були включені, так що мені довелося додати лише параметр USER_LDT . Якщо Вам теж довелося додати щось, збережіть внесені зміни і перекомпілюйте ядро:
В останньому рядку насправді я викликаю відразу чотири окремі команди, символи означають, що наступна команда зі списку буде виконана лише за умови успішного виконання попередньої команди. Якщо Ви вирішите включити в список команду, переконайтеся, що інші користувачі в цей час нічого не роблять на цій системі, оскільки система будеперезавантажена негайно після закінчення етапу встановлення скомпілованого ядра.
Після встановлення Wine, документацію, що додається до нього, можна буде прочитати за допомогою команди man 1 wine, а так само подивитися її в каталозі /usr/local/share/doc/wine. Крім того, я знайшла дуже корисне HOW-TO (див. http://www.la-sorciere.de/Wine-HOWTO/book1.html), яке може стати в нагоді при першій установці Wine.
Для початку давайте спробуємо запустити Wine на системі, на якій, крім FreeBSD, встановлена Windows 98. Для запуску Wine на цій машині мені доведеться подолати наступні етапи:
- Знайти та де-небудь змонтувати розділ Windows.
- Ретельно перевірити та виправити конфігураційний файл Wine.
- Протестувати систему, що вийшла, запуском якого-небудь Windows-додатки.
Оскільки встановлення операційної системи на цей комп'ютер було зроблено досить давно, я скористаюся утилітою sysinstall для того, щоб відновити в пам'яті карту розподілу дискового простору на вінчестері. Під суперкористувачем:
І ось я бачу щось подібне:
Для виходу з fdisk'а я натиснула клавішу q, а потім залишила sysinstall, кілька разів вибравши пункт. Видно, що розділ Windows у FreeBSD має назву ad0s1. Для того, щоб змонтувати цей розділ, спочатку я створимо для нього точку монтування під назвою
Про всяк випадок, я перевірю права доступу до нового каталогу:
Все нормально, всі користувачі можуть і , і лише один root може файли.
Перед тим, як змонтувати розділ Windows на постійній основі за допомогою /etc/fstab, я повинна переконатися, що він може правильно монтуватися вручну:
Зауважте, що як тип файлової системи використовується , назва пристрою , аточкою монтування виступає каталог. Оскільки в результаті виконання команди я просто отримала запрошення до роботи, система змонтована коректно. Це можна перевірити за допомогою команди df:
Крім того, я можу перевірити вміст змонтованого розділу за допомогою команди ls. Я скористаюся ключем для того, щоб назви каталогів відрізнялися від назв файлів символом:
Якщо Ви ніколи раніше не монтували файлові системи, то, ймовірно, Вам знадобиться кілька хвилин, щоб погратися з командами та . Майте на увазі, що багато файлів мають назви у верхньому регістрі, так що коли Ви до них звертатиметеся, пишіть їх з урахуванням регістру, оскільки FreeBSD чутлива до регістру. Мало того, деякі файли містять у назві символи пропуску. Для доступу до таких файлів Ви можете спробувати надрукувати кілька перших літер такого файлу і, натиснувши клавішу , скористатися функцією автодоповнення імені файлу, або поставити перед пробілом в імені файлу символ зворотного сліша :
Якщо Ви бажаєте монтувати розділ Windows безпосередньо під час завантаження, акуратно додайте наступний рядок у файл /etc/fstab :
Переконайтеся, що Ви використовуєте правильну назву Windows-розділу, оскільки вона може відрізнятися. Перед збереженням переконайтеся, що Ви не внесли файл будь-якої помилки. Я завжди намагаюся переконатися, що мої зміни у файлі fstab є працездатними в такий спосіб:
Як тільки Ви повернетеся назад, за допомогою команди df -h Ви зможете переконатися, що розділи змонтовані правильно.
Ось тут слід зупинитися, оскільки тут необхідно внести зміни. Замініть значення змінної Path на назву Вашої точки монтування. Оскільки у мене точка монтування називається, язмінила цей рядок наступним чином:
Збережіть зміни. Я виявила, що для коректної роботи Wine цей файл має бути скопійований до домашнього каталогу користувача. Під суперкористувачем я зроблю деякі зміни в домашньому каталозі користувача genisis:
Знаходячись у XWindow, у вікні xterm'а, виберемо для запуску якусь програму:
Серед іншого я виявила файл PROGMAN.EXE. Інтрига полягає в тому, що це Диспетчер програм Windows. Я вирішила подивитися, чи зможу я запустити його у FreeBSD під емуляцією Wine:
Після кількох секунд очікування я була привітана Диспетчером Програм. Клацнувши по меню, я вибрала пункт і натиснула кнопку. В результаті цього я побачила великий список файлів, що знаходяться на моєму розділі Windows.
Тепер почалися веселощі. За допомогою методу спроб і помилок я стала з'ясовувати, які програми я зможу запустити. Я почала з Калькулятора, тому вибравши CALC.EXE, я натиснула кнопку , а потім кнопку . І, вуаля, я користуюся калькулятором Windows. Ви можете просидіти ніч, тестуючи програми на або Ви можете скористатися функцією пошуку на будь-якому з цих двох сайтів:
- Wine Development HQ (див. http://www.winehq.com/Apps)
- CodeWeavers Wine Application Database (див. http://appdb.codeweavers.com/)
У базі першого сайту на момент написання статті міститься 2704 додатків, які протестовані на сумісність із Wine. Другий сайт має більш зручний дизайн, але знаходиться на стадії розробки.
Тепер давайте зробимо щось цікавіше. Я увійшла під суперкористувачем і вирішила перевірити, чи можу я встановити і запустити якусь Windows-програму під емуляцією Wine. Щоб знайти програми, я пішла на http://www.download.com.
Я клацнула за посиланням«Найпопулярніші» ігри і побачила Solsuite 2001 . Реклама обіцяла 282 різні пасьянси. Я викачала інсталятор, який назвався solsuite.exe та зберегла його в каталозі /dos.
Повернувшись у xterm'і я надрукувала:
І відразу отримала повідомлення про помилку, що говорить про відсутність каталогу .wine . Давайте створимо в домашньому каталозі суперкористувача цей підкаталог і скопіюємо конфігураційний файл Wine:
Тепер, коли я повторила запуск wine, запустився майстер інсталяції програми. Я пройшла через всі етапи установки і простежила за процесом копіювання файлів. В самому кінці інсталятор завис, однак він повідомляв, що до кінця процесу встановлення залишилося 0 хвилин, 0 секунд, тому я вирішила спробувати щастя і для завершення установки скористався комбінацією. Потім я набрала:
Настав час обдзвонювати сусідів і хвалитися. Я успішно встановила і запустив Windows-програму з FreeBSD і, крім того, я відновив свій інтерес до карткових ігор.
Як останній тест, я перезавантажила комп'ютер у Windows 98. Там я натиснула на кнопку , і в меню побачила новий пункт «Solsuite-Solitaire Card Games», всередині, щоправда, було порожньо. Не злякавшись, я запустила провідник і двічі клацнула по папці «Program Files», а потім увійшла до каталогу, де і виявила файли, що виконуються. Це добрий знак, подумала я. Я відкрила в провіднику папку Windows, потім , а потім «Solsuite-Solitaire Card Games», і, перетягнувши туди правою кнопкою миші файл solsuite.exe , вибрала в контекстному меню пункт «Створити ярлик».
Тепер, натиснувши , , «Solsuite-Solitaire Card Games» і вибравши «Ярлик на SolSuite», я знову можу вибирати пасьянс, що цікавить мене. Я вражена.
Я увійшла в систему під суперкористувачем і створила тамкілька каталогів та порожніх файлів, наявність яких передбачається Windows-програмами:
Пам'ятаєте, як нам довелося відредагувати один рядок у файлі /usr/local/etc/wine.conf , щоб вона вказувала на точку монтування розділу Windows? Зараз нам доведеться зробити це знову, щоправда вказуватиме вона на структуру Windows-каталогів:
Потім я створю необхідні каталоги і скопіюю конфігураційний файл суперкористувача і користувача genisis :
Залишаючись суперкористувачем, я повернуся на http://www.download.com і завантажу інсталятор Solsuite 2001 . Тепер я збережу його в /usr/local/lib/win. Тепер запущу сесію XWindow, xterm та надрукую:
Знову розпочнеться інсталяційна програма. Я отримала повідомлення про помилку, в якому йшлося про неможливість виявити файл, але я успішно його проігнорувала. Коли все закінчилося, я надрукувала:
І хоча це було трохи повільніше (але це і старіший комп'ютер), і, крім того, мені довелося підлаштувати конфігурацію дисплея, але я все-таки змогла пограти в гру, написану для Windows, на комп'ютері, який повністю виділений під FreeBSD. Людина з дослідницьким складом натури отримає масу насолоди від Wine.
Все сказане вище говорить про те, що емулятор Wine - це програма з колекції портів FreeBSD, з якої можна непогано розважитися. Якщо в результаті Ваших експериментів з Wine Вам вдасться запустити під ним програму, яка не включена до бази даних, що виконуються під Wine програм, додайте Ваш запис до цієї бази на будь-якому з двох сайтів, про які я згадала вище.