我正在测试Google Compute Engine,创建了一个Ubuntu操作系统的虚拟机。当我点击"Connect SSH"按钮连接时,它会打开一个控制台窗口。
那是您得到的连接吗?
如何打开一个真正有GUI界面的屏幕?我不想要控制台。
我正在测试Google Compute Engine,创建了一个Ubuntu操作系统的虚拟机。当我点击"Connect SSH"按钮连接时,它会打开一个控制台窗口。
那是您得到的连接吗?
如何打开一个真正有GUI界面的屏幕?我不想要控制台。
https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-from-ubuntu-machine
由于您正在连接到一个预计运行计算任务的服务器,因此可能没有安装X11服务器。您可能需要安装X11及其类似物。您可以按照这里的说明进行操作:
https://help.ubuntu.com/community/ServerGUI
最近我需要做这件事,所以我会在这里简要地写出所需的更改:
配置服务器
$ sudo vim /etc/ssh/sshd_config
确保X11Forwarding yes
已存在。如果更改了设置,请重新启动ssh守护进程:
$ sudo /etc/init.d/sshd restart
$ vim ~/.ssh/config
请确保主机上存在ForwardX11 yes
。例如:
Host example.com
ForwardX11 yes
转发X11
$ ssh -X -C example.com
...
$ gedit example.txt
可信X11转发
你可能希望启用可信转发,如果应用程序无法使用不受信任的转发,你可以通过在~/.ssh/config
文件中使用 ForwardX11Trusted yes
来永久启用。你也可以使用 -Y
参数代替 -X
参数来为单个连接启用可信转发。gcloud compute --project "project_name" ssh --zone "project_zone" "instance_name"
sudo apt update && sudo apt upgrade
sudo apt-get install xorg lxde vnc4server
vncserver
sudo echo "lxpanel & /usr/bin/lxsession -s LXDE &" >> ~/.vnc/xstartup
sudo reboot
cloudshell download-files $HOME/.ssh/google_compute_engine
ssh -L 5901:localhost:5901 -i "google_compute_engine" username@instance_external_ip -v -4
vncserver -geometry 1280x800
localhost:5901
,协议设置为VNC
注意1:检查vncserver是否正常工作,请使用以下命令:
netstat -na | grep '[:.]5901'
tail -f /home/user_id/.vnc/instance-1:1.log
注意2:要重新启动vncserver,请使用:
sudo vncserver -kill :1 && vncserver
*****第一次通过Google云Shell连接时,公钥和私钥会自动生成并存储在云Shell实例中的$HOME/.ssh/
。
ls $HOME/.ssh/
google_compute_engine google_compute_engine.pub google_compute_known_hosts
home/*user_id*/.ssh/authorized_keys
(当您第一次从Google Cloud Shell SSH到VM实例时,这将自动完成,即在步骤2中)。您可以在实例元数据中确认此操作。$HOME/.ssh/google_compute_engine
创建文件。我有一个本地文件,但没有远程文件。 - Nathan majicvr.com