8

Мне нужно запускать приложения 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?

3 ответа3

6

Если Mac Mac был Aqua X, вам не нужно запускать X (XQuartz) для запуска других программ X на Mac ...

Итак: нет, я думаю, что вы не можете сделать это.


Но, чтобы помочь вам начать, я сначала попробую переслать настоящие X-программы на ваш Linux-компьютер:

  • На Mac: установите XQuartz, если вы еще этого не сделали (например, XQuartz 2.3.4 из дополнительных установок на DVD с OS X 10.6 или загрузите последнюю версию из проекта XQuartz).

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

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

    ssh -Y user @ mac-box xterm
    

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

4

Похоже, ваша главная цель - просмотреть запущенные приложения Mac на компьютере с Linux. Арджан прав, переадресация X не будет работать для этого.

Вы должны включить общий доступ к экрану на панели общего доступа в Системных настройках. Это включит сервер VNC. Используя клиент VNC на вашем компьютере с Linux, вы сможете увидеть свой рабочий стол Mac. В этой статье показано, как настроить его на стороне Mac (шаги 1-3), далее (слишком много) о настройке dyndns и открытии портов на базовой станции Airport, а затем немного о настройке на стороне клиента (шаги 20-21).

-2

Просто используйте

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

войти в оболочку, где не возникнет проблем с X11. Смотрите manpages для получения подробной информации о опции -m.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .