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

Если 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команду « Включение пересылки X11» от Apple . Это также обеспечит DISPLAYавтоматическую установку переменной.

  • На вашем компьютере с Linux:

    ssh -Y user @ 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 и открытии портов на базовой станции Airport, а затем немного о настройке на стороне клиента (шаги 20-21).


И есть также много программ, которые используют только одно приложение (а не весь рабочий стол). Я думаю, что это можно сделать даже с помощью новейшего кроссплатформенного Skype. (Я не уверен, что Skype также позволяет управлять удаленным компьютером, а не только смотреть на его экран.)
Arjan

Я хотел бы избежать его использования. Кажется, VNC остается единственной альтернативой на данный момент.
Алекс Б

-2

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

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

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


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