Як отримати доступ до віддаленого сервера Ubuntu через X-windows з мого Mac?


35

У мене сервер Ubuntu (12,04 LTS) дистанційно працює на хмарному сервісі хостингу. Я встановив ubuntu-desktopчерез apt-get:

$ sudo apt-get install ubuntu-desktop

Здається, це не встановило жодних проблем.

Я підтвердив, що /etc/ssh/ssh_configна сервері містяться рядки

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

і що /etc/ssh/sshd_configна сервері містить рядок:

X11Forwarding yes

Потім я перезавантажив сервер. Це повернулося без проблем.

Тепер, починаючи X11.app на своєму Mac, мені представлений Xterm.

Я підключаюся до свого сервера з цього терміналу за допомогою:

$ ssh -X <myhost>

і я підключаюся до сервера, немає проблем.

На даний момент я не знаю, що робити. я намагався

$ sudo startx

але я отримую помилку "не знайдено екранів"

У мене немає екранів, тому що це безголовий хмарний сервер, але я просто хочу отримати доступ до нього з мого Mac через X.

Що тепер?


2
Спробуйте встановити xvfb. Я з цим не досвідчений, але він працює як екран без апаратних засобів.
ζ--

Відповіді:


21

Існує кілька методів, які можна виконати, залежно від того, що вам справді потрібно зробити.

Щоб переслати віддалені додатки в локальне середовище X, вам потрібно встановити X11 на свій Mac (ви можете знайти його на сайті підтримки Apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

У додатку X11 відкрийте термінал і перейдіть до віддаленого хоста за допомогою:

    ssh -XC user@host

Потім, увійшовши в систему, просто запустіть команду для потрібного додатка, наприклад: firefox, nautilus, thunderbird, що завгодно ...

Ви навіть можете запустити лише головне меню (Ubuntu, Xubuntu, Mint тощо) та взаємодіяти з віддаленою системою звідти, не потребуючи повного графічного фронтального інтерфейсу. На віддаленому Linux Mint env я просто запускаю:

    mintmenu&

Якщо вам це справді потрібно, ви навіть можете запустити віддалене графічне середовище локально на вашому Mac X11, просто запустивши:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

Краще за будь-який VNC, навіть краще, ніж підключення X11VNC! Захищене та стиснене з'єднання FTW.


7

На вашому Mac вам потрібно буде встановити XQuartz, якщо ви цього ще не зробили (див. Http://xquartz.macosforge.org ). Після встановлення перезавантажте та відкрийте вікно терміналу XQuartz та SSH до вашої системи Ubuntu Server:

ssh -X yourubuntuserver

Якщо lightdm працює (див. Https://askubuntu.com/a/153423/66799, щоб прочитати, як увімкнути та вимкнути його за необхідності), запустіть цю команду, щоб Ubuntu Unity тунелювався до вашого Mac на X11:

gnome-session --session=ubuntu-2d

Це працює для мене з Ubuntu Server 12.04 LTS та Mac OS X Mountain Lion 10.8.2, але я отримую випадкові помилки Composiz. Однак, у мене завжди виникали помилки Composiz під час локального запуску Ubuntu Desktop. (-:

Ви можете вийти з Unity, щоб закрити вікна Ubuntu Desktop.


Це працює, XQuartx необхідний.
SmallChess

Відмінно працює в Windows 10 в WSL з Xming для відображення.
Суворий

-1

Ви маєте правильну ідею, але неправильний синтаксис :)

startxне розпочнеться sshподібне, тому що йому потрібен екран (він же Xсервер для розмови)

спробуйте цю команду, щоб запустити gui на робочому столі

sudo service gdm start

це запустить середовище робочого столу.

відключити.

і спробуйте

ssh -X nautilus username@host 

Примітка не тестувалась над рядком

Якщо все працює добре, ви повинні побачити спливаюче вікно менеджера файлів ubuntu. Якщо ні, то, можливо, вам не вистачає деяких бібліотек, або синтаксис команди неправильний (у верхній частині голови я не пробував).


4
Немає потреби (або причини) бігати sudo service gdm start. Сервер X працює на клієнті SSH - машині, що використовується як робоча станція. Для роботи його не потрібно працювати на віддаленій машині ssh -X.
Елія Каган

Ах, я не знав цього спасибі за інформацію.
Метт Моц
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.