我有一个相当独特的问题--我想在生产服务器上运行Smalltalk,而不使用图形界面。对于大众或Pharo (甚至是Squeak),这是可能的吗?
我有一个没有X的VPS主机,希望有几个网站运行在Smalltalk上,同时在本地用成熟的Smalltalk环境开发它们,包括GUI。
发布于 2010-03-15 18:16:37
是的,可以以一种“无头”的方式部署Pharo。只需发送-headless就行了。示例:
#!/bin/sh
NOHUP="/usr/bin/nohup"
SQUEAK_VM="/usr/bin/squeakvm"
SQUEAK_OPTS="-mmap 100m -vm-sound-null -vm-display-X11 -headless"
SQUEAK="$SQUEAK_VM $SQUEAK_OPTS"
IMAGES_HOME="/home/miguel/squeak/images/azteca"
SCRIPTS_HOME="/home/miguel/squeak/scripts/azteca"
LOGS_HOME="/home/miguel/squeak/logs/azteca"
START_PORT=8080
END_PORT=8093
# Start the Magma image
echo "Starting Magma image"
$NOHUP $SQUEAK $IMAGES_HOME/magma.image $SCRIPTS_HOME/magma.st >> $LOGS_HOME/magma.nohup &
# Start the Seaside images
for PORT in `seq $START_PORT $END_PORT`; do
echo "Starting Seaside image on port: $port"
$NOHUP $SQUEAK $IMAGES_HOME/seaside.image $SCRIPTS_HOME/seaside.st
port $PORT >> $LOGS_HOME/seaside.nohup &
done在无头模式下运行PharoCore镜像并运行RFBServer (远程缓冲服务器)是很常见的,它实际上是一个VNC服务器。然后,您可以通过VNC客户端连接到该图像,并且可以像在本地一样浏览和使用Smalltalk图像。
我建议你读一读
http://miguel.leugim.com.mx/index.php/2009/09/18/deploying-seaside-applications/
或者是最新的海滨书。
干杯
发布于 2010-03-15 05:52:56
发布于 2010-03-15 02:58:51
如果我在VPS上有root访问权限,我会亲自安装Xvnc,它不会在服务器上添加太多的膨胀,而且使用GUI管理Squeak和Pharo要容易得多。
通过让Squeak占据整个屏幕,您可以在其自己的Xvnc显示中启动每个Squeak实例,而不依赖于窗口管理器。
您只需要最少的X支持文件。在无头Ubuntu上,apt-get install tightvncserver只能拉取19.8Mb的包。与RFBServer不同的是,它只适用于任何Squeak/Pharo镜像。
我是这样做的:
对于每个VM,启动一个Xvnc会话。您可以根据需要使用任意数量的显示器。在VNC端口5900上运行Display :0,在5901上运行display :1,依此类推。
在display :0上声明Xvnc
Xvnc :0 -nolisten tcp -geometry 1024x726 -depth 24 &然后在该显示器上启动Squeak
squeak -display :0 -- ~/fullscreen.st &fullscreen.st是一个简单的Smalltalk statup脚本,可以根据屏幕的大小调整Squeak
"fullscreen.st"
ScreenController new fullScreenOn关于安全性的说明
默认情况下,Xvnc接受没有密码的连接,因此我建议您至少采取以下预防措施之一。
-rfbauth参数上,以设置Xvnc密码authentication.。
https://stackoverflow.com/questions/2443281
复制相似问题