如何设置默认程序?

Hal*_*lim 123 default-programs

如何设置我使用的默认程序?

我试过打开系统信息默认程序? 更改我的程序,但它不起作用,

任何的想法?还是我应该使用终端?

我想用 VLC 媒体播放器替换默认的电影播放器​​,因为当前的电影播放器​​对我没用。

Pau*_*kys 142

还有另一个 GUI 解决方案,它可能对您有用;)

尝试打开要始终由 VLC 播放的文件类型的属性(右键单击 -> 属性)。

选择打开方式选项卡,然后从列表中选择或添加一个(通过从扩展程序列表中选择或简单地键入vlc作为命令)


编辑:

...然后点击 Set as default

在此处输入图片说明

  • 哇,Ubuntu 的 UI 多么愚蠢。*右键单击 -> 打开方式 -> 其他应用程序* _DOES NOT_ 显示“设置为默认值”... *右键单击 -> 属性 -> 打开方式* _DOES_ 显示“设置为默认值”。 (60认同)
  • 添加了此可用性问题的错误报告 - https://bugs.launchpad.net/hundredpapercuts/+bug/1413283 (8认同)
  • 对于未显示在“其他”列表中的应用程序......普通用户不想编辑文件,并且不需要添加额外的 GUI 应用程序来执行此类基本操作,在我的情况下,fritzing 不会作为与 .fzz 文件相关联的应用程序而出现,并且在磁盘上没有指向 fritzing 的按钮,为什么 ubuntu 人认为编辑文本文件比 gui 导航文件夹并指向应用程序更容易接受?...这样 ubuntu 将永远不会到达桌面 (2认同)
  • 但是,当我想使用不是通过 Ubuntu 软件中心或 `apt-get` 安装的应用程序时,我该怎么办?我有来自官方网站的 Blender,但它没有安装(我在 /opt direcotry 中有它,我可以从终端访问它)。我可以向我的 Ubuntu 显示要使用的可执行文件吗? (2认同)

小智 31

如果您真的很绝望,只​​需手动编辑文件~/.config/mimeapps.list.

格式:

application/TYPE=LAUNCHER.desktop
Run Code Online (Sandbox Code Playgroud)

[Default Applications]如果您希望它是默认值,只需在该部分下添加它,或者[Added Associations]如果它不应该是默认值,则添加它。

一些程序仍然使用现在已弃用的~/.local/share/applications/mimeapps.list,但是,最好将其设为符号链接,以便~/.config/mimeapps.list为此具有单个配置:

$ cat ~/.local/share/applications/mimeapps.list >> ~/.config/mimeapps.list
$ rm ~/.local/share/applications/mimeapps.list
$ ln -s ~/.config/mimeapps.list  ~/.local/share/applications/mimeapps.list
Run Code Online (Sandbox Code Playgroud)

  • `mimeapps.list` 可以放在很多目录中,完整搜索路径在:https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html 我更喜欢 `XDG_CONFIG_HOME`只是 `~/.config/mimeapps.list` 并且具有更高的优先级。 (6认同)

Ugo*_*Hed 25

  1. 选择一:打开文件所在的终端并执行以下命令

    mimeopen -d your_video.avi
    
    Run Code Online (Sandbox Code Playgroud)

    有输出:

    Please choose a default application for files of type application/x-ms-dos-executable
    1) vlc
    2) ...
    3) Other...
    
    Run Code Online (Sandbox Code Playgroud)

    使用应用程序 #3
    使用命令:vlc %f

    如果您看到 vlc,请按 1,如果没有,请选择其他解决方案(在这种情况下为 3)。然后键入应用程序的名称,后跟 %f。

  2. 选择 2:通用方式

    mimeopen .avi
    
    Run Code Online (Sandbox Code Playgroud)

    然后执行上面的步骤。


Sma*_*789 20

使用 Ubuntu Tweak - 它有一个文件关联管理器,您可以选择哪些程序打开哪些文件类型。

说明在本网站http://www.omgubuntu.co.uk/2011/12/new-version-of-ubuntu-tweak-released/

最好的安装方式是:

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak
Run Code Online (Sandbox Code Playgroud)

编辑在较新版本的 Ubuntu 中,按照 Paulius 的回答,该选项已添加到“属性”->“打开方式”屏幕。

  • 这应该是最好的答案,因为至少在 Ubuntu 12.10 中,单击“打开方式”选项卡中的“添加”,在“属性”窗口内,只需将所选应用程序添加到“推荐应用程序”组——它不会让您选择另一个程序(例如,Sublime Text 2 或 /usr/bin/subl,因为它是一个预编译包并且它没有注册)。 (2认同)

