Как я могу запустить локальное приложение удаленно?

Я использую TextMate на Mac OS X для разработки. Файлы, которые я должен отредактировать, находятся на машине Linux, и мне смонтировали файловую систему Linux на моем Mac OS X. Открытие файлов и сохранение их в TextMate не являются проблемой.

То, что я хочу сделать, должно быть зарегистрировано и работающий в командной строке на поле Linux, но смочь выполнить команду, которая удаленно управляет, чтобы TextMate на моем Mac открыл файл, как

user@linux $ mate <filename>

Я хочу, чтобы это открыло файл в TextMate на моем Mac OS X (таким образом, сместив фокус от моего Terminal.app до TextMate.app). Как я могу достигнуть этого эффекта?

2
задан 29.10.2012, 22:02

4 ответа

можно соединить использование ssh user@serverip -Y При выполнении графической команды в удаленной машине, она отправит графический интерфейс на X-сервер локальной машины.

ОТРЕДАКТИРОВАННЫЙ

извините я неправильно понимаю Ваш вопрос, на самом деле Вы хотите использовать приложение Mac, не графическое приложение в машине Linux... Но существуют в Windows и Linux несколько текстовых редакторов, которые используют плагины, чтобы соединиться через ftp и отредактировать файлы сервера. При поиске с помощью Google чего-то как этот для Mac (я не пользователь Mac) я нашел эту ссылку для пакета ftp/ssh для textmate. Я надеюсь, что это помогает Вам

0
ответ дан 08.12.2019, 05:09

Я не полагаю, что это возможно. Однажды Вы ssh в Вашу удаленную машину все, что Вы вводите в командной строке, передается удаленной машине, которая не может запустить TextMate на Вашей локальной машине.

1
ответ дан 08.12.2019, 05:09

Можно использовать sshfs на MacFUSE, который позволяет Вам монтировать (как "локальный" диск) любой каталог, к которому можно получить доступ через ssh/sftp.

Сначала необходимо установить MacFUSE (который является портом FUSE [http://fuse.sourceforge.net/] для MAC OSX), можно добраться если от

http://code.google.com/p/macfuse/

это - стандартный пакет программного обеспечения OS X, который можно установить просто двойным нажатием на него.

Затем необходимо загрузить sshfs (часть программного обеспечения, которое помещает FUSE в отношение с ssh),

http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS

выберите среди

sshfs-static-leopard.gz
sshfs-static-tiger.gz

согласно версии Вашей ОС. Затем gunzip это и помещенный это в Ваш путь (открывают терминал в месте, где Вы загрузили его, затем сделайте что-то как

gunzio sshfs-static*gz
sudo cp sshfs-* /usr/local/bin/sshfs
sudo chmod a+rx /usr/local/bin/sshfs

не волнуйтесь, возвращает ли шаг gunzip ошибку, может случиться так, что Ваш браузер уже распаковал его).

Теперь, откройте терминал и сделайте

mkdir local_mount_point
sshfs user@host:folder local_mount_point

и Вы сможете получить доступ к содержанию "папки" на "хосте" в локальной папке, названной "local_mount_point" (конечно, можно назвать его как Вам нравится). Следовательно, простое

mate local_mount_point/filename

сделаю.

Конечно, необходимо установить программное обеспечение только однажды, и затем можно соединиться (монтируются) как meny времена, которые Вы хотите!

BTW, TextWrangler позволяет делать это, не устанавливая дополнительное программное обеспечение (он может сохранить/открыть файлы через ssh на удаленных хостах исходно).

1
ответ дан 08.12.2019, 05:09

Это не будет работать непосредственно с приложением Воды.

Приложение, которое Вы запускаете, должно было бы быть установлено на удаленном хосте, и даже если удаленным хостом является Mac, Вы все еще не можете сделать этого с приложениями Воды. (Одна прохладная вещь о X11 состоит в том, что это - знающая сеть).

С X приложениями можно использовать:

ssh -Y remotehost gedit foo

С не X приложений можно использовать:

ssh -t remotehost vim foo

Gedit и энергия являются, конечно, примерами. Замените своими вторыми и третьими любимыми текстовыми редакторами (так как TextMate является, по-видимому, Вашим первым фаворитом).

Для получения поведения, Вы хотите совершенно другим способом, делаете сценарий названным rmate и вставленный в него Ваш $PATH. Содержание сценария следующие:

#!/bin/bash

TMPDIR=/tmp
TMPFILE=$(mktemp -t textmate-${UID})
scp $1 ${TMPFILE}
mate -w ${TMPFILE}
scp ${TMPFILE} $1
rm -f ${TMPFILE}

Для редактирования удаленных файлов в TextMate выполняет это:

rmate remotehost:/path/to/file

Вы теперь редактируете "удаленный" файл в TextMate. Когда Вы сделаны, сохраняют и закрывают окно. Файл будет скопирован назад в удаленную систему в своем исходном местоположении.

Caveate: у Меня нет TextMate. Я протестировал это с SubEthaEdit, но mate также поддержки -w флаг (см. здесь), таким образом, я принимаю это, будет работать тот же путь при закрытии окна. YMMV.

1
ответ дан 08.12.2019, 05:09

Теги

Похожие вопросы