Как мне работать с инструментами GUI через удаленный сервер?


26

У меня есть сервер Ubuntu, работающий на EC2 (который я не устанавливал самостоятельно, только взял AMI). Пока что я использую его puttyдля работы, но мне интересно, как работать с ним с помощью инструментов GUI (я не знаком с инструментами Linux UI, но я хочу учиться). Глупый я, мне не хватает удобства Windows Explorer.

У меня дома сейчас только Windows. Как настроить инструменты графического интерфейса для работы с удаленным сервером? Должен ли я даже сделать это, или я должен придерживаться командной строки? Меняются ли ответы, если у меня есть локальная машина Linux, с которой можно играть?


Если пересылка X11 достаточно быстрая (есть случаи, когда это не так), все должно быть в порядке. Интерфейс CLI всегда более мощный, поэтому полезно не игнорировать его, но это не значит, что GUI никогда не будут полезны :)
sakisk

Но какие задачи вы хотите выполнить на сервере? Какие инструменты вы хотите использовать? Это важная информация для ответа. Скажем, вы упомянули что-то под названием «Проводник Windows»; но в Ubuntu «Windows Explorer», вероятно, отсутствует, поэтому решение, предполагающее удаленный запуск некоторых программ X, не подойдет.
imz - Иван Захарящев

Для Ubuntu нет эквивалента Explorer? Шутки в сторону?
ripper234

1
@imz - в настоящее время меня интересует общая проблема. У меня совсем нет опыта работы с приложениями с графическим интерфейсом Linux, поэтому я понятия не имею, чего я хочу сейчас ... Первое, что приходит на ум, - это навигация по папкам в проводнике, как в моде, и, возможно, редактирование.
ripper234

1
@ ripper234: Для навигации по каталогам, проверьте mc.
Фахим Митха

Ответы:


31

Вы можете использовать пересылку X11 через SSH; убедитесь, что вариант

X11Forwarding yes

/etc/ssh/sshd_configна удаленном сервере включен , и либо включите пересылку X11 вручную с

ssh -X удаленный сервер

или добавить строку с надписью

ForwardX11 yes

к соответствующей записи хоста в ~/.ssh/config

Конечно, для этого требуется рабочий X-дисплей на локальном конце, поэтому, если вы используете Windows, вам придется установить что-то вроде XMing , а затем настроить пересылку X11 в PuTTY, как показано в следующих ссылках:

ETA: прочитав еще раз и увидев ваши пояснения в комментариях, FTP может удовлетворить ваши потребности еще лучше, поскольку он позволит вам «монтировать» папки SFTP, как если бы они были обычными сетевыми дисками. Смотрите здесь , здесь , здесь (для Windows XP / 7 / Vista) или здесь (для Windows 8) .


6

Шадур рассказал о том, как включить X. Обратите внимание, что он /etc/ssh/sshd_configнаходится на стороне сервера, а ~/.ssh/configна стороне клиента, поэтому мы в целом говорим о двух разных машинах. Переадресация Х покажет ваше удаленное приложение на локальном дисплее Х. Таким образом, два конфига должны сообщить удаленному и локальному, чтобы эта операция произошла соответственно.

От того, следует ли вам использовать X, это зависит. Вам необходимо учитывать (как минимум) следующие факторы.

  • Какая у вас пропускная способность? Какова его скорость? Это измерено? Есть ли кепка? Если у вас очень быстрое соединение с сетью и нет ограничений, этот X более удобен, в противном случае он может быть очень медленным. Имейте в виду, что в целом X - это сетевой боров; он не оптимизирован по пропускной способности (или какова бы ни была правильная фраза).

  • Какие инструменты вы планируете использовать поверх X? Есть ли замены / эквиваленты без графического интерфейса? Если вы приведете примеры видов инструментов, которые вы планируете использовать, люди могут предложить альтернативные варианты, если таковые имеются. Также имейте в виду, что некоторые хорошо известные инструменты доступны как в виде графического интерфейса, так и в форме командной строки / консоли. Например. emacs, aptitude, reportbug.

В целом, я рекомендую использовать приложения командной строки (apt, wget, rsync) или curses (например, aptitude или mc), если они доступны и делают то, что вам нужно. Такие приложения не обязательно хуже, чем X-приложения; некоторые из них - прекрасные заявления. Например. Программное обеспечение Джона Дэвиса, например jed и slrn, оба консольных приложения, показывают его отличительную эстетику и являются произведениями искусства. Кстати, запуск X-сервера на клиенте Windows для подключения к серверу Linux является вариантом, хотя и не особенно удачным.

Если у вас есть локальный сервер Linux, то проблемы с пропускной способностью исчезнут, и X - гораздо более жизнеспособный вариант.


Я согласен с тем, что, если вы не работаете над довольно быстрой (низкая задержка немного важнее, чем пропускная способность) связи, как правило, лучше использовать инструменты командной строки, если они доступны.
Шадур

1
@Shadur - моя задержка не является большим событием в командной строке, возможно, мне не следует даже пытаться использовать инструмент пользовательского интерфейса, потому что он, вероятно, будет слишком медленным.
ripper234

5

