Google compute engine 谷歌计算引擎启动脚本无法执行

Google compute engine 谷歌计算引擎启动脚本无法执行,google-compute-engine,Google Compute Engine,在启动计算引擎实例(GCE)时,我无法正确执行以下启动脚本 GCE读取脚本,但不执行命令,日志显示空行,中间有一条消息,这是问题的关键,但我似乎无法解决它 日志显示以下内容: Feb 3 09:15:33 simpleapache3 startupscript: Running startup script /var/run/google.startup.script Feb 3 09:15:34 simpleapache3 startupscript: Feb 3 09:15:34 si

在启动计算引擎实例(GCE)时,我无法正确执行以下启动脚本

GCE读取脚本,但不执行命令,日志显示空行,中间有一条消息,这是问题的关键,但我似乎无法解决它

日志显示以下内容:

Feb  3 09:15:33 simpleapache3 startupscript: Running startup script /var/run/google.startup.script
Feb  3 09:15:34 simpleapache3 startupscript:
Feb  3 09:15:34 simpleapache3 startupscript: You will require a password to access your desktops.
Feb  3 09:15:34 simpleapache3 startupscript:
我如何绕过“您需要密码…”部分

尝试:

我试着像这样在脚本中添加密码,但没有运气

#! /bin/bash
#setup vncserver
vnc4server -geometry 1440x900 :1
myPassword123
export DISPLAY=:1
echo "completed"
注:

我已经在正在添加的永久磁盘上安装了VNC4SERVER。 如果我使用ssh连接到实例中并手动运行命令,那么这些命令就可以正常工作,而且不会要求我输入密码


非常感谢您的帮助……

我怀疑这是因为启动脚本是以
根用户身份运行的,而不是您的用户

这个脚本适合我:

#! /bin/bash
echo "I am: " `whoami`
sudo -u briandorsey DISPLAY=:1 vnc4server -geometry 1440x900 :1
echo "completed"
briandrosey
替换为您的用户名

另外,不要忘记创建防火墙规则以允许vnc流量。这可以通过或使用
gcutil

gcutil addfirewall vnc2 --allowed=tcp:5901

这将允许在端口5901上传输到项目中的所有虚拟机。有关如何进一步限制访问的信息,请参阅。

Hi@briandrosey:运行您提供的建议脚本时,我收到以下错误消息:steven@exportdisplay:~$sudo-u steven DISPLAY=:1 vnc4server-geometry 1440x900:1抱歉,不允许用户steven在exportdisplay.c.{projectname}.internal…..上以steven的身份执行“/usr/bin/vnc4server-geometry 1440x900:1”。。。。。是否需要激活某些用户权限?从错误消息中,听起来您可能正在运行?以用户“steven”的身份交互此脚本?该脚本应该作为启动脚本运行。当我作为启动脚本运行它时,什么都没有发生。日志显示为空白。然后我试着以交互方式运行它,看看它是否能工作,是的,我收到了错误消息,说我没有权限。我将尝试其他一些东西,看看我能走多远。可能问题在于启动脚本托管在谷歌云存储上。将改为使用本地文件并报告。
gcutil addfirewall vnc2 --allowed=tcp:5901