如何在没有浏览器的情况下运行SWF(在Linux服务器上)?

时间:2009-05-08 03:19:34

标签: linux flash

我有一个连接到远程闪存服务器并接收一些数据的swf文件。出于安全原因,我不能使这个swf文件可以访问,所以我不能使用浏览器来运行它。有没有办法从命令提示符(在linux下)在服务器端运行它?

7 个答案:

答案 0 :(得分:9)

您可以使用XvfbXfake来运行不与真实硬件接口的X服务器。如果它们不作为您的发行版的软件包提供,您可以从Xorg xserver源构建它们。

(或使用MarkR的Xvnc建议。)

Adob​​e插件过去常常附带一个名为flashplayergflashplayer的独立可执行文件,该文件可在浏览器外部使用。我认为它仍然存在,但是在开发人员包中,或类似的东西。

如果您使用Flash的免费实现,Gnash和Swfdec分别会附带独立的gnashswfdec可执行文件。

这将在显示屏上显示Xvfb:20(只需确保选择一个未使用的数字;正常显示从:0开始,ssh的X转发通常会分配{{ 1}}及以上,我看到一些:10设置从Xvnc开始),并在其中运行:90

gnash

答案 1 :(得分:2)

如果你使用ubuntu,请输入sudo apt-get install xvfb,然后从adobe下载flashplayer,尝试这样,它运作良好:

xvfb-run ./flashplayer test.swf

或者如果你使用windows,你可以双击服务器上的swf,它现在运行,与其他服务器一起使用,只需使用此swf作为服务器的一部分,计算值并返回,swf run loop for ever因为它是服务器

答案 2 :(得分:1)

您可以使用.htaccess文件访问SWF Web并保护目录。

有关详细信息,请参阅Apache .htaccess Tutorial

您也可以尝试ffplay(ffplay -fs somefile.swf)来运行swf。

编辑:看起来ffplay使用SDL,因此可能不需要X.

但我不认为这会安装在你的服务器上。 YMMV

更新:不要让没有GUI阻止你做你能做什么,如果你使用SSH看看这篇文章如何将你的X显示导出到你的本地工作站。 Trying to tunnel X over SSH

答案 3 :(得分:1)

Adob​​e Air?

主要问题是命令提示符,而不是“Web辅助功能”。如果你可以运行FireFox,我相信你可以通过文件系统路径加载文件。如果可以在命令行上运行SWF,我会感到非常惊讶。我的意思是,并非原则上这是不可能的,只是SWF的重点通常是显示一些闪烁和跳跃的垃圾,所以没有人想要编写命令行工具来运行它......

PS。我假设你知道你可以在Linux服务器上运行FireFox,对吧? (整个X Windows thingie?)

答案 4 :(得分:1)

你可以很容易地(ish)编写一个C程序,它实现了netscape插件接口,直接与Flash接口。那会有用。

然而,它可能仍然需要一个X服务器来做到这一点 - 你可以使用XVnc或其他东西来运行无头。

不平凡,但会奏效。

您的要求听起来有点奇怪 - 也许用其他语言重写Flash组件是一种更易于维护的设计。

答案 5 :(得分:1)

Adob​​e的Ichabod可能会解决您的问题,但我似乎无法找到任何信息,无论是公共消费还是仅供搜索提供商使用。只是ReadWriteWeb上文章的回音室。

答案 6 :(得分:1)

最好的方法是通过Wine安装“Macromedia Flash Player MX”。它将安装Macromedia MX和“Macromedia Flash Player”..现在只需转到您的swf文件并将其默认应用程序更改为“Macromedia Flash Player”(不是Macromedia MX)