Я использую 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). Как я могу достигнуть этого эффекта?
можно соединить использование ssh user@serverip -Y
При выполнении графической команды в удаленной машине, она отправит графический интерфейс на X-сервер локальной машины.
ОТРЕДАКТИРОВАННЫЙ
извините я неправильно понимаю Ваш вопрос, на самом деле Вы хотите использовать приложение Mac, не графическое приложение в машине Linux... Но существуют в Windows и Linux несколько текстовых редакторов, которые используют плагины, чтобы соединиться через ftp и отредактировать файлы сервера. При поиске с помощью Google чего-то как этот для Mac (я не пользователь Mac) я нашел эту ссылку для пакета ftp/ssh для textmate. Я надеюсь, что это помогает Вам
Я не полагаю, что это возможно. Однажды Вы ssh
в Вашу удаленную машину все, что Вы вводите в командной строке, передается удаленной машине, которая не может запустить TextMate на Вашей локальной машине.
Можно использовать 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 на удаленных хостах исходно).
Это не будет работать непосредственно с приложением Воды.
Приложение, которое Вы запускаете, должно было бы быть установлено на удаленном хосте, и даже если удаленным хостом является 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.