将 Wine 安装的视频播放器设为默认播放器

将 Wine 安装的视频播放器设为默认播放器

我已经在 ubuntu 11.10 中使用 Wine 安装了 DivX Player(版本 6.6)。有没有办法让它成为播放某些视频格式的默认播放器?

提前致谢。

答案1

这是一篇很长的文章,但是开头和结尾的部分可能对你来说就足够了。

您可以将启动命令放入脚本(例如divx-player),然后通过 Nautilus - 属性 - 打开方式指定该脚本启动特定类型......

但是命令是什么?下面的解释很长,但是一旦你“理解”了它,这个想法就很简单了。(我花了很长时间才“理解”它:)

因为您可以wine安装多个环境(例如,为了适应特定程序的特定设置),所以必须告知系统wine您想要运行哪个环境。为此,wine依赖于名为 $WINEPREFIX 的环境变量。

如果您从其默认位置使用wine,$WINEPREFIX 将具有值 $HOME/.wine...让我们假设您的 DivX 播放器已安装到此 WINEPREFIX(此环境)...

为了健壮,您的wine命令应该明确指定 WINEPREFIX,这样wine才知道在哪个 wine 环境中运行。

如果您没有明确指定 WINEPREFIX,wine 将使用您在安装 wine 时指定的默认值。

这是指定您要使用的 WINEPREFIX 的命令。

env WINEPREFIX="$HOME/.wine"  wine    

要通过 Windows 命令行干净地启动应用程序,最好使用 Windowsstart.exe命令,因此命令需要包含此命令(请注意这里使用 Windows C:\style\path-name)。

 env WINEPREFIX="$HOME/.wine"  wine  'C:\windows\command\start.exe'    

目录中的文件$WINEPREFIX/dosdevices/c:/可以用这种 Windows 样式来寻址,但系统上其他位置的文件则需要不同的方法。Windows被映射到 unix 目录,同样,系统上的其他文件也可以通过另一个虚拟 Windows 磁盘驱动器从内部访问……但提供了一种更简单的方法来访问数据文件(例如,电影,位于文件系统的
某个地方/任何地方)。 C:\`$WINEPREFIX/dosdevices/c:/wineZ:\wine

当然,这些文件在 Unix/Linux 世界中以其 Unix 风格的路径名而闻名。 wine通过 Wine 特定的命令行选项,方便将 unix 风格的路径名转换为 windows 风格的路径名/Unix

现在,您的 DivX 播放器命令后面需要跟/path/to/the/DivX-player -options /path/to/the/movie。但由于 DivX 播放器是 Windows 应用程序,因此它要求所有路径都采用 Windows 格式(即:C:\Program Files\etc\etc)。

由于 DivX player.exe 位于WINEPREFX环境中,您可以通过其C:\Windows\path或通过启动它/Unix /Unix/path。使用/Unix选项通常更简单且不容易出错,因为您不必手动将所有斜杠转换为反斜杠。以下所有四个命令都将运行播放器,但第一个 ( /Unix /unix-path/player.exe) 通常是最佳选择。

# Using Unix-style: Run the .exe directly
/Unix "$WINEPREFIX/dosdevices/c:/Program Files/DivX/DivX.exe"

# Using Unix-style: Run the .exe via its Windows menu shortcut.lnk
/Unix "$WINEPREFIX/dosdevices/c:/users/Public/Start Menu/Programs/DivX/DivX.lnk"

# Using Windows-style: Run the .exe directly
'C:\Program Files\DivX\DivX.exe'

# Using Windows-style: Run the .exe via its Windows menu shortcut.lnk
'C:\users\Public\Start Menu\Programs\DivX\DivX.lnk'

然后,您只需添加最后的参数,即电影路径(以 unix 风格)...因此完整的命令变成...

env WINEPREFIX="$HOME/.wine" \
    wine 'C:\windows\command\start.exe' \
    /Unix "$WINEPREFIX/dosdevices/c:/Program Files/DivX/DivX.exe" \
    /Unix "/media/dat_ext4/video/Galaxy Quest.avi"

Nautilus 会自动提供影片路径,因此你的divx-playerbash 脚本命令需要提供一个参数,如下所示

#!/bin/bash
env WINEPREFIX="$HOME/.wine" \
    wine 'C:\windows\command\start.exe' \
    /Unix "$WINEPREFIX/dosdevices/c:/Program Files/DivX/DivX.exe" \
    /Unix "$1"

答案2

这是有可能的,尽管它可能有点复杂。

如果 DivX 作为选项出现在您的文件的“打开方式”列表中,那么您可以轻松地将其设置为默认打开方式。

示例属性窗口

如果没有的话,那么我建议不要费心去处理这个问题。

相关内容