nau*_*101 7

xdg-mime default <application> <mime-type>

从命令行工作,并立即被所有 GTK 应用程序(可能还有 Qt 应用程序?)服从。例如,要将默认 PDF 阅读器更改为 Okular,请使用:

xdg-mime default okularApplication_pdf.desktop application/pdf

这对于在使用基于 Qt 的系统时更新 GTK 使用的默认应用程序非常有用,而无需安装任何基于 GTK 的应用程序。

编辑:在 *buntu 风格的 linuxes 上,可以与此方法一起使用的应用程序位于/usr/share/applications/*.desktop. 已知的 mimetypes 可以在/usr/share/applications/defaults.list.


Ond*_*žka 6

对于那些寻求为文件扩展名而不是 mimetype 设置应用程序关联的人:

显然,Ubuntu / Linux 间接保留了这一点:

  • 文件扩展名 -> MIME 类型
  • MIME 类型 -> 要打开的应用程序
  • 应用程序 -> 兼容的 MIME 类型列表

对于 Ubuntu (18.x),这些内容在以下内容中进行了描述:

文件扩展名 -> MIME 类型

这是在/usr/share/mime/packages/. 例如:

cat <<EOF | sudo tee /usr/share/mime/packages/staruml.xml
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="application/staruml-project">
    <comment>StarUML project</comment>
    <glob pattern="*.MDJ"/>
    <glob pattern="*.mdj"/>
  </mime-type>
</mime-info>
EOF
Run Code Online (Sandbox Code Playgroud)

MIME 类型 -> 要打开的应用程序

~/.local/share/applications/mimeapps.list这是由其他答案驱动并详细说明的。

[Default Applications]
echo 'application/staruml-project=staruml.desktop' >> ~/.local/share/applications/mimeapps.list
## Or, for global:
echo 'application/staruml-project=staruml.desktop' | sudo tee -a /usr/share/applications/mimeapps.list
Run Code Online (Sandbox Code Playgroud)

应用程序 -> 兼容的 MIME 类型列表

.desktop这是由中的文件驱动的/usr/share/applications/。该文件可以包含一个MimeType=带有分号分隔的 MIME 类型列表的条目。例如,EOG 应用程序有:MimeType=image/bmp;image/gif;image/jpeg;image/jpg;...等等。

cat <<EOF | sudo tee /usr/share/applications/staruml.desktop
[Desktop Entry]
Name=StarUML
Comment=StarUML
GenericName=StarUML
Exec=/sw/prog/StarUML/StarUML-3.1.0-x86_64.AppImage %U
Icon=/sw/prog/StarUML/staruml.png
Type=Application
StartupNotify=false
Categories=Development;Programming;Modeling;UML
MimeType=application/staruml-project;
EOF
Run Code Online (Sandbox Code Playgroud)

这使它成为一个完整的循环。运行后更改生效

sudo update-mime-database /usr/share/mime
Run Code Online (Sandbox Code Playgroud)

并且,对于图标,

sudo gtk-update-icon-cache /usr/share/icons/gnome -f
Run Code Online (Sandbox Code Playgroud)

或者,它可能需要您注销/登录。

然后,你应该能够看到这个:

$ mimetype .mdj
.mdj:  application/staruml-project
Run Code Online (Sandbox Code Playgroud)

参考:https://coderwall.com/p/qjda2q/create-new-mime-type-and-assign-an-icon-to-it-in-ubuntu


小智 5

我在使用 PDF 时遇到了类似的问题;我已经安装了 Adob​​e Reader,但无法将它们作为默认应用程序打开 - 它甚至没有出现在列表中!

我检查了上面列出的 mimeapps.list 文件,它已经在那里列为默认值。

这最终对我有用:

  • 我右键单击 PDF 并选择“属性”。我打开了“打开方式”选项卡。
  • 仍然没有Adobe Reader。
  • 单击“重置”按钮使 Adob​​e 显示为默认值,现在可以使用了。

我想在(非常规)安装后需要“重置”才能将其注册为默认程序。


小智 5

这是我在不使用 Ubuntu Tweak 工具的情况下如何做到的。我的指南包括文件类型关联,因此当右键单击文件以查看属性时,您的应用程序将列在“推荐的应用程序”中。指南如下(我使用的是 13.10 Saucy):

当您看到命令时,当然可以在终端中运行它:)

  1. cd /usr/share/applications/

  2. cp similar_program.desktop name_of_your_program.desktop

  3. gedit name_of_your_program.desktop

    • 离开[Desktop Entry]作为顶线
    • 修改类型(除非相同)
    • 修改名称(可以有空格)
    • 如果您想在其他语言中添加对名称的支持,只需添加一个新行,例如:

      Name[es]=PlayonLinux Cargador de programas de Windows
      
      Run Code Online (Sandbox Code Playgroud)
    • 修改Exec(应该只是说yourprogram %f 只要它是程序中的默认安装/usr/bin

    • 修改MimeType(除非相同)
    • 修改Icon(再次,如果它是安装到 ( /usr/bin)的默认程序,这应该只是说Icon=name_ of_your_program
    • NoDisplay=true
    • StartupNotify=true
  4. gedit ~/.local/share/applications/mimeapps.list

    在我的例子中,我想添加 PlayonLinux 来选择作为打开.exe文件的程序,而不是总是使用 WINE。但我也希望 Wine 出现。

    在这种情况下,您可以[Default Applications]单独保留顶部部分。然后找到下的行[Added Associations],并将其更改为,在我的实例中

    application/x-ms-dos-executable=wine.desktop;
    
    Run Code Online (Sandbox Code Playgroud)

    application/x-ms-dos-executable=wine.desktop;playonlinux.desktop;
    
    Run Code Online (Sandbox Code Playgroud)

    这样,当我尝试加载 Windows.exe文件时,它们两个选项都会显示出来。

如果您右键单击文件的属性,例如说我最终确实希望将 PlayonLinux 设为 Windows.exe文件的默认值,我需要做的就是将其设置为默认值。它会改变。您可以选中mimeapps.list( ~/.local/share/applications/mimeapps.list) 进行仔细检查,现在您将看到它已替换 下的 WINE [Default Applications]


Pau*_*rez 5

通过 CLI 发现和更改默认程序

由于naught101的答案仅呈现了我所做的所有步骤的最后一点,并用我拥有的所有额外位补充/改进了他的帖子/答案,因此我认为与他原来的答案有太大差异。所以这是另一个答案 xD 以及我所做的步骤:

  1. 打开终端:

    • A)打开终端( Ctrl+Alt+t) 并导航到您有兴趣更改默认应用程序的文件所在的目录。

    或者

    • B) 在Nautilus中打开目录后,单击文件夹名称的“向下箭头” ,然后选择“在终端中打开”选项。终端窗口将出现在该目录中作为基础。

      Nautilius:在终端中打开文件夹

  2. 发现文件的 MimeType:使用xdg-mime工具找出与您的文件类型关联的 MimeType

    $ xdg-mime query filetype testimg.png
    image/png
    
    Run Code Online (Sandbox Code Playgroud)
  3. 发现当前关联的默认程序:供参考(如果您想恢复到原来的状态):您可以查询当前与此 mime 类型关联的默认应用程序。

    注意:您可以使用本地环境调试参数“ XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query default image/png”来获取扩展信息。

    $ xdg-mime query default image/png 
    org.gnome.eog.desktop
    
    Run Code Online (Sandbox Code Playgroud)
  4. 发现支持特定 MimeType 的程序:现在使用find命令,我们搜索.desktop文件(已安装软件的快捷方式),这些文件表明它们支持此 MimeType

    -exec <命令> '{}' ';' 执行grep在 find 找到的.desktop文件的每个匹配项中搜索文本“ image/png ” 。

    $ find /usr/ ~/ /snap/ /var/ /etc/ -iname "*.desktop" -type f -exec grep -il image/png '{}' ';' 2> /dev/null
    /usr/share/applications/org.gnome.eog.desktop
    /usr/share/applications/display-im6.q16.desktop
    /usr/share/applications/firefox.desktop
    /snap/pinta-james-carroll/4/meta/gui/pinta.desktop
    /snap/pinta-james-carroll/4/usr/share/applications/pinta.desktop
    /snap/pinta-james-carroll/5/meta/gui/pinta.desktop
    /snap/pinta-james-carroll/5/usr/share/applications/pinta.desktop
    /snap/kde-frameworks-5-core18/32/usr/share/kf5/kmoretools/presets-kmoretools/shutter.desktop
    /var/lib/snapd/desktop/applications/pinta-james-carroll_pinta.desktop
    
    Run Code Online (Sandbox Code Playgroud)
  5. 设置新的默认程序:识别与.desktop要设置为默认的软件关联的快捷方式并进行设置。

    $ xdg-mime default pinta.desktop image/png
    
    Run Code Online (Sandbox Code Playgroud)


Ice*_*ake 1

如果“系统信息”>“默认程序”不起作用,则您可以尝试右键单击要播放的任何视频/电影文件,然后单击“打开方式”,然后选择“VLC”。

如果您想了解更多详细信息,这可能会对您有所帮助:http ://www.johannes-eva.net/change-the-default-application-ubuntu-linux