Вы можете определенно иметь графический интерфейс на вашей виртуальной машине. Это просто требует минимальной настройки.
Проще всего использовать компьютер Linux/Unix (включая Mac) для доступа к вашей виртуальной машине, потому что тогда все, что вам нужно сделать, это следующее:
На виртуальной машине отредактируйте файл /etc/ssh/sshd_config и убедитесь, что у вас есть следующие две строки:
X11Forwarding yes
X11DisplayOffset 10
и перезапустите демон ssh,
sudo systemctl force-reload ssh
(На Mac это будет:
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
в то время как на старом Linux или Unix это будет:
sudo /etc/init.d/ssh restart
).
На вашем компьютере Linux /Unix подключитесь с помощью команды:
ssh -Y me@My.Google.Cloud.VM
затем на виртуальной машине убедитесь, что графический дисплей выбран правильно,
export DISPLAY=localhost:10.0
и теперь из сеанса ssh вы можете запускать графические приложения, которые будут отображаться на вашем мониторе Linux. Попробуйте, например,
xeyes
В принципе, есть способ запустить всю виртуальную среду рабочего стола (KDE, Gnome, Xfce, Enlightenment, вы называете ее) на виртуальной машине и отобразить ее на вашем компьютере с Linux, но для этого требуется очень большая пропускная способность, поэтому я не скажу вам, как это сделать, если вы явно не спросите.
Причина, по которой вам изначально не предложили это решение, состоит в том, что большинство людей, кажется, забывают, что Xorg, графический интерфейс Linux, является сервером, то есть он выполняет функцию отображения на мониторе, который он запускает, в графических приложениях, которые отправляют ему данные Будь они с локального или удаленного компьютера. Так что ваша сессия Xorg вполне способна сделать это.
Если вместо этого вы подключаетесь с ПК с Windows, vnc сделает это за вас, но для этого необходимо, чтобы у вас был сеанс Xorg на ВМ, к которому vnc подключается и реплицирует его локально, хотя и с гораздо худшим разрешением. Если это то, что вы хотите сделать, вы можете прочитать здесь.
РЕДАКТИРОВАТЬ:
ответ на комментарий Видьи ниже. Далее предполагается, что у вас уже есть графический рабочий стол, установленный на вашей виртуальной машине, KDE, Gnome или что-то еще.
Мне нравится, когда это соединение отображается в отдельном окне, которое я могу изменять, перемещать, складывать или увеличивать по мере необходимости. Поэтому я использую Xephyr: на вашем домашнем компьютере под управлением любого Linux сначала вам нужно будет установить его,
sudo apt-get install xserver-xephyr
(эта команда подходит для Debian и производных, если вы используете другой дистрибутив, вам нужно будет использовать подходящий менеджер пакетов), тогда вы начинаете его с
Xephyr -ac -br :1 -resizeable &
(обратите внимание на заглавную букву X здесь, а не в пакете установки), где важны следующие параметры :1 (так будет называться ваш новый дисплей) и изменяемый размер, что позволяет изменять окно в соответствии с вашими пожеланиями.
Теперь вы можете начать удаленный сеанс на вашем сервере с:
DISPLAY=:1.0 ssh -Y me@My.Remote.VM
и, как только вы окажетесь внутри виртуальной машины, команда, подходящая для вашего диспетчера отображения, например startkde (если у вас есть KDE) или startx и т. д., запустит ваш графический сеанс в окне Xephyr. Если вы хотите, прежде чем начать графическую сессию, вы можете просто запустить простые приложения, такие как xeyes, которые очень быстро загружаются и должны открываться в окне Xephyr. Когда вы закончите, просто убейте окно Xephyr , вот и все.