我有一个连接到远程闪存服务器并接收一些数据的swf文件。出于安全原因,我不能使这个swf文件可以访问,所以我不能使用浏览器来运行它。有没有办法从命令提示符(在linux下)在服务器端运行它?
答案 0 :(得分:9)
您可以使用Xvfb
或Xfake
来运行不与真实硬件接口的X服务器。如果它们不作为您的发行版的软件包提供,您可以从Xorg xserver源构建它们。
(或使用MarkR的Xvnc
建议。)
Adobe插件过去常常附带一个名为flashplayer
或gflashplayer
的独立可执行文件,该文件可在浏览器外部使用。我认为它仍然存在,但是在开发人员包中,或类似的东西。
如果您使用Flash的免费实现,Gnash和Swfdec分别会附带独立的gnash
和swfdec
可执行文件。
这将在显示屏上显示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)
Adobe Air?
主要问题是命令提示符,而不是“Web辅助功能”。如果你可以运行FireFox,我相信你可以通过文件系统路径加载文件。如果可以在命令行上运行SWF,我会感到非常惊讶。我的意思是,并非原则上这是不可能的,只是SWF的重点通常是显示一些闪烁和跳跃的垃圾,所以没有人想要编写命令行工具来运行它......
PS。我假设你知道你可以在Linux服务器上运行FireFox,对吧? (整个X Windows thingie?)
答案 4 :(得分:1)
你可以很容易地(ish)编写一个C程序,它实现了netscape插件接口,直接与Flash接口。那会有用。
然而,它可能仍然需要一个X服务器来做到这一点 - 你可以使用XVnc或其他东西来运行无头。
不平凡,但会奏效。
您的要求听起来有点奇怪 - 也许用其他语言重写Flash组件是一种更易于维护的设计。
答案 5 :(得分:1)
Adobe的Ichabod可能会解决您的问题,但我似乎无法找到任何信息,无论是公共消费还是仅供搜索提供商使用。只是ReadWriteWeb上文章的回音室。
答案 6 :(得分:1)
最好的方法是通过Wine安装“Macromedia Flash Player MX”。它将安装Macromedia MX和“Macromedia Flash Player”..现在只需转到您的swf文件并将其默认应用程序更改为“Macromedia Flash Player”(不是Macromedia MX)