在启动Compute Engine实例(GCE)时,我无法正确执行以下启动脚本。
#! /bin/bash
setup vncserver
vnc4server -geometry 1440x900 :1
export DISPLAY=:1
echo "completed"脚本由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进入实例并手动运行这些命令,它们可以完美地工作,并且不会要求我输入密码。
任何帮助都将不胜感激。
发布于 2014-02-04 02:44:41
我怀疑这是因为启动脚本是以root而不是您的用户身份运行的。
此脚本适用于我:
#! /bin/bash
echo "I am: " `whoami`
sudo -u briandorsey DISPLAY=:1 vnc4server -geometry 1440x900 :1
echo "completed"将briandorsey替换为您的用户名。
此外,不要忘记创建允许vnc通信的防火墙规则。这可以通过Console或使用gcutil来完成:
gcutil addfirewall vnc2 --allowed=tcp:5901这将允许端口5901上的流量到达项目中的所有虚拟机。有关如何进一步限制访问的信息,请参阅firewall docs。
https://stackoverflow.com/questions/21523770
复制相似问题