首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google计算引擎启动脚本无法执行

Google计算引擎启动脚本无法执行
EN

Stack Overflow用户
提问于 2014-02-03 17:35:17
回答 1查看 1.4K关注 0票数 0

在启动Compute Engine实例(GCE)时,我无法正确执行以下启动脚本。

代码语言:javascript
复制
#! /bin/bash
setup vncserver
vnc4server -geometry 1440x900 :1
export DISPLAY=:1
echo "completed"

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

日志显示以下内容:

代码语言:javascript
复制
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:

我该如何避免“你需要一个密码...”部分?

已尝试:

我试着像这样在脚本中添加密码,但没有成功...

代码语言:javascript
复制
#! /bin/bash
#setup vncserver
vnc4server -geometry 1440x900 :1
myPassword123
export DISPLAY=:1
echo "completed"

备注:

我已经在我要添加的持久磁盘上安装了VNC4SERVER。如果我通过ssh进入实例并手动运行这些命令,它们可以完美地工作,并且不会要求我输入密码。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-02-04 02:44:41

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

此脚本适用于我:

代码语言:javascript
复制
#! /bin/bash
echo "I am: " `whoami`
sudo -u briandorsey DISPLAY=:1 vnc4server -geometry 1440x900 :1
echo "completed"

briandorsey替换为您的用户名。

此外,不要忘记创建允许vnc通信的防火墙规则。这可以通过Console或使用gcutil来完成:

代码语言:javascript
复制
gcutil addfirewall vnc2 --allowed=tcp:5901

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21523770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档