启动计算引擎实例(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到实例并手动运行命令,它们工作正常,我不会被要求输入密码。
非常感谢任何帮助......
答案 0 :(得分:1)
我怀疑这是因为启动脚本以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。