Как запускать приложения в x из ssh?

Я недавно переключился с Windows 7 на Ubuntu 12.10. В Ubuntu 12.10 я использую putty для удаленного подключения к Unix-машине, где хранятся несколько моих файлов, но редактирование текстовых файлов через командную строку, на мой взгляд, утомительно. Как я могу настроить putty, чтобы я мог запускать xterms и, в свою очередь, запускать программное обеспечение, такое как emacs (которое установлено на компьютере с Unix), для редактирования файлов на компьютере с Unix с моего компьютера с Ubuntu?

В Windows необходим сервер x, такой как xMing, требуется ли какое-либо дополнительное программное обеспечение?

2
задан 16 January 2013 в 06:23

3 ответа

Вы действительно используете Putty для подключения с компьютера с Ubuntu к серверу Ubuntu? Это весьма необычный выбор, я даже не подозревал, что Putty работает на Linux (оказывается, он действительно работает и даже находится в репозиториях Ubuntu).

Более традиционный подход заключается в использовании команды ssh из пакета openssh-client, которая является нативной реализацией клиента для протокола OpenSSH. Установите его с помощью

sudo apt-get install openssh-client

. Затем вы сможете подключиться к удаленному компьютеру с помощью

ssh username@host.com

. Если вы включите пересылку X11 с помощью переключателя -X, вы сможете запускать приложения. на удаленных машинах и отобразите их на вашем локальном компьютере:

ssh -X username@host.com

Поскольку вы работаете с настоящим X-сервером, вам не нужно запускать xMing или что-то подобное .

Хотя, я согласен, что это решение странной проблемы - если вы хотите просто редактировать текстовые файлы, гораздо более эффективными вариантами будут:

  • найти текстовый режим редактор, который вам подходит. Я лично предпочитаю редактор Midnight Commander, который вы можете запустить с помощью mc -e myfile.txt.

  • каким-то образом смонтировать удаленный каталог и редактировать файлы в вашем локальном текстовом редакторе (используя sshfs).

  • в KDE вы можете напрямую открыть файл с удаленного хоста в любой программе. используя fish:user@host/path/to/file.txt. Я думаю, что Gnome также может делать нечто подобное

  • , делать локальные копии файлов, редактировать локальные файлы и использовать rsync для загрузки изменений

  • [ 1125] использовать систему контроля версий

0
ответ дан 16 January 2013 в 06:23

На сервере, к которому вы подключаетесь, также должны быть установлены библиотеки X, поскольку они будут зависеть от любых графических текстовых редакторов и xterms, которые вы хотите запустить. Если это так, то вы можете подключиться к нему из окна Ubuntu с помощью командной строки:

ssh -X username@remotehost 

Затем вы можете просто запустить нужную команду. Чтобы начать графическую сессию Emacs:

xemacs filename
0
ответ дан 16 January 2013 в 06:23

Вы правы, что вам нужно будет запускать X-сервер, такой как xMing, локально.

Настройки соединения Putty позволяют включать переадресацию X при подключении. Если вы включите это и у вас будет запущен локальный X-сервер, тогда запуск графических программ через соединение SSH должен просто работать. См. http://www.math.umn.edu/systems_guide/putty_xwin32.html

. Знайте заранее, что это будет медленно. Это также может помочь включить сжатие в настройках вашего соединения. Я понимаю, что удаленное редактирование текстовых файлов может быть утомительным, прежде чем вы хорошо разберетесь в хорошем текстовом редакторе - я настоятельно рекомендую изучать vi / vim, если вы планируете регулярно редактировать файлы на удаленных серверах Linux.

Если вам определенно нужна графическая среда, VNC - еще один вариант. Вы можете установить и запустить vncserver на сервере и подключиться к нему с помощью клиента VNC. Хотя VNC все еще имеет заметную задержку, он может быть значительно лучше, чем пересылка X через интернет-соединение. VNC оптимизирован для использования по сети, а X - нет. Если брандмауэр вашего сервера не позволяет подключаться к порту VNC (т. Е. 5901), то вы можете использовать putty для настройки обратного туннеля SSH, который перенаправляет порт VNC на порт на вашей локальной машине Windows, к которому вы можете подключиться , См. https://intranet.cs.hku.hk/csintranet/contents/technical/howto/putty-portforward.jsp

.
0
ответ дан 16 January 2013 в 06:23

Другие вопросы по тегам:

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