Я нашел freenxи nxclientявляюсь очень высокопроизводительным решением для удаленного рабочего стола, гораздо лучше, чем vncили X11. Я бы попробовал.


3

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

Тем не менее, я бы посоветовал взглянуть на VNC. Существуют собственные клиенты для Windows и серверы для Linux, поэтому вам не придется настраивать X11 на вашем компьютере с Windows.


1

Если вы использовали Emacs, вы могли бы запустить локально установленный Emacs в Windows и выполнять редактирование файлов, управление файлами и каталогами ( dired ), контроль версий, компиляцию, а также некоторые другие случайные операции в оболочке ( M-xshellили M-xeshell) и, возможно, некоторые другие вещи. через TRAMP в вашем местном Emacs. (Некоторые легко доступные демонстрационные видео, которые, возможно, могут заставить человека не так бояться неизвестных Emacs, TRAMP и т. Д .: 1 , 2. )

Это иллюстрация того, что удаленные X-программы могут не подходить вам. В отличие от способа удаленных X-клиентов, способ TRAMP не включает в себя тяжелый «графический» трафик через удаленное соединение, он использует соединение ssh только для отправки списков каталогов, файлов и вывода команды вперед и назад.

Скажем, если вы хотите работать с «Проводником Windows», то на сервере Ubuntu по-прежнему не будет «Проводника Windows», поэтому вы не сможете запустить его удаленно.

Но если бы «Проводник Windows» имел что-то вроде TRAMP в качестве функции (для удаленного доступа через SSH), вы могли бы продолжать счастливо использовать свой локальный «Проводник Windows», если это все, что вам нужно.


Он спрашивает об инструментах GUI, а не редакторе GUI для файлов конфигурации. [ xkcd.com/378/] в стороне, Emacs - не ответ на все вопросы, и в этом случае вы сталкиваетесь с молотком, который просто ищет способ описать проблему как гвоздь.
Шадур

@Shadur: (Я смеюсь.) Он еще не уточнил, какие инструменты ему нужны. GUI Editor также является инструментом GUI, не так ли? Или у вас есть особое понимание того, что такое «инструмент»?
imz - Иван Захарьящев

@Shadur BTW, смысл моего ответа состоит в том, чтобы предложить потенциальный подход к решению, которое максимально точно соответствовало бы его требованиям, и мы не знали бы точно, какие задачи он хочет решить. Моя логика такова: 1) ему нравится «Проводник Windows» 2) мы не знаем, какие функции «Проводника Windows» ему нравятся, потому что он не указал это. ==> Итак, если бы в «Проводнике Windows» было что-то вроде TRAMP, это было бы своего рода идеальным решением и ответом: функции, которые ему нравятся, есть, и это будет работать с его удаленным сервером.
imz - Иван Захарящев

Неужели мой ответ не имеет отношения к этому вопросу? .. :) Нет, я так не думаю, потому что ripper234 ищет идеи - он (и) пишет: «Должен ли я вообще это делать или мне нужно придерживаться командной строки?» И это новая идея: ищите решения, похожие на TRAMP. Это похоже на мой личный опыт: когда я задумался об удобном способе работы на удаленном сервере, мой друг сказал IIRC, что он счастлив использовать TRAMP в Emacs; и я тоже начал рассматривать это как вариант.
imz - Иван Захарящев

1
И я иногда использую эквивалент в gedit через бэкенды ssh / sftp для gnome-vfs. Опять же, «способ использовать графический редактор для изменения файлов конфигурации в удаленной системе» - это другой вопрос, чем «удаленное использование интерфейсов администрирования GUI»
Shadur

1

В отличие от RDP, X теряет сеанс, если сервер или ssh туннель отключается. Вы можете использовать XVNC, который представляет X-сервер клиентским программам и подключается к VNC-клиенту. Это поддерживает сеанс X и позволяет вам подключаться и отключать сеанс VNC.

Я успешно работал с DSL-соединением Jetstart 128k / 128k (Да, Telecom NZ действительно предлагал услугу DSL 128k / 128k!). Он был довольно отзывчивым, только замедлялся, когда ему приходилось загружать большое растровое изображение на клиент VNC.

Вы можете увидеть, как туннелировать VNC через ssh в этой статье.


0

Я использую nautilus --no-desktopна сервере Ubuntu 11.04 для функциональности типа MS Windows Explorer.


Как это помогает с удаленным доступом?
Reinierpost

0

Я обнаружил, что gvfs-treeкоманда, или в некоторых разновидностях Linux, просто treeполезна для просмотра CLI-представления дерева каталогов.


2
Добро пожаловать в U & L! После этого я исправлю форматирование вашего ответа, но я укажу, что, хотя gvfs-treeи treeмогут быть полезными командами, как они решают вопрос этого вопроса: «Как настроить инструменты графического интерфейса для работы с удаленным сервером? " ?
Джефф Шаллер

В его посте было несколько вопросов («Я не знаком с инструментами пользовательского интерфейса Linux, но я хочу учиться» и «Должен ли я вообще это делать или мне нужно придерживаться командной строки?»).) Я думал, что это делает его знание команды gvfs-tree может сделать его более удобным в CLI, что сделает графический интерфейс менее необходимым.
18:30
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.