X переадресація через SSH з Mac у вікно Linux


9

Мені потрібно запустити програми Mac на віддаленій машині Mac і відобразити їх на сервері X локальної машини Linux (багато статей в Інтернеті, здається, детально описують, як би ви це зробили в зворотному напрямку).

$ ssh -X mac-box
$ cd /Developer/Applications/Xcode.app
$ ./Contents/MacOS/Xcode
Sat Oct  3 20:41:26 mac-box.local Xcode[15634] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
^C
  1. Моя $DISPLAYзмінна, здається, порожня. Як це має виглядати, щоб переадресація працювала правильно?
  2. Чи можна взагалі запускати програми OSX таким чином?

Відповіді:


6

Якщо Aqua Mac була X, то вам не потрібно запускати X (XQuartz), щоб запускати інші програми X на Mac ...

Отже: ні, я думаю, ви не можете цього зробити.


Але, щоб допомогти вам розпочати роботу, спершу спробую передати справжні X програми на вашу Linux-машину:

  • На вашому Mac: встановіть XQuartz, якщо ви ще цього не зробили (наприклад, XQuartz 2.3.4 з додаткової інсталяції на DVD X OS 10.6 або завантажте останню з проекту XQuartz ).

  • На вашому Mac: перейдіть X11Forwarding noна X11Forwarding yes(і переконайтесь, що немає хешу ( #) перед цим рядком), використовуючи sudo vi /private/etc/sshd_configабо використовуючи sedкоманду з ввімкнення X11 Forwarding від Apple . Це також забезпечить DISPLAYавтоматичну установку змінної.

  • На вашій машині Linux:

    ssh -Y користувач @ mac-box
    xterm
    

(Деякі наступні кроки можуть включати Googling для Xephyr(або старішої версії Xnest). А якщо ви зіткнулися з проблемами з клавіатурою: Google xmodmapабо використовуєте xevдля налагодження. Або для проблем з шрифтом: Google xfsі xset +fp tcp/mac-box:7100. Але я сумніваюся, ви можете запускати програми Aqua таким чином.)


1
На жаль, ви праві. Я не можу запустити симулятор Xcode та iPhone через SSH, хоча я можу запустити xterm. Крім того, мені не потрібно було встановлювати XQuartz на складі 10.6 встановити.
Алекс Б

@AlexB Чи змінилося щось за останні 10 років?
Мухаммед бен Юсрат

4

Це здається, що вашою основною метою тут є перегляд запущених додатків Mac на машині Linux. Арджан правий, переадресація X не допоможе для цього.

Ви повинні ввімкнути Спільний доступ до екрана на панелі Спільний доступ у Налаштуваннях системи. Це увімкне сервер VNC. Використовуючи клієнт VNC на своїй машині Linux, ви зможете побачити ваш робочий стіл Mac. У цій статті показано, як налаштувати його на стороні mac (кроки 1-3), продовжує (трохи занадто) про налаштування dyndns та відкриття портів на базовій станції аеропорту, а потім має невеликий шматочок у нижній частині щодо налаштування вгору на стороні клієнта (кроки 20-21).


І також є багато програм, які мають лише один додаток (а не весь робочий стіл). Я думаю, що це навіть можна зробити, використовуючи останню крос-платформу Skype. (Я не впевнений, чи скайп також дозволяє керувати віддаленою машиною, а не лише зазирати на її екран.)
Арджан

Я б хотів, щоб я міг не використовувати його. Здається, VNC залишається єдиною альтернативою на даний момент.
Алекс Б

-2

Просто використовуйте

su -lm <usrname-to-proxy-for>

щоб увійти в оболонку, де не виникне проблем з X11. Докладніше про параметр '-m' див.


-Залиште середовище без змін. Викликана оболонка - це ваша оболонка для входу, і жодні зміни в каталозі не вносяться. - як це пов’язано з питанням?
Ар’ян
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.