Я недавно переключился с Windows 7 на Ubuntu 12.10. В Ubuntu 12.10 я использую putty для удаленного подключения к Unix-машине, где хранятся несколько моих файлов, но редактирование текстовых файлов через командную строку, на мой взгляд, утомительно. Как я могу настроить putty, чтобы я мог запускать xterms и, в свою очередь, запускать программное обеспечение, такое как emacs (которое установлено на компьютере с Unix), для редактирования файлов на компьютере с Unix с моего компьютера с Ubuntu?
В Windows необходим сервер x, такой как xMing, требуется ли какое-либо дополнительное программное обеспечение?
Вы действительно используете 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
для загрузки изменений
На сервере, к которому вы подключаетесь, также должны быть установлены библиотеки X, поскольку они будут зависеть от любых графических текстовых редакторов и xterms, которые вы хотите запустить. Если это так, то вы можете подключиться к нему из окна Ubuntu с помощью командной строки:
ssh -X username@remotehost
Затем вы можете просто запустить нужную команду. Чтобы начать графическую сессию Emacs:
xemacs filename
Вы правы, что вам нужно будет запускать 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
.