我想从命令行设置默认视频播放器。xvideos
举例来说,我尝试xvideos
在文件中用以下内容替换对 Totem 的所有引用defaults.list
:
mv /usr/share/applications/defaults.list /usr/share/applications/defaults.list.old.totem
sed 's/Totem/xvideos/' /usr/share/applications/defaults.list.old.totem > /usr/share/applications/defaults.list
该文件的内容现在如下所示:
$ cat /usr/share/applications/defaults.list | grep xvideos
application/vnd.rn-realmedia=org.gnome.xvideos.desktop
application/x-extension-m4a=org.gnome.xvideos.desktop
application/x-extension-mp4=org.gnome.xvideos.desktop
application/x-matroska=org.gnome.xvideos.desktop
application/x-shockwave-flash=org.gnome.xvideos.desktop
audio/3gpp=org.gnome.xvideos.desktop
audio/ac3=org.gnome.xvideos.desktop
audio/AMR=org.gnome.xvideos.desktop
audio/AMR-WB=org.gnome.xvideos.desktop
audio/basic=org.gnome.xvideos.desktop
audio/midi=org.gnome.xvideos.desktop
audio/mp4=org.gnome.xvideos.desktop
audio/mpeg=org.gnome.xvideos.desktop
audio/mpegurl=org.gnome.xvideos.desktop
audio/prs.sid=org.gnome.xvideos.desktop
audio/vnd.rn-realaudio=org.gnome.xvideos.desktop
audio/x-ape=org.gnome.xvideos.desktop
audio/x-gsm=org.gnome.xvideos.desktop
audio/x-it=org.gnome.xvideos.desktop
audio/x-m4a=org.gnome.xvideos.desktop
audio/x-matroska=org.gnome.xvideos.desktop
audio/x-mod=org.gnome.xvideos.desktop
audio/x-ms-asf=org.gnome.xvideos.desktop
audio/x-ms-asx=org.gnome.xvideos.desktop
audio/x-ms-wax=org.gnome.xvideos.desktop
audio/x-ms-wma=org.gnome.xvideos.desktop
audio/x-musepack=org.gnome.xvideos.desktop
audio/x-pn-aiff=org.gnome.xvideos.desktop
audio/x-pn-au=org.gnome.xvideos.desktop
audio/x-pn-realaudio=org.gnome.xvideos.desktop
audio/x-pn-realaudio-plugin=org.gnome.xvideos.desktop
audio/x-pn-wav=org.gnome.xvideos.desktop
audio/x-pn-windows-acm=org.gnome.xvideos.desktop
audio/x-realaudio=org.gnome.xvideos.desktop
audio/x-real-audio=org.gnome.xvideos.desktop
audio/x-sbc=org.gnome.xvideos.desktop
audio/x-speex=org.gnome.xvideos.desktop
audio/x-tta=org.gnome.xvideos.desktop
audio/x-wav=org.gnome.xvideos.desktop
audio/x-wavpack=org.gnome.xvideos.desktop
audio/x-xm=org.gnome.xvideos.desktop
image/vnd.rn-realpix=org.gnome.xvideos.desktop
misc/ultravox=org.gnome.xvideos.desktop
video/3gpp=org.gnome.xvideos.desktop
video/dv=org.gnome.xvideos.desktop
video/fli=org.gnome.xvideos.desktop
video/flv=org.gnome.xvideos.desktop
video/mp2t=org.gnome.xvideos.desktop
video/mp4=org.gnome.xvideos.desktop
video/mp4v-es=org.gnome.xvideos.desktop
video/mpeg=org.gnome.xvideos.desktop
video/msvideo=org.gnome.xvideos.desktop
video/ogg=org.gnome.xvideos.desktop
video/quicktime=org.gnome.xvideos.desktop
video/vivo=org.gnome.xvideos.desktop
video/vnd.divx=org.gnome.xvideos.desktop
video/vnd.rn-realvideo=org.gnome.xvideos.desktop
video/vnd.vivo=org.gnome.xvideos.desktop
video/webm=org.gnome.xvideos.desktop
video/x-anim=org.gnome.xvideos.desktop
video/x-avi=org.gnome.xvideos.desktop
video/x-flc=org.gnome.xvideos.desktop
video/x-fli=org.gnome.xvideos.desktop
video/x-flic=org.gnome.xvideos.desktop
video/x-flv=org.gnome.xvideos.desktop
video/x-m4v=org.gnome.xvideos.desktop
video/x-matroska=org.gnome.xvideos.desktop
video/x-mpeg=org.gnome.xvideos.desktop
video/x-ms-asf=org.gnome.xvideos.desktop
video/x-ms-asx=org.gnome.xvideos.desktop
video/x-msvideo=org.gnome.xvideos.desktop
video/x-ms-wm=org.gnome.xvideos.desktop
video/x-ms-wmv=org.gnome.xvideos.desktop
video/x-ms-wmx=org.gnome.xvideos.desktop
video/x-ms-wvx=org.gnome.xvideos.desktop
video/x-nsv=org.gnome.xvideos.desktop
video/x-ogm+ogg=org.gnome.xvideos.desktop
video/x-theora+ogg=org.gnome.xvideos.desktop
video/x-totem-stream=org.gnome.xvideos.desktop
x-content/video-dvd=org.gnome.xvideos.desktop
x-content/video-vcd=org.gnome.xvideos.desktop
x-content/video-svcd=org.gnome.xvideos.desktop
但是,如果我在文件管理器中双击电影文件,视频仍默认使用 Totem 打开。
还有什么其他方法可以实现这一目标?
答案1
经过大约一个小时的折腾,我终于让它正常工作了,我运行的是 Ubuntu 16.04.1,我没有xvideos
安装 vlc,所以你可以尝试简单地替换vlc
你选择的播放器。
这是我在提示符下运行的命令
% sed -n '
1i[Default Applications]
/^video/{
s/Totem/vlc/
s/org\.gnome\.//p
}' /usr/share/applications/defaults.list > ~/.local/share/applications/defaults.list
运行上述命令会产生
% cat ~/.local/share/applications/defaults.list
[Default Applications]
video/3gpp=vlc.desktop
video/dv=vlc.desktop
video/fli=vlc.desktop
video/flv=vlc.desktop
video/mp2t=vlc.desktop
video/mp4=vlc.desktop
video/mp4v-es=vlc.desktop
video/mpeg=vlc.desktop
video/msvideo=vlc.desktop
video/ogg=vlc.desktop
video/quicktime=vlc.desktop
video/vivo=vlc.desktop
video/vnd.divx=vlc.desktop
video/vnd.rn-realvideo=vlc.desktop
video/vnd.vivo=vlc.desktop
video/webm=vlc.desktop
video/x-anim=vlc.desktop
video/x-avi=vlc.desktop
video/x-flc=vlc.desktop
video/x-fli=vlc.desktop
video/x-flic=vlc.desktop
video/x-flv=vlc.desktop
video/x-m4v=vlc.desktop
video/x-matroska=vlc.desktop
video/x-mpeg=vlc.desktop
video/x-ms-asf=vlc.desktop
video/x-ms-asx=vlc.desktop
video/x-msvideo=vlc.desktop
video/x-ms-wm=vlc.desktop
video/x-ms-wmv=vlc.desktop
video/x-ms-wmx=vlc.desktop
video/x-ms-wvx=vlc.desktop
video/x-nsv=vlc.desktop
video/x-ogm+ogg=vlc.desktop
video/x-theora+ogg=vlc.desktop
video/x-totem-stream=vlc.desktop
现在转到 nautilus 并双击mp4
启动的文件vlc
。我不需要点击F5或注销,它似乎~/.local/share/applications/defaults.list
在每次调用时都会被读取。
答案2
在终端中,首先获取变量中对 totem.desktop 的所有引用,然后迭代变量以设置默认值。例如,如果您所需的应用程序 .desktop 文件是xvideo.desktop
,请/usr/share/applications/
在终端中执行这些操作
videos="$(cat defaults.list | grep Totem.desktop | cut -d '=' -f 1)"
for i in "$videos"; do xdg-mime default xvideo.desktop "$i"; done
不要忘记按 刷新桌面F5
,尽管这可能不是必需的。如果仍然没有改变,请退出系统并重新登录。
答案3
从 Ubuntu 18.04 开始,当您在“设置”中更改默认应用程序或在“文件中”更改文件关联时,它会存储在 中~/.config/mimeapps.list
。要以与 GUI 相同的方式将所有视频文件从 Totem 更改为 VLC,您可以使用:
sed -n '1p; s/org\.gnome\.Totem\.desktop/vlc\.desktop/p' /usr/share/applications/defaults.list > ~/.config/mimeapps.list
sed '1s/\[Default Applications\]/\n\[Added Associations\]/; 2,$s/$/;/' ~/.config/mimeapps.list >> ~/.config/mimeapps.list