个人工具

UbuntuHelp:Shockwave

来自Ubuntu中文

跳转至: 导航, 搜索

Shockwave is a multimedia player. Designed by Macromedia in the mid 1990s, it was followed by Shockwave Flash (or just Flash), a simpler format which became far more popular. Today, Shockwave is most commonly used for Internet games.

Installation

Unfortunately, the Shockwave player is only available for Windows. On a PC, it may be possible to run Shockwave under Ubuntu using Wine and running the Windows versions of Firefox and the Shockwave player. (Wine does not work on PowerPC and may not work as expected on 64-bit PCs.) You can then use mozplugger, a program that lets you "embed" other programs in your web browser. First, install the wine and mozplugger packages (for information on how to do this, see InstallingSoftware).

sudo apt-get install wine mozplugger

You then need to install the Windows version of Firefox (yes, you read that right). Download it from Mozilla's web site. Choose to open the installer with Wine and follow the on-screen instructions. When the installation has finished, you then have to go to a web site that requires Shockwave, and choose to get the missing plugin. Again, follow the on-screen instructions, and when the plugin has installed and is working, you may close Firefox. Now you need to configure mozplugger to use the Windows version of Firefox for Shockwave files. From a terminal, type:

sudo gedit /etc/mozpluggerrc

Add the following two lines to the end of the file:

application/x-director: dir,dcr,dxr,cst,cct,cxt,w3d,fgd,swa: Macromedia Director file
	swallow(firefox.exe) fill stream: wine "C:\\Program Files\\Mozilla Firefox\\firefox.exe" -chrome "$file"

Finally, you need to make Firefox reload the plugin database. Close all Firefox windows and run this command in a terminal:

rm ~/.mozilla/firefox/*.default/pluginreg.dat

In later versions this file may have been moved:

rm ~/.mozilla/firefox/RANDOM-STRING/pluginreg.dat

Replace "RANDOM-STRING" with the random string your Mozilla has assigned for your computer. Removal of pluginreg.dat wasn't needed with Ubuntu 9.04 and Firefox 3.0.14. Congratulations, you should now have a working, if not convuluted, Shockwave setup. You can test it on the Test Macromedia Shockwave & Flash Players page. However, some Shockwave objects may not work. See the issues and workaround solutions section below. Note: If you want to use Shockwave from multiple user accounts on the same machine, you have to repeat the following steps while logged in as each user: download, install, and launch Windows Firefox; download Shockwave plugin; remove pluginreg.dat if needed.

Issues and workarounds

Objects appear in a small window of their own

Posssible causes:

  • Cause 1: Wine or Shockwave is still running in the background.
  • Workaround 1: Type this in a terminal to end all wine processes:
killall wine-preloader -s KILL
  • Cause 2: mozplugger does not handle multiple objects.

Unfortunately, there is no fix currently known for this.

Firefox is asking for restoring old sessions before playing objects

  • Cause: Session restore is enabled in the Windows version of Firefox
  • Workaround 1: Type this in a terminal to end all wine processes:
killall wine-preloader -s KILL

Start the Windows version of Firefox. Type "about:config" in the Location Bar and press Enter. Search for "browser.sessionstore.resume_from_crash" and double click to set it to false.

Objects claim they're "stolen"

  • Cause (when using streaming): The Shockwave object expects the "Referrer" HTTP header to be set, which mozplugger does not do.
  • Workaround: None yet.

Shockwave player shows "Adobe Shockwave Player is now installing" but gets no further